Keywords competitor apps rank for and ours does not
https://seolyticize.com /api/v1/tools/get_app_keyword_gap The store search keywords competitor apps rank for and the app does not, with search volume and each competitor's rank, from DataForSEO Labs (keywords for app; US English is what the vendor covers). With no competitors given, the vendor's own list of the app's competitors (top five) is used. Difficulty is not published for app keywords, so the best competitor rank stands in. Answers 'which keywords do rival apps rank for that we don't'. One read per app. A paid lookup on the client's account (spend says how much); quote it with estimate_cost.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredstorestringrequiredappIdstringrequiredcompetitorsstring[]locationCodeintegerlanguageCodestringlimitintegermaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"store": "app_store",
"appId": "string",
"competitors": [],
"locationCode": 2840,
"languageCode": "en",
"limit": 200,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/get_app_keyword_gap" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","store":"app_store","appId":"string","competitors":[],"locationCode":2840,"languageCode":"en","limit":200,"maxCostMicros":0,"dryRun":true}'TypeScript
Python
Go
PHP
Ruby
Java
Responses
data, and its meta.Example
{
"data": {},
"meta": {
"requestId": "string",
"costMicros": 0,
"cached": true,
"cachedFrom": "string",
"dataAsOf": "string",
"sources": [
"string"
],
"partial": true,
"next": [
{
"tool": "string",
"args": {},
"why": "string"
}
],
"nextCursor": "string",
"dryRun": true
}
}Schema
datarequiredmetaobjectrequiredShow child parameters
requestIdstringrequiredcostMicrosintegerrequiredcachedbooleanrequiredcachedFromstringdataAsOfstringsourcesstring[]partialbooleanrequirednextobject[]requiredShow child parameters
toolstringargsobjectwhystringnextCursorstringdryRunbooleanX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerX-Request-IdstringExample
{
"error": "string",
"code": "string",
"next": "string",
"requestId": "string"
}Schema
errorstringrequiredcodestringnextstringrequestIdstringX-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/get_app_keyword_gap
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger