The ASO API for agents — and anything that speaks HTTP
openaso is an App Store Optimization API with 13 tools behind one endpoint: keyword ranks, autocomplete suggestions, search demand, listing audits, metadata coverage math, reviews, top charts, modeled revenue bands, and managed daily rank tracking. Every tool returns structured JSON with a documented schema. It speaks MCP natively — Claude Code, Cursor, any MCP client — and it is still just HTTP, so curl works too. Free in early access: 500 calls/day, no card.
Two ways in
$ curl -s -X POST https://mcp.openaso.ai/mcp \-H "Authorization: Bearer YOUR_KEY" \-H "Content-Type: application/json" \-H "Accept: application/json, text/event-stream" \-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"rank","arguments":{"keyword":"habit tracker","appId":6446901002,"countries":["US","GB"]}}}'
{ "openaso": { "type": "http", "url": "https://mcp.openaso.ai/mcp", "headers": { "Authorization": "Bearer YOUR_KEY" } } }
The transport is MCP Streamable HTTP: stateless, POST-only JSON-RPC — no sessions, no SDK required. x-api-key works where you can't set an Authorization header. Connected as MCP, agents also get the tool schemas and the server's built-in lessons on how App Store search matching works.
The surface
Full input/output schemas and example calls live in the tool catalog — and in machine-readable form at /tools.md.
Why not just call Apple's endpoints yourself?
You can — they're public, and openaso is built on them. What you'd be signing up to build:
rank isn't an endpoint
Apple's search API returns up to 200 results per term and storefront; a rank check means fetching them and locating your app. openaso's rank does exactly that, cached, as one call.
per-IP throttles
The public endpoints rate-limit aggressively per IP. Fine for a script, punishing for a workflow that checks 50 keywords across 10 storefronts. openaso runs a shared tiered cache with stampede control and serve-stale on origin failure.
no demand signal
Search volume isn't in any public endpoint — Apple's popularity index lives behind Search Ads credentials. openaso serves the real index where Apple carries a signal (source: "apple") and a labeled independent estimate elsewhere (source: "proxy").
the matching model
Ranks only make sense against how App Store search matches metadata — the combined title / subtitle / keyword-field word pool. The server teaches connected agents that model, and the concepts doc spells it out if you build your own.
If you'd rather own the plumbing anyway, take the matching-model doc with you — it's the part most implementations get wrong.
Other ASO APIs, honestly
Different tools for different budgets. Pricing as reported July 2026 — verify.
Questions people actually ask
Is there an official App Store ASO API?
No. Apple exposes public iTunes endpoints (search, lookup, charts) and puts its keyword popularity index behind Search Ads — but nothing shaped like an ASO workflow. openaso is the bridge: those sources, served as stable JSON contracts.
Is it really free?
Free during early access — 500 tool calls a day, no card. Paid tiers may come later for heavier use; the free tier exists to see how real agents use the thing, not as bait.
Do I need an MCP client?
No — it's plain HTTP POST, as the curl example shows. MCP clients get extras (schema discovery, packaged prompts, the taught search model), but every capability is callable from any language.
Does it cover Google Play?
No — Apple App Store only, and the pages here say so rather than hiding it. Google Play is on the roadmap only if demand shows up.
start now
Create an account, mint a key in the dashboard, and the curl above works as-is — or add the server to your agent and just ask it where you rank.