App Store Scraper — App Details, Search & Top Charts (ASO)
Pricing
from $5.00 / 1,000 app details
App Store Scraper — App Details, Search & Top Charts (ASO)
Know exactly where you and your competitors rank on the Apple App Store. One actor pulls live top charts, keyword search rankings, and full 44-field app details — straight off Apple's public APIs, no login, no tokens to break. Built for ASO, competitive intel, and AI agents.
Pricing
from $5.00 / 1,000 app details
Rating
0.0
(0)
Developer
Creator Fusion
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Know exactly where you and your competitors stand on the Apple App Store. One actor, three modes, straight off Apple's public APIs — no login, no scraping tokens, no browser:
- Top charts — the live Top Free / Paid / Grossing / New rankings, by category and country. Put it on a schedule and you've got a chart-movement time series most ASO tools charge hundreds a month for.
- Keyword search (ASO rankings) — search any keyword and the result order is the ranking. Track where an app sits for the terms that matter, or discover every app competing for a keyword.
- App details — 44 fields per app: ratings and rating counts (overall and current version), category, price, version, release + update dates, release notes, size, languages, content rating, description, icon, and every screenshot.
Built for ASO teams, app marketers, competitive-intelligence, and AI agents that need clean App Store data on demand.
Quick start
Top-free chart (just press Start):
{}
Keyword rankings:
{ "searchTerms": ["meditation", "habit tracker"], "country": "us" }
App details:
{ "appIds": ["324684580", "https://apps.apple.com/us/app/id389801252"] }
Games top-grossing chart in Japan:
{ "chartType": "top-grossing", "genreId": "6014", "country": "jp" }
Output (by rowType)
- chart-entry:
rank,chartType,country,appId,name,developer,category,price,icon,url. - search-result:
searchRank(position for the term),searchTerm, plus the full app-detail fields below. - app:
appId,bundleId,name,developer,rating,ratingCount,ratingCurrentVersion,primaryGenre,genres,price,version,releaseDate,currentVersionReleaseDate,releaseNotes,description,sizeBytes,minOsVersion,languages,contentRating,icon,screenshots,url. - notice: a friendly row explaining anything that didn't match — an unknown storefront, a not-found app, or a keyword with no results — so a run always returns something useful instead of just failing.
Why this one
- All-open, zero fragility — pure Apple public APIs (iTunes lookup, search, and RSS charts). No reverse-engineered tokens to break, so runs don't silently die when Apple ships a change.
- Both the "where do I rank" and "what's the app" questions in one tool, instead of a separate single-purpose scraper for each.
- Batch-efficient — app details are fetched up to 200 ids per request; charts and search pull up to 200 in one call.
- Self-healing — direct first (free); on a rate-limit it retries through Apify residential proxy with a fresh rotating session before giving up, so proxy is billed only when needed.
- Agent-ready — typed rows with a
rowTypediscriminator and a machine-readable SUMMARY in the key-value store.
Integrations
Run it from anywhere — API, code, no-code automation, or an AI agent. Empty input returns the US top-free chart (never an error), so scheduled and speculative calls always get data.
REST API (synchronous):
curl -X POST "https://api.apify.com/v2/acts/apricot_blackberry~app-store-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchTerms":["photo editor"],"country":"us"}'
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('apricot_blackberry/app-store-scraper').call({ appIds: ['324684580'] });const { items } = await client.dataset(run.defaultDatasetId).listItems();const apps = items.filter((r) => r.rowType === 'app');
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("apricot_blackberry/app-store-scraper").call(run_input={"searchTerms": ["vpn"]})rows = [r for r in client.dataset(run["defaultDatasetId"]).iterate_items()]
AI agents (MCP): the Actor is exposed through the Apify MCP server — point any MCP client (Claude, Cursor, etc.) at it:
{ "mcpServers": { "apify": {"url": "https://mcp.apify.com/?tools=apricot_blackberry/app-store-scraper","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" } } } }
No-code: use the official Apify app in n8n, Make, and Zapier and pick app-store-scraper. Configure an Apify webhook on run completion to push results into your pipeline without polling.
Every row carries a rowType discriminator (chart-entry / search-result / app / notice); a notice row explains anything that didn't match your input, and a machine-readable SUMMARY record lands in the key-value store.
Honest limits
- Reviews are not included. Apple deprecated the public RSS review feed and gated the newer review endpoint behind rotating tokens; this actor sticks to the data that's reliably open (details, search, charts) rather than ship a review mode that breaks. If you need reviews, that's a separate, less stable surface.
- Charts and keyword search are capped at 200 results per call by Apple.
- Rating counts and rankings are per country store — set
countryto the market you care about.