App Store Scraper — App Details, Search & Top Charts (ASO) avatar

App Store Scraper — App Details, Search & Top Charts (ASO)

Pricing

from $5.00 / 1,000 app details

Go to Apify Store
App Store Scraper — App Details, Search & Top Charts (ASO)

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

Creator Fusion

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

  1. 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.
  2. 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.
  3. 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 rowType discriminator 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 ApifyClient
client = 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 country to the market you care about.