App Store Search Scraper API
Our App Store search scraper turns any keyword into the ranked iOS results Apple shows: position, app id, title, developer, rating, review count, price, and genre for each hit, returned as structured JSON from one request.
Quickstart
curl "https://api.appstorescraperapi.com/api/v1/appstore/search?term=spotify&limit=10&api_key=$API_KEY" import requests
BASE = "https://api.appstorescraperapi.com"
API_KEY = "YOUR_API_KEY"
# One keyword in, the ranked iOS app results out as JSON.
data = requests.get(
f"{BASE}/api/v1/appstore/search",
params={
"term": "spotify", # the search keyword or app name
"country": "us", # storefront, two-letter ISO code
"limit": 10, # up to 200 results
"api_key": API_KEY,
},
timeout=30,
).json()
print(data["query"], "-", data["total_results"], "results")
for app in data["results"]:
print(app["position"], app["title"], app["seller_name"], app["rating"]) Response
{
"query": "spotify",
"page": 1,
"total_results": 9,
"results": [
{
"position": 1,
"id": "324684580",
"track_id": "324684580",
"bundle_id": "com.spotify.client",
"title": "Spotify: Music and Podcasts",
"seller_name": "Spotify",
"artist_id": "324684583",
"primary_genre": "Music",
"genres": ["Music", "Entertainment"],
"price": 0,
"formatted_price": "Free",
"currency": "USD",
"rating": 4.78001,
"reviews_count": 40698000,
"content_advisory_rating": "12+",
"version": "9.1.60",
"minimum_os_version": "16.1",
"artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/50/c5/33/50c533fe-3854-b5ce-92c5-b2a1cb4fafe2/AppIcon.png/512x512bb.jpg",
"kind": "software",
"url": "https://apps.apple.com/us/app/spotify-music-and-podcasts/id324684580?uo=4"
},
{
"position": 2,
"id": "1108187390",
"track_id": "1108187390",
"bundle_id": "com.apple.Music",
"title": "Apple Music",
"seller_name": "Apple Inc.",
"artist_id": "284417353",
"primary_genre": "Music",
"genres": ["Music"],
"price": 0,
"formatted_price": "Free",
"currency": "USD",
"rating": 4.85797,
"reviews_count": 2883178,
"content_advisory_rating": "12+",
"version": "2.9",
"minimum_os_version": "10.0",
"artwork_url": "https://is1-ssl.mzstatic.com/image/thumb/Purple221/v4/31/6c/c3/316cc33a-5e7d-8902-58eb-f4e16c5d9440/music.png/512x512bb.jpg",
"kind": "software",
"url": "https://apps.apple.com/us/app/apple-music/id1108187390?uo=4"
}
]
} | 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 | Ranked app results, each an object with the fields below. |
position | integer | The app's rank in the results, starting at 1. |
id | string | The App Store track id for the result. track_id mirrors it. |
title | string | The app's display name. |
seller_name | string | The developer or seller behind the app. |
Use it for
Keyword rank tracking
Competitor discovery
ASO keyword research
Market mapping
Pricing
| 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
What is an App Store search scraper?
An App Store search scraper is a tool that returns the ranked iOS app results for a keyword as structured data. Our App Store search scraper API takes a search term and returns each result's position, app id, title, developer, rating, review count, price, and genre as JSON from a single request, so you do not parse an in-app results screen yourself.
How do I scrape App Store search results by keyword?
Send one GET request to our appstore/search endpoint with term set to your keyword and your API key. Optionally add country for a specific storefront and limit for how many results you want, up to 200. We handle proxies, anti-bot checks, and retries and return the ranked results as clean JSON.
How many results can I get per search?
Up to 200 per call. The limit parameter defaults to 10 and accepts any value up to the 200 hard cap that Apple's search endpoint supports. Each result includes the app id, so you can pass the ids you care about to the product endpoint for full detail.
Can I search a specific country's App Store?
Yes. Set the country parameter to a two-letter ISO storefront code, for example gb or de. The default is us. Rankings, prices, and availability reflect the storefront you request, which lets you track how a keyword ranks in different regions.
Do I need an Apple key to scrape App Store search?
No. You only need an appstorescraperapi key passed as the api_key query parameter. There is no Apple developer account and no OAuth. The endpoint reads Apple's public search results, and the free tier includes 1,000 requests per month.
How fast is the App Store search scraper API?
Median end-to-end response is about 2.6 seconds, including proxy routing, anti-bot handling, retries, and parsing. Apple's search endpoint throttles at roughly 20 requests per minute per IP and returns a 403 past that, which is the limit our proxy rotation and retries handle so your search jobs keep running.