Apple App Store Scraper
Pricing
Pay per usage
Apple App Store Scraper
Fetches app metadata from the Apple App Store with optional version gating.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Milad Amirzadeh
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Fetches app metadata from the Apple App Store for a list of app URLs. Optionally gates output on the current store version being strictly newer than a supplied minimum version — useful for polling apps and only processing them when a new release appears.
Input
{"apps": [{"url": "https://apps.apple.com/us/app/telegram-messenger/id686449807","minVersion": "12.5"},{"url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580"}]}
apps(array, required): list of apps to scrapeurl(string, required): full Apple App Store URL (any country)minVersion(string, optional): if provided, only emit full data when the current store version is strictly greater than this value. Omit to always fetch full data.
Output
One dataset record per input item. Non-skipped records include the full field set; skipped records include skipped: true and a reason.
Example — full record:
{"url": "https://apps.apple.com/us/app/telegram-messenger/id686449807","appId": "686449807","skipped": false,"name": "Telegram Messenger","subtitle": "Messenger for the people","developer": "Telegram FZ-LLC","category": "Social Networking","price": "Free","currentVersion": "12.6","releaseNotes": "- New animated emoji...","lastUpdatedDate": "2024-11-15T00:00:00Z","releaseDate": "2013-08-14T00:00:00Z","rating": 4.6,"ratingCount": 1234567,"ageRating": "17+","size": "200.0 MB","languages": ["English", "Arabic", "..."],"compatibility": "Requires iOS 16.0 or later.","description": "Pure instant messaging...","seller": "Telegram FZ-LLC","copyright": "© 2024 Telegram FZ LLC","inAppPurchases": false,"privacyDataCategories": ["CONTACT_INFO", "IDENTIFIERS"],"screenshotUrls": ["https://is1-ssl.mzstatic.com/..."],"iconUrl": "https://is1-ssl.mzstatic.com/image/thumb/.../512x512bb.png","chartRank": "5","chartCategory": "Social Networking","websiteUrl": "https://telegram.org/","scrapedAt": "2024-12-01T00:00:00+00:00"}
Example — skipped record (current version not newer than minVersion):
{"url": "https://apps.apple.com/us/app/telegram-messenger/id686449807","appId": "686449807","skipped": true,"reason": "current version not newer than minVersion","currentVersion": "12.4","minVersion": "12.5","scrapedAt": "2024-12-01T00:00:00+00:00"}
Example — error record (network failure, unparseable URL, etc.):
{"url": "https://apps.apple.com/us/app/bad-url/id999","appId": "999","skipped": true,"error": "HTTP 404","scrapedAt": "2024-12-01T00:00:00+00:00"}
Screenshots
Screenshots are under test and review.
Running locally
python3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtpython -m src
or use
python3 -m venv .venvsource .venv/bin/activatepip install -r requirements.txtapify run
Input is read from ./storage/key_value_stores/default/INPUT.json when running locally (standard Apify SDK behavior).