DEV Community

Cover image for App Store Reviews API: Pull iOS App Reviews as JSON in 2026 (Python, MCP, No-Code)
Truffle Pig Data
Truffle Pig Data

Posted on

App Store Reviews API: Pull iOS App Reviews as JSON in 2026 (Python, MCP, No-Code)

Reviews on the App Store are the rawest product feedback you can get, and Apple makes them strangely hard to collect. You can read them one screen at a time on a phone, or you can fight undocumented endpoints that break by country. I wanted one flat table of reviews per app, so this post walks the manual route, its failure points, and the shortcut: the Apple App Store Reviews API on Apify, which returns iOS and macOS reviews as structured JSON.

Disclosure: the Apify links in this post are affiliate links. If you run the Actor, I may earn a referral commission at no extra cost to you.

Does Apple have a public reviews API?

For your own app, partly: App Store Connect gives developers access to their own ratings and review data. For anyone else's app, no. There is no official endpoint where you can request the review history of a competitor's product across country stores. That gap is why "app store reviews api" searches lead to scrapers, and a hosted one you call like an API is the practical answer: app in, review rows out.

What the App Store Reviews API returns

The App Store Reviews API returns one JSON row per review: the star rating, title, body text, author, dates, and the app version the reviewer was using.

Field Example Notes
rating 1 Integer 1 to 5
review_title Latest update broke sync Headline the reviewer wrote
review_text Since 4.2 the app... Full body text
review_date_iso 2026-06-30T14:12:09Z Plus a locale-formatted review_date
reviewed_version 4.2.1 The axis for before-and-after release analysis
app_country de Which of the 50+ country storefronts the row came from

Rows also carry author_name, product_id, app_platform (ios or macos), and position metadata, so a dataset stays traceable back to store, sort order, and page.

Who this is for

ASO folks mining complaint themes before a listing update, product managers reading how a release landed by grouping on reviewed_version, and competitive teams who want a rival's one-star reviews as a roadmap hint.

The manual way, and where it breaks

The DIY approach uses Apple's semi-public feeds and store endpoints. It starts fine and degrades quickly: pagination caps out, country storefronts behave differently, sort orders are inconsistent, and the responses shift shape without notice. Then you build retries, per-country loops, and version parsing, and you are suddenly maintaining review infrastructure instead of reading reviews.

The faster way: run the Apple App Store Reviews API

Apify Console

  1. Open the Apple App Store Reviews API and click Try for free.
  2. Enter an app_name (the Actor resolves the top store match) or exact product_ids, pick a country and a sort.
  3. Run it and export the dataset as JSON or CSV.

REST

curl -X POST "https://api.apify.com/v2/acts/johnvc~apple-app-store-reviews-api/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "app_name": "spotify", "country": "us", "sort": "mostrecent", "max_reviews": 100 }'
Enter fullscreen mode Exit fullscreen mode

Full endpoint reference: the Apify API docs.

Pull App Store reviews in Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("johnvc/apple-app-store-reviews-api").call(
    run_input={
        "product_ids": ["534220544"],
        "country": "gb",
        "sort": "mostcritical",
        "max_reviews": 200,
    }
)

for review in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(review["rating"], review["reviewed_version"], review["review_title"])
Enter fullscreen mode Exit fullscreen mode

Sorting by mostcritical first is my favorite trick here: the angriest reviews surface the bug reports.

Use it as a JSON API for any app

The task App Store reviews JSON API is the minimal call: one app, clean JSON out.

Export reviews straight to CSV

Export App Store reviews to CSV lands rows ready for a spreadsheet, and the TikTok variant shows the same flow against a big consumer app.

Read a competitor's one-star reviews

Pull a competitor app's one-star reviews filters to the critical end, which is where switching-intent users explain exactly what they wish existed.

Analyze reviews in Claude via MCP

Apify exposes the Actor over MCP, so Claude, Claude Code, and Cursor can fetch reviews as a tool call and then do what LLMs are actually good at: clustering complaints and summarizing themes. The task Analyze your iOS app reviews in Claude via MCP has the config, and you can read more about Claude at claude.ai.

FAQ about scraping App Store reviews

How much does the App Store reviews scraper cost?

Billing is per review returned, plus a small per-run setup fee. max_reviews caps the spend before the run starts, and the free platform credit on a new Apify account covers a first real dataset.

Can the scraper pull reviews from other countries' stores?

Yes, more than 50 country storefronts. Each row carries app_country, so you can run the same app across the US, German, and Japanese stores and compare localized sentiment in one table.

Can Claude analyze reviews through this scraper over MCP?

Yes, and it is the most satisfying workflow the Actor supports: the MCP task above pulls the rows mid-conversation and the model does the qualitative reading for you.

Can I schedule the scraper to watch for new reviews?

Yes. Save your app as a task sorted by mostrecent, attach a daily or weekly Apify schedule, and each run appends the newest rows. Start from the Apple App Store Reviews API page.

Does the scraper return helpfulness votes on every review?

No, and it would be dishonest to promise that. helpful_count and total_helpful_count appear only when a review actually carries votes and parse_helpfulness is enabled; most rows do not have them.

More from Truffle Pig Data

Other write-ups on this Actor: Apple App Store Reviews API for AI Agents on Medium, the LinkedIn version, and the Peerlist article.

Wrapping up

Your next roadmap argument is sitting in someone's review history. Point the Apple App Store Reviews API at an app and read it as data.

Top comments (0)