GooglePlay API endpoint

Retrieve Google Play reviews

Returns one or more pages of app reviews. Set `paginate=true` to fetch only the requested page.

GETapiKey3 credits/requestgoogleplay.reviewsResponseDoc/googleplay/reviews

Parameters

NameInTypeRequiredEnumExampleDescription
app_idquerystringYescom.openai.chatgptGoogle Play app id
sortquerystringNonewestSort: helpfulness, newest, rating
numqueryintegerNo100Number of reviews
countryquerystringNousTwo-letter country code
langquerystringNoenTwo-letter language code
paginatequerybooleanNoOnly fetch the requested page
next_pagination_tokenquerystringNoToken from a previous response
x-api-keyheaderstringYesAPI key required

Authentication

Send your scraping API key in the x-api-key header. Use the console API Keys page to rotate or select the active key.

Billing

Endpoint usage is metered in credits. The plan prices, included credits, limits, and overage rates below match the active backend billing configuration.

Credit cost
3 credits/request
Charged response
Successful 2xx responses
PlanPriceIncluded creditsDaily capRate limitOverage
Free$0/mo2,000500 daily credits5/minNo overage
Starter$9/mo20,0005,000 daily credits15/min$0.75/1,000 overage credits when enabled
Growth$29/mo100,00025,000 daily credits45/min$0.45/1,000 overage credits when enabled
Pro$79/mo400,000No daily cap120/min$0.30/1,000 overage credits
Business$199/mo1,200,000No daily cap300/min$0.20/1,000 overage credits
Enterprise$499/mo5,000,000No daily cap1,000/min$0.12/1,000 overage credits

MCP

MCP URL
https://mcp.crawlora.net/mcp
Tool name
googleplay.reviews
Transport
Streamable HTTP
Docs resource
docs://index

Failure responses

StatusDescriptionSchema
400Bad Request#/definitions/app.Response
404Not Found#/definitions/app.Response
429Too Many Requests#/definitions/app.Response
500Internal Server Error#/definitions/app.Response

Example response

{
  "code": 200,
  "msg": "OK",
  "data": [
    {
      "id": "review-1",
      "user_name": "Play User",
      "score": 5,
      "content": "Very useful for daily work.",
      "thumbs_up_count": 42
    }
  ]
}

Request schema

No body schema

Response schema

#/definitions/googleplay.reviewsResponseDoc

FieldTypeRequiredEnumBoundsExampleDescription
codeintegerNo200
datagoogleplay.ReviewsResultNo
data.dataarrayNo
data.data[].criteriasarrayNo
data.data[].criterias[].criteriastringNoAccuracy
data.data[].criterias[].ratingintegerNo5
data.data[].datestringNo2026-02-18T12:34:56Z
data.data[].idstringNo5b4e4d89-ce22-4f13-b676-bb3a7aafe278
data.data[].reply_datestringNo2026-02-20T08:00:00Z
data.data[].reply_textstringNoThanks for the feedback!
data.data[].scoreintegerNo5
data.data[].score_textstringNo5
data.data[].textstringNoVery helpful for quick answers and brainstorming.
data.data[].thumbs_upintegerNo124
data.data[].titlestringNoGreat app
data.data[].urlstringNohttps://play.google.com/store/apps/details?id=com.openai.chatgpt&reviewId=5b4e4d89-ce22-4f13-b676-bb3a7aafe278
data.data[].user_imagestringNohttps://play-lh.googleusercontent.com/a-/ALV-UjVsample
data.data[].user_namestringNoJane Doe
data.data[].versionstringNo1.2026.056
data.next_pagination_tokenstringNoCscBIr4BAb_yELvAqtSacgExc3y_bO88_b1Q
msgstringNoOK

Example request

curl -X GET "https://api.crawlora.net/api/v1/googleplay/reviews?app_id=com.openai.chatgpt&sort=newest&num=100&country=us&lang=en" -H "x-api-key: <api-key>"

TypeScript fetch

const url = new URL("https://api.crawlora.net/api/v1/googleplay/reviews");
url.searchParams.set("app_id", "com.openai.chatgpt");
url.searchParams.set("sort", "newest");
url.searchParams.set("num", "100");
url.searchParams.set("country", "us");
url.searchParams.set("lang", "en");
const headers = new Headers();
headers.set("x-api-key", "<api-key>");
const response = await fetch(url, {
  method: "GET",
  headers,
});
const payload = await response.json();