App Store Scraper โ iTunes API, App Data & Charts | $0.50/1k
Pricing
from $0.50 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
38 minutes ago
Last modified
Categories
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
chartPositionand 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 anot_foundrow 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?
| Field | Type | Description |
|---|---|---|
appId | integer | Apple's numeric app ID (the number in the App Store link) |
bundleId | string | Bundle ID, e.g. com.spotify.client |
name | string | App name as shown in the App Store |
developer | string | Developer (company) name |
developerId | integer | Apple's developer ID |
developerUrl | string | The developer's App Store page |
developerWebsite | string | The developer's own website, when listed |
price | number | Price in the country's currency (0 = free) |
currency | string | ISO 4217 currency code, e.g. USD, GBP, EUR |
formattedPrice | string | Price as Apple displays it, e.g. Free, $6.99 |
rating | number | Average star rating 0-5 in this country (omitted when there are no ratings) |
ratingCount | integer | Number of ratings in this country |
ratingCurrentVersion | number | Average rating of the current version |
ratingCountCurrentVersion | integer | Number of ratings of the current version |
contentRating | string | Age rating, e.g. 4+, 12+, 17+ |
advisories | array | Content advisories behind the age rating |
primaryGenre | string | Main category, e.g. Games, Finance |
primaryGenreId | integer | ID of the main category (6014 = Games) |
genres | array | All categories the app is listed in |
genreIds | array | IDs of those categories |
version | string | Current version number |
releaseDate | string | First release date (ISO 8601) |
currentVersionReleaseDate | string | Date of the latest update (ISO 8601) |
fileSizeBytes | integer | Download size in bytes |
minimumOsVersion | string | Minimum iOS / iPadOS / macOS version |
languages | array | Supported languages, two-letter codes |
description | string | Full App Store description |
releaseNotes | string | What's new in the current version |
screenshotUrls | array | iPhone screenshot links (Mac screenshots for Mac apps) |
ipadScreenshotUrls | array | iPad screenshot links |
iconUrl | string | App icon, 512 x 512 |
appStoreUrl | string | The app's App Store page in this country |
platform | string | ios or mac |
features | array | Apple's feature flags, e.g. iosUniversal |
gameCenterEnabled | boolean | Whether the app uses Game Center |
source | string | How the row was found: lookup, search, developer or chart |
country | string | App Store country of the data (two-letter code) |
searchTerm | string | Keyword (or developer name) that found the app |
searchRank | integer | Position in Apple's search results for that keyword (1 = first) |
chart | string | topFree, topPaid or topGrossing |
chartPosition | integer | Position in that chart (1 = number one) |
chartGenreId | integer | Chart category, when the chart was limited to one |
device | string | Store of the search or chart: iphone, ipad or mac |
url | string | Same as appStoreUrl on ok rows; what was asked for on other rows |
status | string | ok, not_found or error (see below) |
error | string | Reason when status is not ok |
scrapedAt | string | ISO 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)
status | Meaning | Billed? |
|---|---|---|
ok | The app was found; the row holds its data. | Yes |
not_found | Apple 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 |
error | Apple'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
- Open the Actor and click Try for free.
- Fill in any of the four inputs: Apps (links, IDs or bundle IDs), Search keywords, Developers, Top charts.
- Pick the Countries (default
us) and, for keywords and charts, the Device (iPhone, iPad or Mac). - Set Maximum results (default 20) and, for keywords, developers and charts, Results per search, developer or chart (default 50).
- 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 give | You get |
|---|---|
https://apps.apple.com/us/app/instagram/id389801252, 389801252, id389801252 | That app |
com.spotify.client | The 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 grossing | Up 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.
| Event | Price |
|---|---|
| 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:
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array of strings | 5 well-known apps | App Store links, app IDs, bundle IDs or developer links |
searchTerms | array of strings | - | Keywords to search |
developerIds | array of strings | - | Developer IDs, links or names |
charts | array | - | topFree, topPaid, topGrossing |
chartGenre | string | all categories | Category ID for the charts, e.g. 6014 (Games) |
countries | array of strings | ["us"] | Two-letter App Store country codes (or country names) |
device | string | iphone | iphone, ipad or mac for keywords and charts |
resultsPerSource | integer | 50 | Apps kept per keyword, developer and chart (max 200 / 100 for charts) |
maxItems | integer | 20 | Stop 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
searchRankfor 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
errorand 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.
Related Actors
- 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.
Legal and data-protection notice
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.