Apple App Store Scraper: App Lookup & Search
Pricing
from $1.00 / 1,000 results
Apple App Store Scraper: App Lookup & Search
Apple App Store app metadata (title, developer, price, rating, rating count, genre, version, dates, URL) by app ID/URL or keyword search, via Apple's public iTunes Search API. No charts, no reviews. Not affiliated with Apple.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
dj orona
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
Returns app metadata (title, developer, price, rating, rating count, genre, version, release and update dates, store URL, icon URL) from the Apple App Store for app IDs or URLs you give it, or for the results of App Store keyword searches. Built for app-market research, competitor tracking and keeping app catalogs up to date.
Data comes from Apple's public iTunes Search and Lookup API. The tool does not load apps.apple.com pages, does not use proxies and needs no login or API key.
Limits, up front:
- Apple App Store only. Google Play is not included.
- Top charts are not included. This version does lookups and searches only.
- No reviews, no review text, no developer contact details (email, phone, address, website).
- Up to 10 app IDs/URLs per run in lookup mode; up to 50 results per search term.
- Requests are spaced about 3 seconds apart, one at a time. A lookup of up to 10 IDs, or one search term (up to 50 apps), is a single request, so a typical run finishes in seconds; each extra search term adds about 3 seconds.
Independent tool, not affiliated with or endorsed by Apple.
Who it's for
- App marketers and ASO analysts checking where apps appear for a keyword in a given country.
- Product and research teams tracking competitors' prices, ratings, versions and update dates.
- Developers who need clean, consistent app metadata in JSON, CSV or Excel.
Input
You can use either mode or both in one run.
| Field | Type | What it does |
|---|---|---|
appIds | array of strings | Lookup mode. Numeric App Store IDs (e.g. 284882215), id284882215, or apps.apple.com URLs (e.g. https://apps.apple.com/us/app/facebook/id284882215). URLs are only parsed for the ID, never fetched. Max 10 per run. |
searchTerms | array of strings | Search mode. Keywords to search the App Store for (iPhone apps), e.g. weather. Max 5 terms, 100 characters each. |
searchLimit | integer | Apps returned per search term. 1 to 50, default 10. |
country | string | 2-letter App Store storefront code (us, gb, de, jp...). Controls price, currency, rating and availability. Default us. |
includeRunReport | boolean | If true, the first dataset row is a run report (not charged, different shape from app rows). Default false; the report is always saved to the key-value store as RUN_SUMMARY. |
Empty input {} runs a lookup of three well-known app IDs: 284882215, 310633997 and 544007664, in the us storefront. The form's prefill is the same.
Example:
{"appIds": ["284882215", "https://apps.apple.com/us/app/whatsapp-messenger/id310633997"],"searchTerms": ["weather"],"searchLimit": 10,"country": "us"}
Output
One row per app. Every row has every field below; a value Apple doesn't provide is null, never missing.
| Field | Meaning |
|---|---|
platform | Always "apple". |
appId | Numeric App Store ID, as a string. |
bundleId | App bundle identifier, e.g. com.facebook.Facebook. |
title | App name. |
developerName | Seller/developer name as shown on the store. |
developerId | Apple's numeric developer ID, as a string. |
price | Price as a number in the storefront currency. 0 means free. |
currency | Currency code, e.g. USD. |
rating | Average user rating (0 to 5) as reported by Apple for that storefront. |
ratingCount | Number of user ratings as reported by Apple for that storefront. |
genre | Primary category, e.g. Social Networking. |
version | Current version string. |
updatedAt | Release date of the current version, as returned by Apple (not re-formatted). |
releaseDate | Original release date, as returned by Apple (not re-formatted). |
contentRating | Age rating, e.g. 12+. |
url | App Store page URL, without tracking parameters. |
icon | URL of the app icon image hosted by Apple. Reuse of the image is subject to Apple's terms. |
searchRank | Position in Apple's search results for the term (search mode only; null in lookup mode). |
country | The storefront code used. |
scrapedAt | When the row was collected (ISO 8601, UTC). |
Example row (values illustrative):
{"platform": "apple","appId": "284882215","bundleId": "com.facebook.Facebook","title": "Facebook","developerName": "Meta Platforms, Inc.","developerId": "284882218","price": 0,"currency": "USD","rating": 4.6,"ratingCount": 1000000,"genre": "Social Networking","version": "500.0.0","updatedAt": "2026-09-30T07:00:00Z","releaseDate": "2019-02-05T08:00:00Z","contentRating": "12+","url": "https://apps.apple.com/us/app/facebook/id284882215","icon": "https://is1-ssl.mzstatic.com/image/thumb/.../512x512bb.jpg","searchRank": null,"country": "us","scrapedAt": "2026-10-03T12:00:00.000Z"}
Problems are reported, not hidden. An invalid or unknown ID, a rate limit or a block produces a status message (in the log, and in the run report) instead of an app row. Status rows and run reports are never charged.
Pricing
Pay per event: $1.00 per 1,000 app rows ($0.001 per row). No start fee. You pay only for app rows returned; status rows and run reports are free. Apify platform usage is billed by Apify as usual.
Polite by design
- About 3 seconds between requests, one request at a time.
- On HTTP 429 or 503 it waits for Apple's
Retry-Aftertime, then records a status row if the request still fails. - On a 403 or challenge page it stops cleanly and reports it; it does not try to get around it.
Reliability
Not yet measured. We will publish measured figures once we have them.
FAQ
Does it include top charts? No. This version does app lookups and keyword searches only.
Does it include Google Play? No, Apple App Store only.
Can I get reviews? No. Reviews and reviewer data are not collected.
Why are prices or ratings different from what I see? They depend on the storefront. Set country to the store you want.
Is search the same as the App Store app's search? Results come from Apple's public iTunes Search API, which can differ from what the App Store app shows on a device.
Why is it not faster? Requests are deliberately spaced about 3 seconds apart to stay polite to Apple's API.
Something broke. What now? Open an issue on the Actor's Issues tab with the run ID. We aim to fix breaks quickly.