App Store ASO Keyword & Rankings Scraper avatar

App Store ASO Keyword & Rankings Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
App Store ASO Keyword & Rankings Scraper

App Store ASO Keyword & Rankings Scraper

Track App Store keyword rankings, app metadata, reviews, and top charts by country using public iTunes endpoints.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Jura Moshkov

Jura Moshkov

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

an hour ago

Last modified

Share

App Store scraper and ASO keyword tool for the Apple App Store / iOS. Track App Store keyword rankings with a keyword difficulty score, app metadata, reviews, ratings, and top charts by country. This Actor uses Apple's public iTunes endpoints, so it is fast, lightweight, and does not need an API key or browser automation.

What This App Store Scraper Does

  • Check App Store keyword rankings for one or more apps across countries, with an ASO keyword difficulty score (0-100).
  • Extract app metadata: title, developer, bundle ID, rating, rating count, price, version, update date, icon, screenshots, and App Store URL.
  • Scrape recent or helpful App Store reviews.
  • Export top free, paid, or grossing App Store charts by country and optional genre.
  • Produce normalized dataset rows for ASO research, competitor monitoring, app intelligence, and market tracking.

App Store Keyword Rank Tracking

Rank tracking is the main job this Actor was built for. In rankings mode you give it the apps you care about and the keywords you want to be found for, and every keyword/country pair comes back as one row with the position your app currently holds.

  1. Put your app's numeric App Store ID in appIds — it is the number in your App Store URL, e.g. 284882215 in apps.apple.com/us/app/facebook/id284882215. Bundle IDs work too.
  2. List the search phrases in keywords. These should be phrases a user would actually type, not your app's category.
  3. List the storefronts in countries. Rankings differ per country, so us and de are two separate answers to the same question.
  4. Set maxSearchResults to how deep you want to look — 50 by default, up to 200. An app that is not in the top maxSearchResults comes back with found: false rather than a fake position.

Each row also carries keywordDifficulty, keywordResultCount, and topAppsAvgRatingCount, so a single run tells you both where you rank and whether the keyword is worth ranking for.

ASO Keyword Difficulty Score, Explained

Most App Store scrapers return positions and stop there. A position on its own does not tell you where to spend effort: rank 30 on a keyword nobody can win is worth less than rank 40 on one that is wide open.

keywordDifficulty is a 0-100 heuristic built from the search results themselves:

  • 80% competitor strength. The average rating count of the top 10 results, on a log10 scale, where roughly 1,000,000 ratings saturates the score. Ten established apps with millions of ratings each push this near the maximum.
  • 20% competition breadth. How many results the keyword returns at all, relative to 50. Thin result sets are easier to break into.

Read it as a moat estimate, not a promise. Low scores mark keywords where a well-optimized title and subtitle can still move you; high scores mark keywords where the incumbents' review counts are the barrier. Because topAppsAvgRatingCount ships in the same row, you can always see what drove the number.

App Store Metadata, Reviews, and Top Charts

The same Actor covers the three other jobs ASO work usually needs:

  • metadata — pull title, subtitle-level details, developer, genre, rating, rating count, price, currency, version, last update date, icon and screenshot URLs for any app by numeric ID or bundle ID. Numeric IDs are batched through Apple's lookup endpoint (metadataBatchSize, up to 200 per request), so auditing a large competitor set stays cheap.
  • reviews — export App Store reviews per app and country, sorted by mostrecent or mosthelpful, up to 500 per app/country. Useful as sentiment input or to mine the phrasing real users apply to your category.
  • charts — export top free, top paid, or top grossing charts by country, optionally narrowed to a genre ID (e.g. 6014 for Games). Run it on a schedule and you have a chart-movement dataset nobody publishes for free.

Use Cases

  • App Store ASO keyword rank tracking
  • Competitor app monitoring
  • App metadata and screenshot audits
  • App review exports for sentiment analysis
  • Country-level App Store top charts research
  • Keyword research: score a candidate keyword list by difficulty before committing to a title or subtitle
  • Daily app intelligence workflows through Apify integrations

Input

Choose one mode:

  • rankings - checks where each target app ranks for each keyword/country pair.
  • metadata - extracts app details by numeric App Store app ID or iOS bundle ID.
  • reviews - extracts App Store reviews by app ID and country.
  • charts - extracts top free, paid, or grossing app charts.

Example keyword ranking input:

{
"mode": "rankings",
"appIds": ["284882215"],
"keywords": ["social network", "messenger"],
"countries": ["us", "gb"],
"maxSearchResults": 50
}

Example metadata input:

{
"mode": "metadata",
"appIds": ["284882215"],
"bundleIds": ["com.instagram.ios"],
"countries": ["us"]
}

Example reviews input:

{
"mode": "reviews",
"appIds": ["284882215"],
"countries": ["us"],
"maxReviews": 100,
"reviewSortBy": "mostrecent"
}

Example top charts input:

