iOS App Data Scraper API
Our iOS app data scraper runs Apple's iTunes Search API for you: pass a term and get each catalog match back as JSON with id, title, artist, type, genre, artwork, and store URL. Set media to software to narrow the results to iOS apps.
The hard part of iOS App data
Apple's iTunes Search API is free and key-free, but it throttles at roughly 20 requests per minute per IP and returns a 403 block page once you cross the line, which stalls any real batch job. Its results also mix every media type by default, so an iOS-app pull needs the right media filter and careful IP rotation to run at scale.
Send one request to the iOS App Data Scraper API
curl "https://api.appstorescraperapi.com/api/v1/itunes/search?q=meditation&media=software&limit=10&api_key=$API_KEY" import requests
BASE = "https://api.appstorescraperapi.com"
API_KEY = "YOUR_API_KEY"
# Search Apple's catalog. media=software narrows the results to iOS apps.
data = requests.get(
f"{BASE}/api/v1/itunes/search",
params={
"q": "meditation", # the search term
"media": "software", # software = iOS apps; all = whole catalog
"limit": 10, # up to 200 results
"country": "us", # storefront, two-letter ISO code
"api_key": API_KEY,
},
timeout=30,
).json()
print(data["query"], "-", data["total_results"], "results")
for item in data["results"]:
print(item["position"], item["type"], item["title"], "-", item["id"]) Parameters
| Parameter | Required | Default | Notes |
|---|---|---|---|
q | required | - | The search term (app name, artist, keyword, etc.). This is the primary parameter. |
media | optional | all | Media type filter. Set software for iOS apps. Apple also accepts movie, podcast, music, musicVideo, audiobook, shortFilm, tvShow, ebook, and all (the default). |
limit | optional | 20 | Maximum number of results to return. Defaults to 20, hard cap 200. |
country | optional | - | Two-letter ISO storefront country. Apple defaults to the US store when omitted. |
url | optional | - | An itunes.apple.com search URL. Pass it and we run it as the query. For most cases q with media is simpler. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
Reading the iOS App Data Scraper API response
{
"query": "coldplay",
"page": 1,
"total_results": 20,
"results": [
{
"position": 1,
"id": "1807954924",
"title": "Coldplay: Music of Spheres - Live at River Plate",
"url": "https://itunes.apple.com/us/movie/coldplay-music-of-spheres-live-at-river-plate/id1807954924?uo=4",
"artist": "Paul Dugdale",
"type": "feature-movie",
"thumbnail": "https://is1-ssl.mzstatic.com/image/thumb/Video221/v4/c0/9b/97/c09b971d-0df5-3e04-0298-1de57f1cc453/COLDPLAY_MOS_.jpg/100x100bb.jpg",
"genre": "Concert Films"
},
{
"position": 11,
"id": "1792305199",
"title": "The Forest is the Path",
"url": "https://books.apple.com/us/audiobook/the-forest-is-the-path/id1792305199?uo=4",
"artist": "Gary Lightbody",
"type": "audiobook",
"thumbnail": "https://is1-ssl.mzstatic.com/image/thumb/Music221/v4/78/a3/1a/78a31a16-0fcc-d43e-50aa-3aef5567410a/9780008751920.jpg/100x100bb.jpg",
"genre": "Biographies & Memoirs"
}
]
} | Field | Type | Description |
|---|---|---|
query | string | The search term echoed back from your request. |
page | integer | The result page number for this response, starting at 1. |
total_results | integer | Apple's reported result count for the query. |
results | array | The catalog matches, each an object with the fields below. |
position | integer | The item's rank in the results, starting at 1. |
id | string | The Apple catalog id for the item (trackId, collectionId, or artistId, whichever applies). |
title | string | The item name (track, collection, or artist name). |
url | string | The item's Apple store URL, on apps.apple.com, books.apple.com, itunes.apple.com, or similar depending on type. |
artist | string | The artist, developer, or author name behind the item. |
type | string | The item kind, e.g. software for an iOS app, feature-movie, audiobook, or tv-episode. |
thumbnail | string | URL of the item's artwork thumbnail. |
genre | string | The item's primary genre or category. |
What you can ship with it
iOS app keyword search
App id resolution
Cross-catalog lookups
Media catalog enrichment
Discovery features
Storefront comparisons
Why our iOS App Data Scraper API earns its keep
Send a term and we run Apple's iTunes Search API for you, returning parsed JSON with a uniform shape, with no key from Apple and no per-IP throttle for you to nurse. Requests route through rotating proxies with retries across tiers, so an iOS-app pull with media=software (or a full-catalog query with media=all) keeps returning results in about 2.6 seconds instead of hitting a 403.
Media filtering
Up to 200 results per call
Anti-bot and proxy rotation
Auto-retry across pools
Uniform result shape
Feeds the app endpoints
iOS App Data Scraper API vs official and roll-your-own
| Our API | DIY (requests) | iTunes Search direct | |
|---|---|---|---|
| iOS app results | Yes, with media=software | Yes, if you handle the API yourself | Yes, with the entity param |
| Setup | API key only | Your own IPs and retry logic | None, but bring your own IPs |
| Rate limits | By plan, retries handled | Bound by your IP pool | Around 20 req/min/IP, then 403 |
| Result shape | Uniform JSON across media | Whatever you normalize | Raw Apple JSON, many fields |
| Anti-bot and proxies | Built in | You build and maintain it | Not included |
| Storefront targeting | country parameter | You set it per request | country parameter |
From free to high volume
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
An iOS app data scraper is a tool that returns iOS app records as structured data. Our iOS app data scraper API is built on Apple's iTunes Search API: pass a term with media set to software and it returns the matching iOS apps, each with its App Store id, title, developer, type, genre, artwork, and store URL as JSON. Hand any app id to the product endpoint for the full listing.
Set the media parameter to software. The iTunes Search API returns every media type by default, so software filters the results down to iOS apps. The example response on this page shows a media=all query for coldplay, which is why it returns concert films and audiobooks; adding media=software would return apps instead. Each app result carries the App Store id you can enrich through appstore/product.
The iTunes Search API covers Apple's whole catalog. Besides software for iOS apps, the media parameter accepts movie, podcast, music, musicVideo, audiobook, shortFilm, tvShow, ebook, and all. Leaving it on all searches everything at once, which is useful when you want any catalog match for a term rather than one media type.
The App Store search endpoint is app-only and returns rich app fields like rating, price, and version for each result. This iTunes search endpoint spans Apple's entire catalog and returns a lighter, uniform shape (id, title, artist, type, genre, artwork, url) across every media type. Use App Store search for deep iOS app detail, and iTunes search when you want cross-catalog coverage or to resolve names to Apple ids.
No. Apple's iTunes Search API is key-free, and you only need an appstorescraperapi key passed as the api_key query parameter. There is no Apple developer account and no OAuth. The value we add is getting past Apple's per-IP rate limit with proxy rotation and retries. The free tier includes 1,000 requests per month.
Median end-to-end response is about 2.6 seconds, including proxy routing, retries, and parsing. Apple's iTunes Search API throttles at roughly 20 requests per minute per IP and returns a 403 past that, so the proxy rotation and retries behind the endpoint are what let a batch of app lookups run without stalling.