Apple App Store API. App data as JSON.
App records, details, reviews, in-app purchases, search, developer catalogues and charts, with the storefront and language you ask for.
- Any App Store storefront
- 8 JSON routes
- 1 credit per request
- Failed requests aren't charged
Teams running monitoring, research, and enrichment pipelines
Why Social Fetch
Apple App Store data as JSON. You build the product.
Live Apple App Store data in one response shape, with platform changes handled for you.
Apple App Store, plus every other platform
One key and one response envelope for Apple App Store and 56 more platforms.
Pricing you can reason about
One request, one credit. Know how far your balance will go before you run your next batch.
Live data on every request
Fetch public data when you ask for it.
Nothing to maintain
We handle platform changes and breakages.
Built for production jobs
Run concurrent workloads with explicit statuses and request IDs.
Regular jobs. Better rates.
Running lookups every month? Get lower per-credit rates with a monthly plan. For occasional projects, choose pay as you go.
What Apple App Store data can you get?
8 endpoints, one API key. Every response comes back as live JSON in the same envelope.
- +1 more apps endpoints
Apps
Search & charts
Developers
Browse all 8 Apple App Store endpoints
Apps
Search & charts
Developers
What teams build with Apple App Store data
Monitoring, enrichment, research and content workflows on Apple App Store data, on the same API as every other platform.
How it works
Your first request in three steps.
Use TypeScript or your automation tool of choice.
Sources
+ 51 more platforms
One request
GET/v1/tiktok/profiles/
x-api-key: sk_live_••••••••
Same JSON shape
{
"data": {
"lookupStatus": "found",
"profile": {
"platform": "tiktok",
"handle": "charlidamelio",
"displayName": "charli d’amelio",
"verified": true
},
"metrics": {
"followers": 160263648
}
}
}Step 1
Create your free account
Get an API key with 100 requests included.
Step 2
Choose an endpoint
Pass a username, URL, keyword, or post ID.
Step 3
Get clean JSON
Use the response immediately or send it into your pipeline.
Works with your stack
Code, automate, or connect your AI.
TypeScript
n8n
- Make
- Apify
- MCP
- AI clients
Pricing
Social data, priced simply.
Start with 100 free credits. Monthly plans give you predictable volume and lower per-request rates.
Starter
18,000credits
$1.61 per 1k · $0.00161 per request
- Top up from $1.61 / 1k if you run out
- Up to 25 monitors
Growth
50,000credits
$1.58 per 1k · $0.00158 per request
- Top up from $1.58 / 1k if you run out
- 5 team seats
- Up to 100 monitors
Scale
150,000credits
$1.50 per 1k · $0.00150 per request
- Top up from $1.50 / 1k if you run out
- 25 team seats
- Up to 250 monitors
- Cancel anytime
- 30-day money-back guarantee
- Price locked while you stay
Need 1M+ credits, invoicing, or volume rates? Talk to us
Trust signals
DevHunt
Product Hunt
Uneed
Customers
Teams building on Social Fetch.
“Our TikTok and Instagram scrapers broke constantly. Social Fetch took us off that rotation — we ship product again.”
“Transcripts at volume from one endpoint. No broken scrapers for our small team to maintain.”
“Live profile data on every request. We never flag accounts from a stale cache.”
“Heavy concurrent load, no rate limits to negotiate. The rare API I haven't wrapped in retries.”
Apple App Store API: common questions
Is there an Apple App Store API?
Yes. Social Fetch has eight Apple App Store routes under /v1/apple-app-store: one app, many apps in a batch, app details, reviews, in-app purchases, search, developer catalogues and charts. Authenticate with your Social Fetch API key in x-api-key.
How do I look up an app?
Use GET /v1/apple-app-store/apps/{appId} with a numeric id such as 284882215, a bundle id such as com.facebook.Facebook, an App Store link, or an id with the id prefix used in links. Read data.lookupStatus: found puts the record in data.app, not_found puts null there.
What is the difference between the app route and the details route?
The app route returns the app record: id, bundle id, name, URL, developer, seller, price, ratings, genres, current version, release date, size, languages, description, icon and screenshots. The details route returns what the app record does not carry, including the ratings histogram, privacy label, version history, in-app purchases, similar apps, featured reviews, per-platform records, requirements and chart positions.
Which storefront should I use?
Pass a two-letter country code in country, for example us, gb or jp. Prices, ratings, review counts and text are specific to that storefront. An app that is not sold in the storefront answers not_found on the app, details and in-app purchases routes; the reviews route can still return the old reviews Apple keeps for it. There is no worldwide ratings total to divide around.
Why is part of a details response null?
The details route returns two parts and reports the state of each in data.sources.page and data.sources.catalogue as ok, failed or skipped. When one part fails, the other is still returned and the failed field is null, and the request is still billed. Retry the request or fall back to the app route if the missing part matters.
Why do in-app purchases repeat across pages?
Apple's order for the in-app purchase list can differ between requests, so a product can appear on more than one page. The page offsets are exact, but the list is not stable. De-duplicate on items[].id when you walk pages.
How do charts work?
Call GET /v1/apple-app-store/charts with chart, platform, genre and limit. top-free and top-paid return up to 200 ranks on iphone, ipad and mac; top-grossing returns up to 100 and is on iphone and ipad; new, new-free and new-paid return up to 100 and are on iphone. Each entry has a rank, the app id and the app record, which is null when that app's record is unavailable. The rank is always kept.
How much does the Apple App Store API cost?
Each route charges one credit per completed request, except the batch route, which charges one credit per unique requested app id or bundle id. A details answer with a failed part is still billed. Check meta.creditsCharged on every response. New accounts start with 100 free credits.
Does HTTP 200 mean the app or list exists?
No. HTTP 200 means the request finished. Check data.lookupStatus for app, details, reviews, developer and chart answers. Search always returns found, and a nonsense query can still return loosely related apps, so check the names; the batch route reports found or not_found on every row.
The Apple App Store API in detailHow the Apple App Store routes work, what they cost, and how they differ from the official API.
Why teams use Social Fetch for Apple App Store
Social Fetch exposes eight routes under /v1/apple-app-store. Look up one app by numeric id, bundle id or App Store link with GET /v1/apple-app-store/apps/{appId}. Fetch up to 200 apps in one request with GET /v1/apple-app-store/apps, which reports a lookupStatus for each url you send. Search with GET /v1/apple-app-store/apps/search, and list a developer's apps with GET /v1/apple-app-store/developers/{developerId}.
Every route takes a two-letter country storefront, and the app, search and developer routes also take a language. Prices, ratings, review counts and text differ by storefront, and Apple does not publish a worldwide ratings total, so the storefront is part of every answer. Responses use the { data, meta } envelope with data.lookupStatus. Detail routes answer found or not_found; list routes put their rows in results, reviews, items, apps or entries. The reviews route returns 20 reviews a page with four sorts and developer replies. Charts return up to 200 ranks for top-free and top-paid, and 100 for the grossing and new charts.
How to call the Apple App Store API
1. Create an API key
Sign up at Social Fetch and copy a key (
sfk_...). New accounts get 100 free credits, enough to try every App Store route on a few apps.2. Pick the route and storefront
Use
GET /v1/apple-app-store/apps/284882215?country=usfor one app, orGET /v1/apple-app-store/apps/search?query=photo%20editor&country=gbfor search. Sendx-api-keyon every request.3. Branch on the answer
Check
data.lookupStatusbefore you store a row, followdata.page.nextPagewhiledata.page.hasMoreis true, and bill frommeta.creditsCharged.
What each Apple App Store route returns
- One app by numeric id, bundle id or App Store link, with price, ratings, genres, version history and screenshots.
- App details with a ratings histogram, privacy label, version history, in-app purchases, similar apps and featured reviews.
- Customer reviews, 20 a page and four sorts, with developer replies and an explicit
depthLimitedflag. - In-app purchases, 10 a page, including subscription periods and introductory offers.
- Storefront search up to 200 results, with no paging to follow.
- Developer catalogues: every app a developer publishes in a storefront, with
truncatedwhen the list could not be completed. - Charts for iPhone, iPad and Mac by genre, with the app record kept on every rank.
How much does the Apple App Store API cost?
Each App Store route charges one credit per completed request, except the batch route, which charges one credit per unique requested app id or bundle id. A details request that returns only one of its two parts is still billed, and sources says which part failed. meta.creditsCharged on every response is the billing source of truth.
Social Fetch vs the official Apple App Store API
App records, app details, reviews, in-app purchases, charts and developer catalogues each come with their own shape and limits. Social Fetch puts them behind one { data, meta } envelope with lookupStatus, echoes the storefront back, keeps the same app shape across routes, and uses the same API key and credit meter as the rest of Social Fetch. A details answer names which parts are present in sources, so a partial answer is visible instead of quietly thinner.
Pull your first Apple App Store data.
Run a live Apple App Store request in the playground. 100 free credits, no card, JSON back in seconds.
No credit cardSign up in 30 seconds withGoogleGitHub
