App Store Data Scraper | Charts, Prices & Rankings | $0.5 / 1K avatar

App Store Data Scraper | Charts, Prices & Rankings | $0.5 / 1K

Pricing

from $0.35 / 1,000 app scrapeds

Go to Apify Store
App Store Data Scraper | Charts, Prices & Rankings | $0.5 / 1K

App Store Data Scraper | Charts, Prices & Rankings | $0.5 / 1K

Apple App Store data with no login or API key: Top Free and Top Paid chart ranks, prices in any country, ratings, versions and categories. Search by keyword or look up by app id or bundle id. $0.50 per 1,000 records.

Pricing

from $0.35 / 1,000 app scrapeds

Rating

0.0

(0)

Developer

Hriday Rungta

Hriday Rungta

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 days ago

Last modified

Security

Limited permissions

Share

Get Apple App Store data as a flat dataset: app details, prices in any country, ratings, versions, categories and Top Free / Top Paid chart rankings. No login, no API key, no browser.

This Actor reads Apple's public JSON feeds (the iTunes Search API search and lookup endpoints and the App Store chart feeds) and returns one record per app per storefront. Search by keyword, look up exact apps by App Store id or bundle id, or pull the Top Free and Top Paid charts, then export to CSV, JSON, Excel or Google Sheets, or schedule it for daily snapshots.

Not affiliated with Apple. This is an independent tool that collects data Apple publishes through its public App Store search API. Apple, App Store and iTunes are trademarks of Apple Inc.

What you can do with this App Store data

  • Track App Store rankings and top charts. Snapshot Top Free or Top Paid, overall or per category, per country, every day, and see new entrants.
  • Compare app prices across countries. One lookup across us, gb, de, jp, in, br returns each local price and currency for the same apps.
  • Monitor competitor apps. Look up your competitor set by bundle id and watch version, price, rating count and release notes change.
  • Research keywords for ASO. See which apps come up for your search terms per storefront, with ratings, rating counts and update dates.
  • Build an App Store dataset of publishers, categories and ratings for market sizing, due diligence or AI workflows.

Three modes

  • Search: run keywords against the App Store search (up to 200 apps per term per country).
  • Lookup: fetch exact apps by numeric App Store id, App Store URL or bundle id, 200 per request, in one or many countries.
  • Charts: pull the Top Free or Top Paid chart (overall or by category, up to 200 ranks) and enrich every ranked app with full details.

Apple's own APIs vs this Actor

Apple's iTunes Search API is free, and this Actor reads it. The App Store Connect API is a different product: it exposes your own apps' analytics and needs your credentials, and this Actor does not touch it.

iTunes Search API directlyThis Actor
CostFree$0.50 per 1,000 records
Rate limitAbout 20 calls per minute per IP, you handle 403/429Throttled and retried for you
ChartsSeparate feeds with different formatsRanked and enriched with full app details
Many countries at onceOne call per country, you mergecountries list, one record per app per country
SchedulingYou host itApify Schedules, webhooks, Make, n8n, Zapier

Fields in each record

One flat record per app per storefront:

FieldDescription
appId, bundleId, nameNumeric App Store id, bundle identifier, app name
developer, developerId, developerUrl, developerWebsiteSeller business name, developer id, developer's App Store page, developer's own website
price, currency, formattedPrice, isFreeStorefront price (0 for free), ISO currency, display price such as $4.99
category, categoryId, genres[]Primary genre (e.g. Games, 6014) and all genres
rating, ratingCountAverage user rating (0-5) and number of ratings, all versions
currentVersionRating, currentVersionRatingCountSame for the current version
version, versionReleaseDate, releaseDateCurrent version string, its release date, first release date (ISO-8601)
minOs, sizeBytes, ageRatingMinimum iOS version, download size, content rating (4+, 12+, 17+)
languages[], supportedDevicesCount, screenshotCountLocalisations and quick size signals
countryStorefront the record was fetched from (prices and availability differ by storefront)
chartFeed, chartRanktop-free / top-paid and 1-based position (charts mode; null otherwise)
url, iconUrl, scrapedAtApp Store page, 512px icon, ISO timestamp
description, releaseNotesFull description and latest release notes, only with Include description

