Run it without installing anything: apify.com/praise-most-high/app-store-intelligence — this repository is the MIT-licensed source of that Actor. Clone it,
apify pushyour own copy, or just run the hosted one. No API key is required by the upstream this Actor reads.
Unofficial. This Actor is not affiliated with, endorsed by, or sponsored by Apple Inc. "Apple", "App Store" and "iTunes" are trademarks of Apple Inc., used here only to describe the public data source this Actor reads. It is an independent tool that calls Apple's own public iTunes Lookup/Search API.
Pull structured records for any app on the Apple App Store, in any of Apple's storefronts, by App ID, bundle ID, or search term — and diff today's snapshot against yesterday's so you see what changed, not just what is.
Every record carries the fields that move: price, currency, rating, ratingsCount,
version, lastUpdated, category, developer, plus screenshots, description and release
notes. Point the Actor at a competitor set, schedule it daily, and it emits one row per app
per run — or, in changesOnly mode, only the apps whose watched fields actually moved.
- Competitive price & rating watch — get told the day a rival drops to free, or their rating slips below 4.0.
- ASO / release tracking —
version+lastUpdated+ release notes give you a shipping cadence for any app you care about. - Portfolio monitoring — publishers watching their own catalogue across 175 storefronts.
- Enrichment — resolve a bundle ID or a search term to a full, typed app record.
It does not scrape the App Store website, it does not bypass anything, and it does not read individual user reviews. It calls Apple's own public lookup API — which is why it is fast, stable, and returns exactly what Apple publishes.
Data freshness. Straight from Apple on every run; nothing is cached between runs.
| Field | Type | Default | Notes |
|---|---|---|---|
appIds |
string[] | [] |
Apple numeric track IDs, e.g. 284882215. Fastest path — uses the /lookup endpoint. |
bundleIds |
string[] | [] |
e.g. com.facebook.Facebook. Also resolved via /lookup. |
searchTerms |
string[] | [] |
Free-text app search. Off the default path — see Responsible use. |
country |
string | us |
ISO-2 storefront code. 175 storefronts supported by Apple. |
limit |
integer | 20 |
Max results per search term (1–200). Ignored for ID/bundle lookups. |
includeRatings |
boolean | true |
Include rating / ratingsCount. |
changesOnly |
boolean | false |
Emit a row only when a watched field differs from the previous run. |
watchFields |
string[] | ["price","rating","version"] |
Fields compared when changesOnly is on. |
maxConcurrency |
integer | 5 |
Deliberately conservative. |
changesOnly keeps its previous snapshot in the Actor's own named key-value store, keyed by
appId+country. The first run has no baseline, so it emits everything and says so in the log.
At least one of appIds, bundleIds, searchTerms must be non-empty; the Actor exits with a
clear message rather than a silent empty dataset if all three are blank.
One dataset item per app per run:
appId, appName, bundleId, developer, developerId, category, genres[],
price, currency, formattedPrice, rating, ratingsCount, currentVersionRating,
version, releaseDate, lastUpdated, releaseNotes, description,
contentRating, size, languages[], screenshots[], icon, storeUrl,
country, scrapedAt
Plus, when changesOnly is on: changedFields[], previous{}, previousSeenAt.
Public data only. The Actor reads Apple's public iTunes Lookup and Search endpoints over plain HTTPS. No account, no API key, no session cookie, no CAPTCHA solving, no headless browser, no proxy rotation.
No personal data. No user names, no individual review text, no device identifiers, no purchase history. Rating fields are Apple's published aggregates, never per-person records.
robots.txt, stated plainly. Checked live against itunes.apple.com/robots.txt:
/lookup?id= is allowed; /search* is disallowed. Accordingly the default path is
/lookup (appIds/bundleIds never touch /search), searchTerms is opt-in and empty by
default, the search path is rate-limited to ≤1 request/second regardless of maxConcurrency,
and search is used only to resolve a term to app IDs — the full record still comes from
/lookup. The Actor backs off exponentially on any 403/429 rather than retrying hard.
Your obligations as a user. Do not republish Apple's descriptions, screenshots or icons as your own content. Apple's aggregate ratings are Apple's; attribute them. App metadata may be copyrighted by the app's developer — this is a research and monitoring tool, not a redistribution pipeline.