App Store Scraper - iOS Apps, Top Charts & Search API avatar

App Store Scraper - iOS Apps, Top Charts & Search API

Pricing

from $1.10 / 1,000 app returneds

Go to Apify Store
App Store Scraper - iOS Apps, Top Charts & Search API

App Store Scraper - iOS Apps, Top Charts & Search API

Scrape Apple App Store iOS app data: search results, app details by ID/URL/bundle ID, developer portfolios and top charts by category and country, with ratings, prices, versions and rank changes. Official iTunes API, no login. Export JSON/CSV or call via API/MCP.

Pricing

from $1.10 / 1,000 app returneds

Rating

0.0

(0)

Developer

Teddy Wasserman

Teddy Wasserman

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does App Store Scraper do?

App Store Scraper is an Apple App Store API for app data. Search the App Store by keyword, look up apps by ID, URL or bundle ID, list every app of a developer, and pull the top charts (Top Free, Top Paid, Top Grossing, iPhone and iPad) for any category and country. Each row contains the app's name, developer, price, rating, rating count, version, last update date, size, languages, content rating and more.

Use it for App Store Optimization (ASO), competitor tracking, market research on app categories, finding app publishers to sell to, and watching chart movers every day. Schedule it, and the actor tells you which apps moved up or down the charts and which ones are new since the last run.

It works for iOS apps on iPhone and iPad in every App Store country, and needs no Apple developer account, login or API key.

It runs on Apple's official iTunes Search API and the App Store RSS chart feeds. No login, no browser and no proxies are needed, so runs are fast and cheap: the default run returns the US Top Free chart in a few seconds.

Why use App Store Scraper?

  • Four ways in, one schema: keyword search, app lookup (IDs, App Store URLs or bundle IDs), developer portfolios and top charts all return the same row format, so you can mix them in one run.
  • Charts with full metadata: chart rows come with ratings, rating counts, version, size and languages, not just names and ranks. We add the details with one batched lookup per 150 apps at no extra charge.
  • Rank changes between runs: previousRank, rankChange and newInChart on every chart row. Schedule a daily run and you have an App Store rank tracker.
  • Many countries at once: add us, gb, de, jp and every query runs in each storefront. Compare local prices (in local currency), ratings and chart positions across markets.
  • Official source: Apple's documented iTunes Search API and RSS feeds, with back-off on rate limits. No scraping of rendered pages, so nothing breaks when Apple redesigns the website.
  • Pay per app row: failed lookups, unknown apps and empty searches are free.
  • Works everywhere: export to JSON, CSV or Excel, call it from the API, schedule it, or let an AI agent use it through MCP.

What data can you extract?

FieldExampleDescription
sourcechartsearch, app, developer or chart
searchTerm, searchRankhabit tracker, 1The keyword and the app's position in the search results
chart, chartName, chartCategorytopfreeapplications, Top Free iPhone, GamesWhich chart the row comes from
rank, previousRank, rankChange, newInChart3, 7, 4, falseChart position, last run's position, places gained (negative = dropped), new entry flag
appId, bundleId1232780281, notion.idApple's numeric app ID and the bundle identifier
name, urlNotion: Notes, Tasks, AIApp name and App Store link
countryusStorefront the data comes from
developer, developerId, developerUrlNotion Labs, IncorporatedThe publisher and its App Store page
sellerName, developerWebsiteNotion Labs, Incorporated, https://www.notion.soLegal seller and support/marketing website
price, currency, formattedPrice, isFree0.0, USD, Free, trueUpfront price in the storefront's currency
primaryGenre, primaryGenreId, genresProductivity, 6007App Store categories
contentRating, advisories4+Age rating and content advisories
averageRating, ratingCount4.775, 90401All-time average star rating and number of ratings
currentVersionAverageRating, currentVersionRatingCount4.775Rating of the current version
version, currentVersionReleaseDate, daysSinceLastUpdate1.7.346, 2026-10-13T..., 3Current version and how fresh it is
releaseDate2017-09-14T...First release date
releaseNotesBug fixes..."What's new" text (optional)
descriptionNotion is the...Full App Store description (optional)
minimumOsVersion, fileSizeBytes, fileSizeMb18.0, 463.4Requirements and download size
languages, supportedDeviceCount, supportsIpad, features["EN","DE"]Localisations and device support
iconUrl, screenshotUrls, ipadScreenshotUrlshttps://...512x512bb.jpgArtwork (screenshots optional)
scrapedAt2026-10-16T12:06:42ZWhen the row was fetched

