What an app's reviews keep saying
https://seolyticize.com /api/v1/tools/mine_app_reviews Reads an app's recent reviews and mines them: the rating split, themes (crashes and bugs, performance, sign-in, ads, pricing and subscriptions, support, design, features) with how often each is raised and how negative, the phrases most repeated in 1–2 star reviews and in 4–5 star ones, and the feature requests. Works on a competitor's app as well as the client's. App Store reviews come free from Apple's public reviews feed (most recent 500); Google Play reviews through DataForSEO's App Data, queued: pending with a taskId to pass again when not back within half a minute. Answers 'what do users complain about', 'what do they love' and 'what are they asking for'. App Store: free. Google Play: A paid lookup on the client's account (spend says how much); quote it with estimate_cost.
Parameters
Idempotency-KeystringheaderRequest body
application/json
clientIdstringrequiredstorestringrequiredappIdstringrequiredlocationCodeintegerlanguageCodestringlimitintegertaskIdstringmaxCostMicrosintegerdryRunboolean{
"clientId": "string",
"store": "app_store",
"appId": "string",
"locationCode": 2840,
"languageCode": "en",
"limit": 200,
"taskId": null,
"maxCostMicros": 0,
"dryRun": true
}Code samples
cURL
curl -X POST "https://seolyticize.com/api/v1/tools/mine_app_reviews" \
-H "Authorization: Bearer $SEOLYTICIZE_API_KEY" \
-H "Idempotency-Key: <value>" \
-H "Content-Type: application/json" \
-d '{"clientId":"string","store":"app_store","appId":"string","locationCode":2840,"languageCode":"en","limit":200,"taskId":null,"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/mine_app_reviews
WWW-AuthenticatestringSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-ResetintegerRetry-AfterintegerSame as 400 · POST /api/v1/tools/mine_app_reviews
X-RateLimit-LimitintegerX-RateLimit-RemainingintegerX-RateLimit-Resetinteger