App Store Scraper โ€” iTunes API, App Data & Charts | $0.50/1k avatar

App Store Scraper โ€” iTunes API, App Data & Charts | $0.50/1k

Pricing

from $0.50 / 1,000 results

Go to Apify Store
App Store Scraper โ€” iTunes API, App Data & Charts | $0.50/1k

App Store Scraper โ€” iTunes API, App Data & Charts | $0.50/1k

Apple App Store app data without an API key: look up apps by URL, app ID or bundle ID, search keywords with rank, list a developer's apps, read top free, paid and grossing charts in 176 countries. Price, rating, rating count, version, size, genres, screenshots. JSON, CSV, Excel.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Raffy

Raffy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

38 minutes ago

Last modified

Share

What does App Store Scraper do?

App Store Scraper turns Apple App Store apps, keywords, developers and top charts into clean app data: name, developer, price and currency, star rating and rating count, age rating, categories, version, release and last-update dates, download size, minimum iOS version, languages, full description, release notes, screenshots and icon. Paste an App Store link, an app ID or a bundle ID, type a keyword, name a developer or pick a chart, and a few seconds later you have one row per app as JSON, CSV or Excel.

It works as an App Store API and iTunes API alternative with no API key, no Apple account and no browser. The Actor reads Apple's own public iTunes Search and Lookup API and Apple's public top-chart feeds, so it is fast, cheap and does not break when the App Store website changes.

Four ways in, freely combined in one run, in any of 176 App Store countries:

  • Look up apps by App Store URL, numeric app ID or bundle ID (up to 100 apps per request).
  • Search the App Store by keyword and get each app's searchRank, the position Apple shows it at: an ASO keyword-ranking check.
  • List every app of a developer by developer ID, developer link or developer name.
  • Read the top charts: top free, top paid and top grossing, for iPhone, iPad or Mac, overall or for one category such as Games, with chartPosition and the full app data.

Typical use cases:

  • App store optimization (ASO). Track where your app and your competitors rank for your keywords, country by country, on a schedule.
  • Market and competitor research. Pull the top grossing chart of 10 countries, compare prices, ratings and update frequency, and spot fast climbers.
  • Price monitoring. See what an app costs in every storefront and currency.
  • Lead and partner research. List all apps of a publisher, with category, rating count and the developer's website.
  • Data for AI agents and apps. Give an agent a tool that answers "what is this app, how is it rated, when was it last updated" from Apple's own data.

It reads app data only. It does not collect user reviews, reviewer names or any other data about individual people.

Why use App Store Scraper?

  • Cheap. $0.50 per 1,000 apps, Apify platform usage included, with no per-search or per-lookup surcharges.
  • Fast. No browser: one request returns up to 100 apps. The default run finishes in about 4 seconds on Apify; a run with 5 keywords, 3 charts and 2 developers in 4 countries saved 3,269 apps in 49 seconds.
  • Complete rows. Charts are not just names and positions: every chart row carries the same full app data as a lookup (rating, rating count, version, size, languages, screenshots).
  • Honest results. Every row carries status (ok, not_found, error). An unknown app ID, a bundle ID that does not exist in a country or a keyword with no match is a not_found row that you are never charged for, and the run still ends successfully.
  • Built for agents. Call it with no input and it returns data; plain strings everywhere; developer names, country names and chart names such as "top free" are understood.

What data can App Store Scraper extract?

