Apple App Store Scraper avatar

Apple App Store Scraper

Pricing

Pay per usage

Go to Apify Store
Apple App Store Scraper

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

Milad Amirzadeh

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 scrape
    • url (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 .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m src

or use

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
apify run

Input is read from ./storage/key_value_stores/default/INPUT.json when running locally (standard Apify SDK behavior).