App Store Keyword Rankings (SERP Capture)
Pricing
from $1.00 / 1,000 results
App Store Keyword Rankings (SERP Capture)
Capture Apple App Store search rankings for any keyword and storefront — organic results plus sponsored slots, one row per result.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AppSigma.io
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
App Store Keyword Rankings 🔎 (SERP Capture)
See exactly where apps rank in Apple App Store search. Give this Actor a list of keywords and it returns the ranked search results a real user sees — organic results and Apple's sponsored ("ad") slots — for any keyword, in any country storefront. One clean row per result, ready to export to CSV, Excel, JSON, or push into your own pipeline.
No scraping, no proxies, no HTML parsing, no rate-limit headaches. Powered by the AppSigma App Store API, served straight from Apple's data.
What it does
For every keyword × country you provide, the Actor runs one App Store search and records each result as a flat row — its rank, whether it's organic or a paid ad, and the app's full listing snapshot (developer, category, rating, price, devices, and more).
- ✅ Organic + sponsored results, ranked exactly as Apple returns them
- ✅ Any storefront — search the same keyword across
us,gb,de,jp, … - ✅ Rich app data per result — no second lookup needed
- ✅ Flat, spreadsheet-friendly output (nested fields pre-unwrapped into columns)
- ✅ Fast & reliable — parallel requests, automatic retries, no proxies to configure
Use cases
- ASO keyword tracking — monitor where your app (and competitors) rank for target keywords, per country, over time.
- Competitor SERP monitoring — snapshot the full ranked list for a keyword and watch it shift release-to-release.
- Apple Search Ads audit — capture which apps are buying the sponsored slot for a keyword and how often.
- Market & category research — discover the top apps surfacing for a whole set of keywords in a niche.
Input
Configure it from the visual input form or pass JSON:
| Field | Type | Default | Description |
|---|---|---|---|
keywords (required) | array of strings | — | Search terms, exactly as typed into App Store search |
countries | array of strings | ["us"] | ISO 3166-1 alpha-2 storefronts; each keyword is searched in every one |
resultsPerKeyword | integer 1–50 | 10 | Max organic results to capture per keyword, in Apple's rank order |
includeAds | boolean | true | Include Apple's sponsored slot(s) shown above organic results |
maxResults | integer | 0 | Stop after this many total rows (0 = no limit) |
concurrency | integer 1–20 | 5 | How many searches to run in parallel |
iconWidth | integer 16–2048 | 512 | Pixel width for the ready-to-use icon image URL |
Example input
{"keywords": ["photo editor", "video editor"],"countries": ["us", "gb"],"resultsPerKeyword": 25,"includeAds": true}
Output
Each row is one search result. Nested objects (developer, rating, price) are flattened into plain columns so the data drops straight into a spreadsheet.
Example row
{"keyword": "spotify","country": "us","slot": "organic","rank": 1,"appId": 324684580,"name": "Spotify: Music and Podcasts","shortName": "Spotify","subtitle": "Songs, Playlists & Audiobooks","developerId": 324684583,"developerName": "Spotify","primaryGenre": "Music","primaryGenreId": 6011,"icon": "https://is1-ssl.mzstatic.com/image/thumb/.../AppIcon/512x0w.png","ratingScore": 4.8,"ratingCount": 41049614,"priceFormatted": "Free","priceAmountMinor": 0,"priceCurrency": "USD","priceDiscount": false,"hasInAppPurchases": false,"hasAds": true,"supportsArcade": false,"hasAchievements": false,"supportedDevices": ["appletv", "watch", "iphone", "ipad"],"releaseDate": "2011-07-14T00:00:00.000Z","deletedInStoreAt": null,"_fetchedAt": "2026-07-24T11:22:22.856Z"}
Fields
| Field | Description |
|---|---|
keyword, country | The query and storefront that produced this row |
slot | organic or ad |
rank | 1-based position within its slot |
appId, name, shortName, subtitle | App identity |
developerId, developerName | Publisher |
primaryGenre, primaryGenreId | Apple category |
ratingScore, ratingCount | Aggregate star rating and number of ratings |
priceFormatted, priceAmountMinor, priceCurrency, priceDiscount | Pricing (priceAmountMinor is in minor units, e.g. cents) |
hasInAppPurchases, hasAds, supportsArcade, hasAchievements | Store flags |
supportedDevices, releaseDate | Device support, first-release date |
icon | Ready-to-use icon image URL, sized to iconWidth (default 512px) |
_fetchedAt | When the row was captured (ISO 8601) |
Exporting & integrating
Results land in a standard Apify dataset, so you can:
- Download as CSV, JSON, Excel, XML, or RSS from the run's Storage tab.
- Fetch via API — pull the dataset programmatically with the Apify API or clients.
- Automate — schedule runs, or connect to Make, Zapier, n8n, Slack, and more.
Pricing
This Actor is pay per result — you're charged per row it returns, with no platform
usage or compute to reason about. Use resultsPerKeyword and maxResults to control
exactly how many rows (and how much spend) each run produces.
FAQ
Do I need an API key or an account anywhere? No. Just provide keywords and run it — billing is handled through Apify.
How is this different from the free iTunes Search API? You get the ranking and Apple's paid-ad slot and a full listing snapshot per result, in a stable, flat schema — no HTML parsing, storefront juggling, or undocumented quirks.
Can I search outside the US?
Yes — put any ISO country codes in countries (e.g. ["us","gb","de","jp"]). Apple
ranks per storefront, so the same keyword returns different orders per country.
What are the "ad" rows?
Apple inserts a sponsored (Apple Search Ads) result above organic results for many
queries. Those come back with slot: "ad". Set includeAds: false to skip them.
How many results can I get per keyword? Up to 50 organic results per keyword (Apple's maximum), plus any sponsored slot.