Quickstart
The demo key is restricted to Instagram (389801252) in the United States. It is safe to use for trying the endpoint. Translation is disabled for demo requests.
Authentication
Send an API key using the X-API-Key header. For browser requests, the same key can be supplied as the optional api_key query parameter. When both are present, the header takes precedence.
Email [email protected] with a short description of your project.
Endpoint and parameters
GET /v1/reviews/{country}/{app_id}
In an App Store URL such as apps.apple.com/us/app/instagram/id389801252, the number after id is the app ID.
| Parameter | Location | Required | Description |
|---|---|---|---|
country | Path | Yes | Supported lowercase two-letter country code. See /countries. |
app_id | Path | Yes | Numeric App Store ID, up to 20 digits. |
page | Query | No | Zero-based starting page. Defaults to 0. |
pages | Query | No | Consecutive pages to fetch, from 1 to 10. Defaults to 1. |
since | Query | No | Return reviews after an ISO 8601 timestamp. Start at page=0. |
translate | Query | No | Set to en to translate reviews to English. |
api_key | Query | No | Alternative to the preferred X-API-Key header. |
Response
The response includes localized app metadata, normalized reviews, and pagination state. Reviews are sorted newest first.
If app metadata cannot be loaded, app is null while available reviews are still returned. Individual reviews do not include an app-version field because the source does not provide one.
English translations
Add ?translate=en. Original title and text fields remain unchanged; translated content is additive and cached.
English reviews return translation: null. If translation is temporarily unavailable, the request succeeds with original text and a warning.
Pagination and incremental checks
Each page contains up to 50 reviews. One request can fetch up to 10 consecutive pages.
- 1Start at page zero
Omit
pageor set it to0. Choose the number of pages withpages. - 2Follow
next_pageWhen it contains a number, pass that number as
pagein the next request. - 3Stop at
nullThe available review list is complete.
Only fetch reviews since your last check
Send since with page zero. The conditional all_reviews_since_returned field is true when the requested period was fully covered. If it is false, continue from next_page when present.
Errors and warnings
Errors use the JSON shape { "error": "Message" }.
400- Invalid request parameter
401- Missing or invalid API key
403- API key outside its allowed scope
404- Unknown endpoint
500- Unexpected internal error
502- Review source unavailable or returned invalid data
504- The review source did not respond before the request deadline
Warning codes
Successful responses omit warnings unless context is required.
translation_unavailable- English translation failed temporarily; original reviews were returned.