Developer tools
Build on the index
The catalogue, its history and its chart snapshots are available over HTTP as JSON. No SDK to embed, no key to request for the public endpoints, and the same data the site itself renders from.
- Listings available
- 155
- Markets in the charts
- 20
- Response format
- JSON
- Authentication
- Only for writes
Endpoints
Everything here is a normal WordPress REST route, so cookie or application-password authentication works the way it does in any other WordPress project.
| Method | Path | Access |
|---|---|---|
| GET |
/wp-json/appcompass/v1/suggest?q={term}
Autocomplete across listings and developers. Returns titles, package names, categories and install buckets.
|
Public |
| POST |
/wp-json/appcompass/v1/watchlist
Adds a listing to the signed-in member's watchlist. Takes an app_id.
|
Signed in |
| DELETE |
/wp-json/appcompass/v1/watchlist
Removes a listing from the watchlist.
|
Signed in |
| GET |
/wp-json/wp/v2/ac_app
The catalogue itself, through the standard WordPress REST collection: paging, search and ordering all behave as they do everywhere else.
|
Public |
What a listing looks like
The shape of one record, with a real listing's values.
{
"package": "com.tessellate.blossommatch",
"title": "Blossom Match",
"tagline": "Match-three with hand-made levels",
"developer": "Tessellate Games",
"category": "casual",
"is_game": true,
"rating": 4.84,
"rating_count": 25082313,
"installs": 1848459000,
"price": 0,
"currency": "USD",
"contains_ads": true,
"has_iap": true,
"released_at": "2021-09-05",
"play_url": "https://play.google.com/store/apps/details?id=com.tessellate.blossommatch"
}
Things worth knowing before you build
The limits and the caveats, up front rather than in a footnote.
The figures are estimates
Installs, growth and chart positions are modelled from the index. They are good for direction and scale and wrong for anything that needs an exact number. Google Play is the source of truth for a listing's own figures.
No binaries, ever
The API returns metadata and links. It does not serve APK files, and it has no endpoint that would. Install links point at Google Play.
History is daily, then weekly
The recent window is stored a day at a time; older history thins to weekly. A chart over two years has fewer points at the left-hand end, which is deliberate rather than missing data.
Writes need a signed-in user
Read endpoints are open. Anything that changes state — the watchlist — requires authentication and is scoped to that user's own records.
Snapshots, not a live feed
Chart positions move when a new snapshot is built, not continuously. Polling more often than daily will return the same rows.
It is WordPress underneath
Listings are a custom post type and categories a taxonomy, so the standard WP REST collection, its filters and its pagination headers all work without anything special.
Have a look at a response
The search endpoint takes a term and needs no key. Open it in a browser and you will see exactly what the site's own search box receives.
Appcompass is not affiliated with Google, and Android and Google Play are trademarks of Google LLC.