Rows that could not be filled (unknown app ID, a developer with no apps in that country, an empty search) contain an error or _info field and are not charged.

How to use App Store Scraper (step by step)

  1. Open the actor and click Try for free. You need an Apify account; the free plan is enough.
  2. Fill in one or more inputs: Search terms (keywords), Apps (IDs, URLs or bundle IDs), Developers (IDs or URLs) and/or Top charts.
  3. For charts, pick a Chart category such as Games or Productivity, or leave "All categories".
  4. Add the Countries you care about, e.g. us, gb, de. Each query runs once per country.
  5. Set Max results per query (up to 200 for searches and developers, 100 for charts) and click Start.
  6. Download the results as JSON, CSV or Excel, or open the Top charts and App details views in the Output tab. To track rank changes, save the input as a task and add a daily schedule.

Input example

{
"searchTerms": ["habit tracker", "budget app"],
"apps": ["https://apps.apple.com/us/app/notion/id1232780281", "com.burbn.instagram"],
"developers": ["https://apps.apple.com/us/developer/meta-platforms-inc/id284882218"],
"charts": ["topfreeapplications", "topgrossingapplications"],
"chartCategory": "6014",
"countries": ["us", "gb"],
"maxResultsPerQuery": 50,
"includeDescription": false
}

An empty input ({}) returns the US Top Free iPhone chart (20 apps), which is handy for a first test.

Output example

[
{
"source": "chart",
"chart": "topfreeapplications",
"chartName": "Top Free iPhone",
"country": "us",
"chartCategory": "Games",
"rank": 2,
"previousRank": 2,
"rankChange": 0,
"newInChart": false,
"appId": "6752672568",
"bundleId": "com.grandgames.catblockjam",
"name": "Block Out! - Color Sort Puzzle",
"url": "https://apps.apple.com/us/app/block-out-color-sort-puzzle/id6752672568",
"developer": "Grand Games A.Ş.",
"developerId": "1742757639",
"price": 0.0,
"currency": "USD",
"isFree": true,
"primaryGenre": "Games",
"averageRating": 4.726,
"ratingCount": 306251,
"version": "1144",
"currentVersionReleaseDate": "2026-10-12T07:03:22Z",
"daysSinceLastUpdate": 4,
"fileSizeMb": 500.6,
"languages": [
"NL",
"EN",
"FR",
"DE",
"IT",
"JA"
],
"scrapedAt": "2026-10-16T12:08:33Z"
},
{
"source": "search",
"country": "us",
"searchTerm": "habit tracker",
"searchRank": 1,
"appId": "1438388363",
"bundleId": "com.davetech.habit",
"name": "Habit Tracker",
"url": "https://apps.apple.com/us/app/habit-tracker/id1438388363",
"developer": "InnerGrow",
"developerId": "1828382777",
"price": 0.0,
"currency": "USD",
"isFree": true,
"primaryGenre": "Productivity",
"averageRating": 4.791,
"ratingCount": 147943,
"version": "2.25.4",
"currentVersionReleaseDate": "2026-10-15T06:46:50Z",
"daysSinceLastUpdate": 1,
"fileSizeMb": 302.2,
"languages": [
"EN",
"FR",
"DE",
"IT",
"JA",
"PT"
],
"scrapedAt": "2026-10-16T12:08:33Z"
}
]

The examples are shortened (real rows contain all fields from the table above, and the language list is cut to six here). Every export format (JSON, CSV, Excel, XML, RSS, HTML) is available from the dataset.

How much does it cost?

The actor uses pay-per-event pricing. You pay only for app rows that come back with data.

EventPrice (free plan)When it's charged
Actor start$0.0005Once per run
App returned$0.002Per app row in the dataset ($2 per 1,000)

Higher Apify plans get automatic discounts on the per-app price (Bronze −15%, Silver −30%, Gold and above −45%). Error rows, unknown apps and empty searches are free, and the extra lookup that adds full metadata to chart rows costs nothing.

Worked examples:

  • Look up 1,000 apps by ID once: about $2.00.
  • Track the Top 100 Free Games chart in the US daily: 30 × (100 × $0.002 + $0.0005) ≈ $6 per month. Track the top 25 instead and it's about $1.50 per month.
  • Keyword research for 50 terms × 20 results: 1,000 rows ≈ $2.00.
  • Compare one app in 30 countries: 30 rows ≈ $0.06.