No user reviews or reviewer names are collected: the dataset contains business-level app metadata only.

Input

FieldTypeDefaultDescription
modesearch / lookup / chartssearchWhat to run.
searchTermsarray-Keywords (search mode). One API call per term per country.
appIdsarray-Numeric ids, id553834731, or App Store URLs (lookup mode).
bundleIdsarray-Bundle identifiers such as com.midasplayer.apps.candycrushsaga (lookup mode).
countrystringusStorefront code. Ignored when countries is set.
countriesarray-Run in several storefronts, e.g. ["us","gb","de","jp"]. Each app is saved once per storefront.
chartFeedtop-free / top-paidtop-freeChart to pull (charts mode).
chartGenreIdstring-App Store genre id for a category chart, e.g. 6014 Games, 6015 Finance, 6013 Health & Fitness.
limitinteger50Apps per search term, or chart length (max 200).
includeDescriptionbooleanfalseAdd description and releaseNotes.
maxItemsinteger500Hard cap on saved (and billed) records.
requestsPerMinuteinteger18Throttle. Apple allows roughly 20 calls per minute per IP.
langstring-Result language override, e.g. en_us, ja_jp.
maxRetriesinteger4Retries with backoff for network errors, 5xx, 403 and 429.
proxyConfigurationobjectnoneOptional Apify Proxy (datacenter is enough) to rotate IPs and spread the per-IP limit.

Examples

Search, one storefront:

{ "mode": "search", "searchTerms": ["budget tracker", "meditation"], "country": "us", "limit": 100 }

Competitor set, prices in six storefronts:

{
"mode": "lookup",
"bundleIds": ["com.midasplayer.apps.candycrushsaga", "com.mojang.minecraftpe", "com.spotify.client"],
"countries": ["us", "gb", "de", "jp", "in", "br"]
}

Top 100 paid games in Germany, with descriptions:

{ "mode": "charts", "chartFeed": "top-paid", "chartGenreId": "6014", "country": "de", "limit": 100, "includeDescription": true }

Sample output

Real record from a test run in charts mode (US Top Free, rank 1):

{
"appId": "407558537",
"bundleId": "com.capitalone.enterprisemobilebanking",
"name": "Capital One Mobile",
"developer": "Capital One Services, LLC",
"developerId": "339644101",
"developerUrl": "https://apps.apple.com/us/developer/capital-one/id339644101?uo=4",
"developerWebsite": "https://www.capitalone.com/applications/mobile/",
"price": 0,
"currency": "USD",
"formattedPrice": "Free",
"isFree": true,
"category": "Finance",
"categoryId": "6015",
"genres": ["Finance"],
"rating": 4.85,
"ratingCount": 11212519,
"version": "6.55.1",
"versionReleaseDate": "2026-10-05T15:22:57.000Z",
"releaseDate": "2010-12-13T08:00:00.000Z",
"minOs": "17.0",
"sizeBytes": 421811200,
"ageRating": "4+",
"languages": ["EN", "ES"],
"country": "us",
"chartFeed": "top-free",
"chartRank": 1,
"url": "https://apps.apple.com/us/app/capital-one-mobile/id407558537?uo=4",
"scrapedAt": "2026-10-21T05:58:42.040Z"
}

A few fields (currentVersionRating, currentVersionRatingCount, supportedDevicesCount, iconUrl, screenshotCount) are left out of this example for length.

Recipes

Daily Top Charts snapshot. Create a Schedule (e.g. 06:00 every day) with {"mode":"charts","chartFeed":"top-free","countries":["us","gb","de"],"limit":100}. Each run produces 300 ranked records with full details for about $0.15. Keep the dataset per run and join on appId + country + run date to chart rank movement over time.

Competitor change alerts. Schedule a lookup of your competitors' bundle ids with includeDescription: true and send the dataset to a Google Sheet; a second sheet with =IF(version<>previous_version, "UPDATED", "") (or a small Make/Zapier step) flags version bumps, price changes and new release notes.

Country price matrix. Lookup mode with countries set to every storefront you sell in; pivot the CSV on country with price/currency as values. Free apps in one country and paid in another show up immediately.