FieldTypeDescription
appIdintegerApple's numeric app ID (the number in the App Store link)
bundleIdstringBundle ID, e.g. com.spotify.client
namestringApp name as shown in the App Store
developerstringDeveloper (company) name
developerIdintegerApple's developer ID
developerUrlstringThe developer's App Store page
developerWebsitestringThe developer's own website, when listed
pricenumberPrice in the country's currency (0 = free)
currencystringISO 4217 currency code, e.g. USD, GBP, EUR
formattedPricestringPrice as Apple displays it, e.g. Free, $6.99
ratingnumberAverage star rating 0-5 in this country (omitted when there are no ratings)
ratingCountintegerNumber of ratings in this country
ratingCurrentVersionnumberAverage rating of the current version
ratingCountCurrentVersionintegerNumber of ratings of the current version
contentRatingstringAge rating, e.g. 4+, 12+, 17+
advisoriesarrayContent advisories behind the age rating
primaryGenrestringMain category, e.g. Games, Finance
primaryGenreIdintegerID of the main category (6014 = Games)
genresarrayAll categories the app is listed in
genreIdsarrayIDs of those categories
versionstringCurrent version number
releaseDatestringFirst release date (ISO 8601)
currentVersionReleaseDatestringDate of the latest update (ISO 8601)
fileSizeBytesintegerDownload size in bytes
minimumOsVersionstringMinimum iOS / iPadOS / macOS version
languagesarraySupported languages, two-letter codes
descriptionstringFull App Store description
releaseNotesstringWhat's new in the current version
screenshotUrlsarrayiPhone screenshot links (Mac screenshots for Mac apps)
ipadScreenshotUrlsarrayiPad screenshot links
iconUrlstringApp icon, 512 x 512
appStoreUrlstringThe app's App Store page in this country
platformstringios or mac
featuresarrayApple's feature flags, e.g. iosUniversal
gameCenterEnabledbooleanWhether the app uses Game Center
sourcestringHow the row was found: lookup, search, developer or chart
countrystringApp Store country of the data (two-letter code)
searchTermstringKeyword (or developer name) that found the app
searchRankintegerPosition in Apple's search results for that keyword (1 = first)
chartstringtopFree, topPaid or topGrossing
chartPositionintegerPosition in that chart (1 = number one)
chartGenreIdintegerChart category, when the chart was limited to one
devicestringStore of the search or chart: iphone, ipad or mac
urlstringSame as appStoreUrl on ok rows; what was asked for on other rows
statusstringok, not_found or error (see below)
errorstringReason when status is not ok
scrapedAtstringISO 8601 time of extraction

Ratings, rating counts, prices, charts and search rankings are per country: the same app has different numbers in us and de.

Result status (tri-state output)

statusMeaningBilled?
okThe app was found; the row holds its data.Yes
not_foundApple answered, but there is no such app, bundle ID or developer in that country, or a keyword or chart has no apps. error says which.No
errorApple's API could not be read after retries, or an input entry was not an app ID, bundle ID or App Store link. error says why.No

How to use App Store Scraper

  1. Open the Actor and click Try for free.
  2. Fill in any of the four inputs: Apps (links, IDs or bundle IDs), Search keywords, Developers, Top charts.
  3. Pick the Countries (default us) and, for keywords and charts, the Device (iPhone, iPad or Mac).
  4. Set Maximum results (default 20) and, for keywords, developers and charts, Results per search, developer or chart (default 50).
  5. Click Start. Rows appear in the dataset as they arrive; export them as JSON, CSV, Excel, XML or HTML, or read them through the API.

To run it on a schedule (daily ranking or chart tracking), add a Schedule in Apify Console. To call it from code, use the API tab (Node.js, Python, curl) or the Apify MCP server.

Which input finds what

You giveYou get
https://apps.apple.com/us/app/instagram/id389801252, 389801252, id389801252That app
com.spotify.clientThe app with that bundle ID
https://apps.apple.com/us/developer/meta-platforms-inc/id284882218 or 284882218 (in Developers)Every app of that developer (Apple lists up to 200)
Rovio Entertainment (in Developers)Apps whose developer name contains that name
habit tracker (in Search keywords)Apple's search results with searchRank
Top free / Top paid / Top grossingUp to 100 apps per chart with chartPosition

How much does it cost to scrape the App Store?

This Actor uses pay-per-event pricing. Apify platform usage is included in these prices.

EventPrice
Actor start$0.005 per run
Result (status: ok row)$0.0005 per app