Apify's free plan includes $5 of monthly credit, enough for about 2,500 app rows a month. Use Max results in total to cap the cost of any run.

Use cases

  • ASO specialists and app marketers: see who ranks for your keywords, how their ratings and update cadence compare to yours, and how your chart position moves day by day.
  • Mobile game and app studios: watch competitors' versions, release notes and prices, and spot breakout games in the Top Free and Top Grossing charts by country.
  • Investors and market researchers: size a category by counting apps, ratings and update activity, and follow the chart trajectory of new launches.
  • B2B sales and agencies: build lead lists of app publishers (developer name, website, app count, ratings) in a category or market.
  • Localisation and pricing teams: compare local prices, ratings and supported languages across 30+ storefronts in one run.
  • AI agents: give an assistant live App Store data ("What are the top 10 grossing games in Japan this week, and how old are they?").

Use with AI agents, MCP and the API

Run it from the command line with curl (replace YOUR_TOKEN):

curl -X POST "https://api.apify.com/v2/acts/teddythebuilder~app-store-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"charts": ["topgrossingapplications"], "chartCategory": "6014", "countries": ["jp"], "maxResultsPerQuery": 10}'

Or from Python with the apify-client package:

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("teddythebuilder/app-store-scraper").call(
run_input={"searchTerms": ["meditation"], "countries": ["us", "gb"], "maxResultsPerQuery": 50}
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row.get("country"), row.get("searchRank"), row.get("name"), row.get("averageRating"), row.get("ratingCount"))

AI assistants that support MCP (Claude, Cursor, VS Code and others) can use the actor through the Apify MCP server (https://mcp.apify.com). Add teddythebuilder/app-store-scraper as a tool and ask in plain language.

Integrations

App Store Scraper works with every Apify integration:

  • Make, Zapier and n8n: run on a schedule and push chart movers to a CRM, a database or a Slack channel.
  • Google Sheets: export the dataset or sync it with a scheduled task for a live chart dashboard.
  • Slack and email: alert your team when a competitor ships a new version or jumps in the charts.
  • Webhooks: post the results to your own endpoint when a run finishes.

Data source and legality

All data comes from Apple's public, documented endpoints:

  • the iTunes Search API (itunes.apple.com/search and /lookup), which Apple publishes for programmatic access to App Store metadata, and
  • the App Store RSS top-chart feeds (itunes.apple.com/<country>/rss/...).

The actor reads app metadata only. It does not collect user reviews, reviewer names or any other personal data. Developer and seller names are the publishers' public trading names shown on every App Store page. Apple limits the Search API to about 20 calls per minute per client, so the actor batches lookups (150 apps per call), paces its requests and backs off when Apple asks it to. Apple's terms restrict how app icons and screenshots may be displayed (to promote the apps in the store); check them before you republish artwork. This actor is not affiliated with or endorsed by Apple. App Store and iTunes are trademarks of Apple Inc.

FAQ

How fresh is the data? It's fetched live from Apple at run time. Charts update several times a day; ratings and versions update as soon as Apple's API does.

How many apps can a chart return? Up to 100 per chart, category and country. That's the depth of Apple's public chart feeds.

Can I get App Store reviews? No. Apple's public review feed returns no reviews any more, and reviews contain personal data (reviewer names), so this actor focuses on app metadata, search ranks and charts.

Why does a search return slightly different apps from my iPhone? App Store search results are personalised and differ by device. The iTunes Search API gives the neutral, non-personalised order for the storefront you choose.

Why do I get "App not found in the 'xx' storefront"? The app isn't sold in that country or has been removed. Those rows are free.

How does rank tracking work? The actor stores each chart's ranks (per country, chart and category) in a key-value store in your Apify account. The next run compares and fills previousRank, rankChange and newInChart. Turn it off with Track rank changes between runs.

Can I get Google Play data? Not in this actor. It covers the Apple App Store (iPhone and iPad apps).

Does it work on the free plan? Yes. The default run uses a fraction of a cent, and the $5 monthly free credit covers about 2,500 app rows.

Changelog and support

  • 1.0 (2026-10): first release. Keyword search, app lookup by ID/URL/bundle ID, developer portfolios, Top Free/Paid/Grossing charts for iPhone and iPad in 27 categories, multi-country runs and rank-change tracking.

Questions, bugs or a field you need? Open an issue. We reply within 24 hours.