{
"mode": "charts",
"countries": ["us"],
"chart": "topfreeapplications",
"maxChartResults": 100
}

Output

The Actor writes normalized rows to the default Apify dataset. Depending on the mode, rows include:

  • mode
  • country
  • keyword
  • rankPosition
  • keywordDifficulty (0-100 ASO difficulty, rankings mode)
  • keywordResultCount
  • topAppsAvgRatingCount
  • found
  • appId
  • bundleId
  • title
  • developer
  • genre
  • rating
  • ratingCount
  • price
  • currency
  • version
  • updated
  • url
  • reviewId
  • content
  • author
  • chart
  • category
  • checkedAt

Example ranking row:

{
"mode": "rankings",
"appId": 284882215,
"bundleId": "com.facebook.Facebook",
"title": "Facebook",
"keyword": "social network",
"country": "us",
"rankPosition": 42,
"keywordDifficulty": 78,
"keywordResultCount": 50,
"topAppsAvgRatingCount": 1840000,
"found": true,
"rating": 4.52,
"ratingCount": 27000000,
"price": 0,
"currency": "USD",
"version": "567.0.0",
"url": "https://apps.apple.com/us/app/facebook/id284882215?uo=4"
}

Pricing

Pay per result, with no run-start fee beyond Apify's standard one. There is no third-party API key to buy and no proxy bill: the Actor reads Apple's public iTunes endpoints directly, which is also why it runs without browser automation and finishes fast.

A rank-tracking run costs one result per keyword/country pair, so 20 keywords across 3 countries is 60 rows. Because there is no per-run minimum, checking 5 keywords daily is as economical as checking 200 weekly.

Scheduling and Integrations

Rankings only mean something as a time series — one snapshot tells you nothing about whether your last release helped.

  • Use Apify Schedules to run rankings mode daily or weekly and let the dataset accumulate. Every row carries checkedAt, so history is queryable without extra bookkeeping.
  • Export to CSV, JSON, or Excel, or push straight to Google Sheets, S3, or a webhook through Apify integrations.
  • Call the Actor from the Apify API to fold rank data into an existing ASO dashboard.

App Store Country Codes

Use two-letter App Store country codes such as:

  • us - United States
  • gb - United Kingdom
  • de - Germany
  • fr - France
  • es - Spain
  • br - Brazil
  • jp - Japan

FAQ

Is this App Store scraper free to use?

The Actor itself reads Apple's public iTunes endpoints. You only pay for Apify platform usage; there is no third-party API key or proxy cost.

Do I need an API key?

No. Unlike RapidAPI-based App Store APIs, this scraper calls Apple's public iTunes/App Store endpoints directly — no key, no login.

How do I track App Store keyword rankings?

Use rankings mode with your appIds (or bundleIds) and a list of keywords. Each row returns the app's rankPosition in App Store search plus a keywordDifficulty score for ASO prioritization.

What is the keyword difficulty score?

A 0-100 ASO signal estimating how hard a keyword is to rank for: 80% from the rating strength of the top 10 apps on a log10 scale, 20% from how many apps compete for the term. Raw App Store scrapers do not provide this.

How often should I check App Store rankings?

Daily for keywords you are actively working on, weekly for a broader watchlist. App Store search results move slowly enough that hourly checks mostly add cost, and every row is timestamped with checkedAt so a daily schedule builds a clean trend line.

Can I track competitor apps as well as my own?

Yes. appIds takes a list, and competitors are just more IDs. A common setup is your app plus three or four rivals against the same keyword set, which turns each run into a share-of-search snapshot.

How is this different from App Store Connect?

App Store Connect reports on apps you own, after the fact. This Actor reads the public storefront, so it covers any app in any country — including competitors — and answers the ranking question directly rather than through impression counts.

Can I export the data to CSV or Google Sheets?

Yes. Results land in a standard Apify dataset, downloadable as CSV, JSON, XML, or Excel, and pushable to Google Sheets, S3, or a webhook via Apify integrations.

Does it support iOS bundle IDs?

Yes. metadata and rankings modes accept both numeric App Store app IDs and iOS bundle IDs (e.g. com.instagram.ios).

Can I export App Store reviews?

Yes. Use reviews mode with numeric appIds to export recent or most-helpful App Store reviews with ratings, author, and version.

Does it scrape Google Play too?

No — this Actor covers the Apple App Store / iOS. A separate Google Play ASO scraper is planned.

Notes

  • Reviews mode requires numeric App Store app IDs.
  • Metadata and rankings mode support numeric app IDs and bundle IDs.
  • Rankings mode checks App Store search result positions within maxSearchResults. An app below that depth is reported as found: false, never as a guessed position.
  • Metadata mode batches numeric app IDs through Apple's lookup endpoint. Use metadataBatchSize and requestDelayMs to tune large runs; batch sizes up to 200 are supported by the Actor.
  • This Actor does not estimate downloads or revenue; it returns public App Store/iTunes data.