Examples: the default run (5 apps) costs $0.0075. The US top 100 free chart costs $0.055. 1,000 apps cost $0.505, 10,000 apps $5.005. Rows with status not_found or error are never billed. You can cap spending with Maximum results and the run's Max total charge option; the Actor stops gracefully when your run's maximum charge is reached.

Input

See the Input tab for the full schema. The main options:

FieldTypeDefaultDescription
startUrlsarray of strings5 well-known appsApp Store links, app IDs, bundle IDs or developer links
searchTermsarray of strings-Keywords to search
developerIdsarray of strings-Developer IDs, links or names
chartsarray-topFree, topPaid, topGrossing
chartGenrestringall categoriesCategory ID for the charts, e.g. 6014 (Games)
countriesarray of strings["us"]Two-letter App Store country codes (or country names)
devicestringiphoneiphone, ipad or mac for keywords and charts
resultsPerSourceinteger50Apps kept per keyword, developer and chart (max 200 / 100 for charts)
maxItemsinteger20Stop after this many rows in total

When you use keywords, developers or charts and leave Apps at its built-in example, the example apps are skipped automatically.

Example input: the top 100 grossing iPhone games in the US and the UK, plus two keywords.

{
"charts": ["topGrossing"],
"chartGenre": "6014",
"searchTerms": ["budget planner", "habit tracker"],
"countries": ["us", "gb"],
"resultsPerSource": 100,
"maxItems": 1000
}

The default input (what an AI agent gets when it calls the Actor with no arguments):

{
"startUrls": [
"https://apps.apple.com/us/app/instagram/id389801252",
"310633997",
"com.spotify.client",
"https://apps.apple.com/us/app/duolingo-language-lessons/id570060128",
"https://apps.apple.com/us/app/minecraft-play-with-friends/id479516143"
],
"countries": ["us"],
"maxItems": 20
}

Output

You can download the dataset as JSON, CSV, Excel, XML or HTML. A real row from a run on Apify (long texts and lists shortened here):

{
"url": "https://apps.apple.com/us/app/minecraft-play-with-friends/id479516143",
"status": "ok",
"scrapedAt": "2026-09-27T13:32:52.282Z",
"appId": 479516143,
"bundleId": "com.mojang.minecraftpe",
"name": "Minecraft: Play with Friends!",
"developer": "Mojang",
"developerId": 479516146,
"developerUrl": "https://apps.apple.com/us/developer/mojang/id479516146",
"price": 6.99,
"currency": "USD",
"formattedPrice": "$6.99",
"rating": 4.50753,
"ratingCount": 840101,
"ratingCurrentVersion": 4.50753,
"ratingCountCurrentVersion": 840101,
"contentRating": "9+",
"advisories": ["Infrequent/Mild Contests", "Infrequent/Mild Cartoon or Fantasy Violence"],
"primaryGenre": "Games",
"primaryGenreId": 6014,
"genres": ["Games", "Simulation", "Adventure"],
"genreIds": [6014, 7015, 7002],
"version": "26.51",
"releaseDate": "2011-11-17T08:00:00Z",
"currentVersionReleaseDate": "2026-09-16T15:40:58Z",
"fileSizeBytes": 1327799296,
"minimumOsVersion": "13.0",
"languages": ["DA", "NL", "EN", "FI", "FR", "DE", "..."],
"description": "Dive into an open world of building, crafting and survival. Gather resources, survive the night, and build whatever you can imagine one block at a time. Explore...",
"releaseNotes": "Various bug fixes!",
"screenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/07/47/6f/07476fcd-1ecf-18ca-e7f7-364d6c6cd5e1/pr_source.png/406x228bb.png", "..."],
"ipadScreenshotUrls": ["https://is1-ssl.mzstatic.com/image/thumb/Purple211/v4/be/e0/bd/bee0bd58-7fd7-0203-2507-0b95bc2a3f51/pr_source.png/552x414bb.png", "..."],
"iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/6c/04/5b/6c045bf2-3400-f6cb-37e7-30b3f945b024/AppIcon-0-0-1x_U007emarketing-0-10-0-85-220.png/512x512bb.jpg",
"appStoreUrl": "https://apps.apple.com/us/app/minecraft-play-with-friends/id479516143",
"platform": "ios",
"features": ["iosUniversal"],
"gameCenterEnabled": false,
"source": "lookup",
"country": "us"
}

