The AppWanderer Data API
Everything we compute, over a simple JSON API: record boards, per-app metrics, publisher catalogues, category reports, and the data studies. First-party, dated, and graded, the same figures behind every page. Free and rate-limited so you can build tools, research, dashboards, and bots on top of it.
Access is by application right now. We review every request and issue keys as we onboard, starting with research, journalism, and non-commercial projects. There is no self-serve signup yet, so unkeyed requests return 401. Apply below, it takes a minute and it tells us what to prioritise.
Quickstart
Base URL: https://appwanderer.com/api/v1. All responses are JSON. Once you have a key:
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://appwanderer.com/api/v1/record/biggest-app?limit=10"
Authentication
Send your key as a bearer token (or the X-API-Key header). Keys are issued per application during the beta. Without a valid key, every endpoint returns:
HTTP/2 401
{
"error": "authentication_required",
"message": "A valid API key is required. The AppWanderer data API is in
private beta; apply for a free key at https://appwanderer.com/data.",
"docs": "https://appwanderer.com/data"
}
Conventions
- Versioning — the API is path-versioned (
/api/v1). Breaking changes ship under a new version; additive changes do not. - Envelope — list endpoints return
{ "data": [ ... ], "meta": { "page", "per_page", "total" } }; single-resource endpoints return the object directly. - Pagination —
?page=(1-based) and?limit=(default 50, max 200) where a list is paged;metacarries the totals. - Dates — ISO
YYYY-MM-DD; every computed figure carries acomputed_atso you know its age. - Errors — a JSON
{ "error", "message", "docs" }with the matching HTTP status (401missing or invalid key,404unknown resource,429rate limited).
Endpoints
Records
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/records |
Every published record board (id, title, unit, computed_at). |
| GET | /api/v1/record/{slug} |
One board with its ranked entries. |
| GET | /api/v1/movers |
Biggest position changes across boards since the last snapshot. |
Apps
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/apps |
Query the index by facets. |
| GET | /api/v1/app/{id} |
One app: public metadata plus our computed metrics (rating, size, price, languages, age, category percentiles). |
| GET | /api/v1/search |
Typeahead search over app + publisher names. |
Publishers
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/publishers |
Publisher directory, ranked. |
| GET | /api/v1/developer/{id} |
One publisher and its catalogue (paged). |
Categories
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/categories |
All category summaries (counts, medians, shares). |
| GET | /api/v1/category/{slug} |
One category report: pricing, concentration, leaders, medians. |
Studies
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/studies |
The studies index. |
| GET | /api/v1/studies/{slug} |
A study's computed aggregates. |
Almanac
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/almanac |
Recent weekly/daily digest editions. |
| GET | /api/v1/almanac/{week} |
One edition. |
{
"slug": "biggest-app",
"title": "The Biggest App",
"unit": "bytes",
"computed_at": "2026-08-07",
"considered": 000000,
"entries": [
{ "rank": 1, "app_id": 000000000, "name": "...", "developer": "...", "value": "142 GB" }
]
}
Rate limits
Each key has a request budget stated in your approval (a typical beta key is a few thousand requests a day). Responses carry X-RateLimit-Limit and X-RateLimit-Remaining; exceeding it returns 429. Cache where you can, the underlying figures update on a schedule, not per second.
Fair use & terms
- Free for research, journalism, and non-commercial use during the beta; commercial terms on request.
- Attribution — credit “AppWanderer” with a link wherever you display the data.
- Provided as-is under our terms of use. We do not sell personal data, and the API carries only what the site already shows. Not affiliated with or endorsed by Apple.
Apply for a key
Tell us what you would build. We review applications individually and open keys as the beta expands.