Keyword landscape for ASO. Search mode with 20-50 keywords and limit: 200; group by developer to see who dominates your niche, and by ratingCount to estimate traction.

Pricing

Pay per event: $0.0005 per app record ($0.50 per 1,000). No start fee and no per-request fee. maxItems is your hard cost cap; the run also stops when your Apify "max total charge" limit is reached. Records de-duplicated within a run (same app, same storefront) are free. Charts mode makes one extra lookup call per 200 ranked apps to enrich them, at no extra charge.

RunRecordsCost
Top 100 free apps, 3 countries300$0.15
50 competitor apps in 6 countries300$0.15
20 keywords at 200 apps eachup to 4,000up to $2.00

Integrations and scheduling

  • Apify Schedules: daily chart snapshots or competitor lookups. Keep each run's dataset to chart rank movement over time.
  • Webhooks: call your endpoint when a run finishes.
  • Make, n8n, Zapier: send changes to Slack, Airtable or a CRM.
  • Google Sheets: export the dataset or sync it with the Apify integration.
  • API and MCP: call the Actor from code or an AI agent and read JSON.

Limits worth knowing

  • No user reviews or reviewer names: only business-level app metadata.
  • No download counts, revenue, keyword rankings by position or in-app purchase data. Apple does not publish those in these feeds.
  • Search returns at most 200 results per term per country.
  • Apple throttles about 20 calls per minute per IP, so the Actor defaults to 18 requests per minute.
  • Everything is per storefront: prices, availability and ratings differ by country.

FAQ

Is there an App Store API for app data and rankings?

Apple's iTunes Search API gives app details and its chart feeds give rankings, both free and public. This Actor wraps them with throttling, retries, enrichment and Apify scheduling. It does not replace App Store Connect, which covers your own apps' analytics.

How do I get the App Store top charts for a country?

Use mode: "charts", set chartFeed to top-free or top-paid, and set country. Add chartGenreId for a category chart.

How do I compare an app's price in different countries?

Use lookup mode with countries set to the storefronts you care about. Each app is saved once per country with its local price and currency.

Do I need an Apple developer account or API key?

No. The feeds used are public and unauthenticated. This Actor never logs in.

The Actor uses the iTunes Search API that Apple documents for public use, at a request rate within Apple's published guidance (about 20 calls per minute per IP). Apple asks that content from the API link back to the App Store, which is why every record carries its url. Icon URLs are promotional artwork licensed by Apple for promoting store content; do not reuse them for other purposes. This Actor is not affiliated with, endorsed by or operated by Apple.

Why are ratings or prices different from what I see on my phone?

Ratings, prices, currency and even availability are per storefront. Set country (or countries) to the storefront you care about; the country field tells you which one each record came from.

Why did an app come back thin, with null rating and version, in charts mode?

The chart feed listed an app that the lookup endpoint did not return for that storefront (delisted, region-locked or a momentary inconsistency). The rank, name, developer and link are still saved so the chart stays complete.

Can I get user reviews or reviewer names?

No. Reviews are out of scope by design; only business-level app metadata is collected.

How many apps can a search return?

Apple caps a search at 200 results per term. Use several more specific terms, or run the same terms in more storefronts, to widen coverage.

What is the maximum chart length?

200 for Top Free / Top Paid (overall or per category). Category charts and lengths above 100 are served from Apple's legacy RSS chart feed; the Actor switches automatically.

What happens on rate limits or errors?

Requests are spaced by requestsPerMinute (default 18). If Apple still answers 403 or 429, the Actor backs off exponentially and, when a proxy is configured, rotates to a fresh IP. 5xx and network errors are retried up to maxRetries times.

Disclaimer

Data is obtained from Apple's public App Store search API and chart feeds. This Actor is an independent project and is not affiliated with, endorsed by or sponsored by Apple Inc. Apple, App Store, iTunes and the Apple logo are trademarks of Apple Inc., registered in the U.S. and other countries. Per Apple's API terms, please keep the App Store link (url) alongside any data you display, treat icon and screenshot URLs as promotional artwork for promoting App Store content only, and stay within Apple's rate guidance. You are responsible for how you use the data.