Keyword auto-suggestions

Top 100 keywords for 1 app for 1 country for 1 store type sorted by Estimated Daily Impressions.
Paging by 100 keywords is available.

GET /api/keyword-auto-suggestions

Query parameters

Mandatory

  • storetype - store type (appstore or googleplay)

  • storeid - store id of app (for example com.google.android.apps.maps or 585027354)

  • country - country ISO code (ex.: US, RU, GB etc.)

Optional

  • timestamp (default: now) - timestamp of search results in ISO format (YYYY-MM-DDThh:mmTZD, ex.: 2017-07-16T19:20%2B03:00) Note that plus sign is replaced with %2B

  • page (default: 1) - results page

  • with_stats boolean (default: false) - include keyword stats

  • with_top5_meta boolean (default: false) - include top5 apps stats

  • limit integer in range 100..1000 (default: 100) - show maximum limit records in results

Example request

GET /api/keyword-auto-suggestions?country=CH&storetype=appstore&storeid=1140806271

If we have all required information for this request, you will get following response:

Status: 200 OK

if with_stats=false(default)

{
    "id": <string>,  // request id for technical support purposes
    "data": {
        "storetype": <string>,  // same as specified in query params,
        "storeid": <string>,  // same as specified in query params,
        "country": <string>,  // same as specified in query params,
        "timestamp": <string>,  // ISO format timestamp of results,
        "results": {
            "page": <integer>,  // current page of results,
            "suggestions": [<string>]  // list of suggested keywords
        }
    }
}

if with_stats=true works only with timestamp == now() otherwise returns 204 No Data

{
    "id": <string>,  // request id for technical support purposes
    "data": {
        "storetype": <string>,  // same as specified in query params,
        "storeid": <string>,  // same as specified in query params,
        "country": <string>,  // same as specified in query params,
        "timestamp": <string>,  // ISO format timestamp of results,
        "results": {
            "page": <integer>,  // current page of results,
            "suggestions": [{  // list of suggested keywords with keyword stats
                "keyword": <string>,
                "timestamp": <string>,  // ISO format timestamp of keyword info
                "position": <integer>,  // keyword rank for current app
                "popularity": <integer>,  // search ads popularity
                "top5_apps": [<string>],  // ids of top-5 apps for given keyword
                "users_per_day": <integer>  // estimated daily impressions for given keyword
            }]
        }
    }
}

For each keyword included in response, additional credits will be withdrawn for each keyword in results set according to price of Keyword stats request.

if with_top5_meta=true works only with with_stats=true AND, subsequently, timestamp == now()

{
    "id": <string>,  // request id for technical support purposes
    "data": {
        "storetype": <string>,  // same as specified in query params,
        "storeid": <string>,  // same as specified in query params,
        "country": <string>,  // same as specified in query params,
        "timestamp": <string>,  // ISO format timestamp of results,
        "results": {
            "page": <integer>,  // current page of results,
            "suggestions": [{  // list of suggested keywords with keyword stats
                "keyword": <string>,
                "timestamp": <string>,  // ISO format timestamp of keyword info
                "position": <integer>,  // keyword rank for current app
                "popularity": <integer>,  // search ads popularity
                "top5_apps": [{  // top-5 apps for given keyword
                    "storeid": <string>,
                    "logo": <string>,  // URL
                    "name": <string>,
                    "developer": <string>,
                    "rating": <float>,
                    "price": <string>
                }],
                "users_per_day": <integer>  // estimated daily impressions for given keyword
            }]
        }
    }
}

For each application info included in top5_apps list, additional credits will be withdrawn according to price of App meta request.

If we need to download some additional data from store’s servers, you will get following response:

Status: 202 Accepted

{
    "key": <string>,  //request key for technical support purposes
    "detail": "Result is preparing, try in 30 seconds later"
}

So, try in 30 seconds later and if response will be ready you will get full data.

If store’s servers got no required data or we don’t have required data, you will get following response:

Status: 204 No Content

You may try later to get expected data.