Apple App Store Inbound Keyword API
Explore Google organic keywords leading to apps.apple.com by month and page, with clicks, search volume, CPC, difficulty, intent and Apple App Store destination URLs.
Explore Google organic keywords leading to apps.apple.com by month and page, with clicks, search volume, CPC, difficulty, intent and Apple App Store destination URLs.
Open the product page and API TesterWorkflow
First call the free batches endpoint and read months from data.result["apps.apple.com"], then query keywords with month and page. The host is fixed to apps.apple.com; host and custom domains are not accepted. Both endpoints require an API key and follow account rate limits.
Available months and status
GET https://api.goanyapi.com/api/v1/app-store-inbound-keyword/batches| Parameter | Rules |
|---|---|
| — | No parameters. |
This endpoint is free and does not consume credits.
curl "https://goanyapi.com/api/v1/app-store-inbound-keyword/batches" \
-H "Authorization: Bearer $GOANYAPI_API_KEY"SUCCESS means update complete; RUNNING means updating. month identifies the data month.
The batch page field is the total number of keyword pages available for that month. For RUNNING batches, this total may change as the update progresses.
Paginated keywords
GET https://api.goanyapi.com/api/v1/app-store-inbound-keyword/list| Parameter | Rules |
|---|---|
month | Required. Month in YYYY-MM format. Use a month returned by goanyapi_app_store_inbound_keyword_batches. |
page | Optional. One-based page. Each nonempty successful page is billed separately; empty pages and failures are free. |
With the current configuration, each successful request costs 1 credit.
curl "https://goanyapi.com/api/v1/app-store-inbound-keyword/list?month=2026-09&page=1" \
-H "Authorization: Bearer $GOANYAPI_API_KEY"Each request retrieves one page; page defaults to 1. Nonempty successful pages use the current database rate. Empty arrays and failures are free; repeated requests are billed separately. The Tester uses available months as a keyword-list filter and loads the choices through the free batches query. Changing the month or page does not request the keyword list. Do not infer total keywords from one page or the batch page field.
Response structure and fields
Successful responses use code: "ok". data contains endpoint, query, result, creditsUsed and remainingCredits. Batch result is an object keyed by apps.apple.com; keyword result is an array.
| JSON |
|---|
data.result[].keyword |
data.result[].clicks |
data.result[].organic_clicks |
data.result[].desktop_clicks |
data.result[].previous_clicks_pop |
data.result[].share |
data.result[].previous_share_pop |
data.result[].clicks_change |
data.result[].change_ratio |
data.result[].change_state |
data.result[].keyword_volume |
data.result[].keyword_volume_average |
data.result[].zero_clicks_share |
data.result[].cpc |
data.result[].cpc_low_bid |
data.result[].cpc_high_bid |
data.result[].difficulty |
data.result[].competition |
data.result[].primary_intent |
data.result[].top_url |
data.result[].url_count |
data.result[].latest_keyword_serp_date |
data.result[].keyword_window_volume |
data.result[].previous_volume |
data.result[].volume_change_state |
data.result[].serp_features |
Public business fields preserve actual values, null, empty strings, empty arrays and absent fields. No default values are invented and records are not dropped for missing fields. top_url preserves its returned address. Clicks, volume, CPC and difficulty are returned metrics, not Apple App Store internal search, app installs or Apple attribution.
Errors and billing
Invalid parameters return 400; missing authentication 401; insufficient credits 402; rate limits 429; request failures 502; missing pricing 503. HTTP failures, invalid JSON and explicit business failures do not charge query credits. Empty business fields alone are not failures. HEAD returns 405 without executing a query.