App Store apps - search, lookup, reviews (iTunes public API)
Pricing
from $5.00 / 1,000 records
App Store apps - search, lookup, reviews (iTunes public API)
App Store scraper on Apple's public iTunes Search API: one row per app - id, name, bundle id, seller, price, rating, rating count, version, release dates, genres, min OS, size, description, URL. Search by term or look up by id/bundle id in any country; optional review rows. $5 per 1,000 rows.
Pricing
from $5.00 / 1,000 records
Rating
0.0
(0)
Developer
RetrainMap Team
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Returns: one row per App Store app: id, name, bundle id, seller, price, currency, average rating, rating count, version, release and update dates, genres, minimum OS, file size, description, store URL - and, optionally, one row per customer review (newest first).
Input: { "search_terms": ["todo list"], "country": "us", "max_records": 100 } or { "app_ids": ["284882215", "com.burbn.instagram"], "include_reviews": true }.
Price: $5.00 per 1,000 rows ($0.005 per app or review row) plus $0.10 per run. Pay per event; no subscription.
One row per app from Apple's public iTunes Search API (https://itunes.apple.com/search
and https://itunes.apple.com/lookup, no key) - search by keyword in any App Store country,
or look up known apps by numeric id or bundle id - with the app's metadata as Apple serves
it, normalised to one flat row. Turn on include_reviews to add the newest customer
reviews for every app from Apple's public customer-reviews RSS feed (title, text, stars,
version, author, date).
The prefilled input (term "todo list", US store, 100 rows, no reviews) succeeds within 5 minutes and returns rows - Apify auto-tests it daily.
Data source and status
| Publisher | Apple Inc. - iTunes Search API and the App Store customer-reviews RSS feed |
| API | https://itunes.apple.com/search?term=&country=&entity=software&limit= and https://itunes.apple.com/lookup?id= |
| What this Actor reads | One search request per term (limit <= 200), lookups 100 ids per request, review pages of 50; at most one request per 3 seconds by default (Apple documents ~20 Search API calls per minute) |
| Refresh cadence | Live on every run; fetched_at on each row is the fetch time. Ratings, prices and reviews are per store front (country) |
| Terms | Apple's Search API terms of use apply (https://www.apple.com/legal/internet-services/terms/site.html and the API documentation's usage notes): the data is for informational, non-misleading use with attribution to Apple. This Actor reads only the public, unauthenticated endpoints |
| Known caveats | A search returns at most 200 apps per term (the API's ceiling; Apple de-duplicates, so a 200-row request can return fewer) and there is no reliable paging - use several terms for breadth. Search relevance is Apple's own. The reviews feed serves the 500 newest reviews per app (10 pages of 50) and contains only reviews with text - star-only ratings are not in it, so review counts differ from ratingCount. Ids that do not exist in the chosen country are listed in the run summary, not guessed |
Honesty note: the rows are Apple's own fields renamed and flattened (trackName -> name,
userRatingCount -> ratingCount, sellerName -> seller); description and
releaseNotes are cut at 3,000 characters; nothing is inferred, summarised or classified
by this Actor, and a run stops with an error rather than guess when the API's shape changes.
Identification: the requests carry a product-token User-Agent and the operator's
contact address in the standard From: header (RFC 9110 §10.1.2).
Input
| Field | Type | Meaning |
|---|---|---|
search_terms | array of strings | One search per term; <= 200 apps each |
app_ids | array of strings | Numeric App Store ids (284882215, id284882215) and/or bundle ids (com.burbn.instagram) |
country | string | Two-letter store front, default us |
max_records | integer | Maximum app rows, default 100, at most 5,000 |
include_reviews | boolean | Add review rows per app, default false |
max_reviews_per_app | integer | Newest reviews per app, default 50, at most 500 |
request_interval_ms | integer | Default 3000 (floor 1000) |
contact_email | string | Sent in the From: header |
Example - Facebook and Instagram in the UK store with their 100 newest reviews each:
{ "app_ids": ["284882215", "com.burbn.instagram"], "country": "gb", "include_reviews": true, "max_reviews_per_app": 100 }
Output (dataset row)
App rows (record_type = app): trackId, name, bundleId, seller, sellerId,
sellerUrl, price, formattedPrice, currency, averageUserRating, ratingCount,
averageUserRatingForCurrentVersion, ratingCountForCurrentVersion, version,
releaseDate, currentVersionReleaseDate, releaseNotes, primaryGenre, genres,
genreIds, contentAdvisoryRating, minimumOsVersion, fileSizeBytes, languages,
supportedDevicesCount, isGameCenterEnabled, artworkUrl, screenshotCount,
description (<= 3,000 chars), url, kind, country, matched_by (search:<term>,
lookup:id, lookup:bundleId), fetched_at, source.
Review rows (record_type = review): trackId, name, reviewId, reviewTitle,
reviewText, reviewRating (1-5), reviewVersion, reviewAuthor, reviewDate,
reviewVoteCount, reviewVoteSum, country, fetched_at, source.
A run summary (filters, per-term result counts, ids not found, app and review row counts,
requests, whether the pay-per-event budget stopped the run) is stored as RUN_SUMMARY in
the run's key-value store.
Pricing (pay per event)
| Event | Price |
|---|---|
run-start - once per run | $0.10 |
record - per row written (app or review) | $0.005 |
The prefilled pull (<= 100 app rows) costs at most $0.60; 100 apps with 50 reviews each (5,100 rows) cost $25.60. Rows stop when your run's maximum charge is reached; the run summary says so.
Operator
Steelyard Ventures LLC (RetrainMap) - info@steelyardclinical.com. Not affiliated with Apple Inc. App Store, iTunes and Apple are trademarks of Apple Inc. The Actor writes only to its own dataset and key-value store; it stores no credentials and sends nothing else.