AppWanderer
Home / Data API
Developer API · v1 · Private beta

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.

Status: private beta

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

Endpoints

Records

MethodPathDescription
GET /api/v1/records
?section=global|derived|category
Every published record board (id, title, unit, computed_at).
GET /api/v1/record/{slug}
?limit=1..200
One board with its ranked entries.
GET /api/v1/movers
?limit
Biggest position changes across boards since the last snapshot.

Apps

MethodPathDescription
GET /api/v1/apps
?genre&minRating&minRatings&maxSizeMB&price=free|paid&updatedDays&sort&page&limit
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
?q= (2+ chars)
Typeahead search over app + publisher names.

Publishers

MethodPathDescription
GET /api/v1/publishers
?sort=apps|ratings|rating|name&dir=asc|desc&min&q&page
Publisher directory, ranked.
GET /api/v1/developer/{id}
?page
One publisher and its catalogue (paged).

Categories

MethodPathDescription
GET /api/v1/categories All category summaries (counts, medians, shares).
GET /api/v1/category/{slug} One category report: pricing, concentration, leaders, medians.

Studies

MethodPathDescription
GET /api/v1/studies The studies index.
GET /api/v1/studies/{slug} A study's computed aggregates.

Almanac

MethodPathDescription
GET /api/v1/almanac
?limit
Recent weekly/daily digest editions.
GET /api/v1/almanac/{week} One edition.

Example response for GET /api/v1/record/{slug} (illustrative of the fields keyholders receive):

{
  "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

Apply for a key

Tell us what you would build. We review applications individually and open keys as the beta expands.

We use your email only to respond to this request. See our privacy policy.