A chart row carries the same fields plus "source": "chart", "chart": "topGrossing", "chartPosition": 1 and "device": "iphone"; a search row adds "searchTerm" and "searchRank". An app ID that does not exist gives a free row like this, and the run still succeeds:

{
"url": "https://apps.apple.com/us/app/id1",
"status": "not_found",
"error": "No app with id 1 in the US App Store (it may not exist or not be sold in this country).",
"scrapedAt": "2026-09-27T13:38:44.400Z"
}

Tips

  • Put all your apps, keywords and countries in one run: you pay the start fee once, and app IDs are looked up 100 at a time.
  • For keyword rank tracking, schedule a daily run with your keywords and read searchRank for your app ID.
  • Raise Maximum results when you ask for full charts or several keywords: it caps the whole run (default 20).
  • Country names work (Germany, Japan), and so do the codes (de, jp).

Limitations

  • No user reviews. The Actor returns app data only, never reviews or reviewer names.
  • Apple caps its answers: 200 apps per keyword or developer, 100 per chart. Charts exist for top free, top paid and top grossing; for Mac apps Apple publishes only the top free chart.
  • Apple's keyword search is Apple's own ranking as its public API returns it; it can differ slightly from what one person sees on their device.
  • A developer name is matched against the developers Apple's search returns; for an exact list use the developer ID from the developer's App Store link.
  • Values come from Apple at the time of the run. If Apple changes its API, rows come back as error and the Actor is updated quickly; report it in the Issues tab.

FAQ

Do I need an Apple account, developer account or API key?

No. The Actor uses Apple's public iTunes Search and Lookup API and Apple's public chart feeds, which need no key and no login.

Can it scrape App Store reviews?

No, on purpose: this Actor collects app data only, never reviews or reviewer names. It does return each app's rating and ratingCount.

How do I track my app's keyword ranking (ASO)?

Add your keywords under Search keywords, set your countries, and schedule the run daily. Filter the rows by your appId and chart searchRank over time. searchRank is the position in Apple's search results for that keyword (1 = first).

How do I get the top grossing games in Japan?

Set Top charts to Top grossing, Chart category to Games, Countries to jp, Results per search, developer or chart to 100 and Maximum results to 100.

Why is an app not_found?

The ID or bundle ID does not exist, or the app is not sold in that country's App Store (many apps are region-locked). The row says which country was checked. not_found rows are free.

Can I use this Actor from an AI agent or MCP client?

Yes. Called with no arguments it returns five well-known apps; every input is a plain string or list, and every row explains itself with status and error.

How fast is it?

About 4 seconds for the default run. Most runs need one request per 100 looked-up apps, one per keyword or developer, and two per chart.

  • Google Play Scraper - use it to compare the same app's Android listing, ranking and reviews.
  • Steam Store Scraper - use it when the app in question is also, or instead, a PC game on Steam.
  • Shopify Scraper - use it if the app has a companion online store you also need to track.

This Actor reads only data that Apple publishes publicly through its App Store search, lookup and chart services: app listings and the names of the companies that publish them. It does not extract reviews, reviewer names, e-mail addresses, phone numbers or other data about individual people, and it does not log in or get around any access control. Some developers publish apps under their own name, so a developer value can be a person's name; it is the public publisher name shown in the App Store. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you are unsure whether your reason is legitimate, consult your lawyers. You are responsible for complying with Apple's terms and applicable law when using the extracted data.

This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by Apple Inc. App Store and iTunes are trademarks of Apple Inc. All trademarks belong to their respective owners.