Keyword suggestions

Returns store suggestions by keyword (query)

GET /api/keyword-suggestions

Query parameters

Mandatory

  • query - keyword to search for

  • storetype - store type (appstore or googleplay)

  • 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

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

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

Example request

GET /api/keyword-suggestions?country=CH&storetype=appstore&query=maps

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": {
        "query": <string>,  // same as specified in query params,
        "storetype": <string>,  // same as specified in query params,
        "country": <string>,  // same as specified in query params,
        "timestamp": <string>,  // ISO format timestamp of results,
        "results": {
            "suggestions": [<string>]
        }
    }
}

if with_stats=true

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

if with_top5_meta=true(only when with_stats=true)

{
    "id": <string>,  // request id for technical support purposes
    "data": {
        "query": <string>,  // same as specified in query params,
        "storetype": <string>,  // same as specified in query params,
        "country": <string>,  // same as specified in query params,
        "timestamp": <string>,  // ISO format timestamp of results,
        "results": {
            "suggestions": [{  // list of suggested keywords with keyword stats
                "keyword": <string>,
                "timestamp": <string>,  // ISO format timestamp of keyword info
                "popularity": <integer>,  // search ads popularity (appstore only)
                "priority": <integer>,  // appstore priority (appstore only)
                "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
            }]
        }
    }
}

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.