DEV Community

Cover image for Pricing Intelligence for iOS Apps: How to Pull App Store Product Data in 2026
Truffle Pig Data
Truffle Pig Data

Posted on

Pricing Intelligence for iOS Apps: How to Pull App Store Product Data in 2026

A surprising amount of product strategy starts with somebody reading an App Store page: what a competitor charges, which in-app purchases they sell, what their last ten versions shipped, how their rating moves. I got tired of doing that reading by hand, so I built the Apple App Store Product API on Apify. Feed it App Store IDs or URLs and it returns the full product record for any iOS, iPadOS, or macOS app as structured JSON, one row per app per country.

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 the Apple App Store have an API?

Yes, partly, and the partly is why this Actor exists. Apple's iTunes Search and Lookup endpoints are real and free, and for basic metadata they're fine. But the payload reflects an older App Store: you won't find the privacy "nutrition" cards, the itemized in-app purchase price list, version-by-version release notes, or the sample reviews that sit on today's product page, and Apple publishes no firm rate guarantees for it. When the data you need is "everything on the modern product page, per storefront," a scraper consumed as an API is the practical route.

What the App Store product API returns

The Apple App Store Product API returns one complete app record per ID and country: title, developer, description, price, ratings, version history, screenshots, in-app purchases, supported languages, privacy cards, and a sample of reviews.

Field Example Notes
title Spotify: Music and Podcasts App name as listed
developer Spotify Publisher of record
price_text Free Localized price for the storefront queried
Ratings 4.8 Star average plus counts
In-app purchases subscription tiers with prices Itemized, the pricing intelligence core
lookup_country de Which storefront this row came from

Version history, privacy cards, and supported languages ride along in the same row, and include_reviews_sample controls whether the page's few visible reviews are attached.

Who this is for

Pricing intelligence is the headline use: analysts comparing what an app charges across 50 storefronts, or watching a competitor's in-app purchase ladder change quarter to quarter. Product and ASO teams doing competitive research are the second group. The third is AI agent builders who want app metadata as agent context, so "summarize this competitor's app and its monetization" runs on real data.

The manual way, and where it breaks

The product page is public, so scraping it yourself is tempting. The details fight back. Much of the page content lives in embedded data structures that shift with App Store redesigns, storefront selection depends on URL country prefixes and headers that are easy to get subtly wrong, and localized price formatting differs per region, so your parser needs currency logic on day one. Multiply all of that by a country matrix and a retry layer, and the quick script becomes a project. I wrote the throwaway version three times before admitting it wasn't throwaway.

The faster way: run the Apple App Store Product API

Apify Console

  1. Open the Apple App Store Product API and click Try for free.
  2. Paste App Store IDs or full URLs into product_ids and pick a country.
  3. Run it and download the records as JSON or CSV.

REST

curl -X POST "https://api.apify.com/v2/acts/johnvc~apple-app-store-product-api/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "product_ids": ["324684580"], "country": "us" }'
Enter fullscreen mode Exit fullscreen mode

ID 324684580 is Spotify; a full URL like https://apps.apple.com/us/app/spotify/id324684580 works too, since the ID gets parsed out. Run mechanics are in the Apify API docs.

Fetch app records in Python

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("johnvc/apple-app-store-product-api").call(
    run_input={
        "product_ids": ["324684580", "310633997"],
        "countries": ["us", "gb", "de"],
    }
)

for app in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(app.get("title"), app.get("lookup_country"), app.get("price_text"))
Enter fullscreen mode Exit fullscreen mode

Two IDs across three storefronts returns six rows, one per app-country pair, which is the shape you want for a pricing matrix.

Compare prices across country stores

The task App Store prices by country is the regional pricing sweep: one app, many storefronts, localized price_text per row.

Benchmark competitor apps

Compare competitor iOS apps on price and features runs a set of rival apps through one pull, which is the fastest way to build a feature-and-price comparison table that's current.

Extract in-app purchase price lists

Extract iOS app in-app purchase prices targets the monetization ladder specifically, the part Apple's official lookup won't give you.

Look up any app by ID

Get Apple App Store app details by app ID is the minimal single-app run, useful as a smoke test before you scale up.

Watch ratings and releases over time

Track iOS app ratings and version history shows the monitoring setup: run it on a schedule and you accumulate a longitudinal record of rating drift and release cadence.

App data as AI agent context

Hooked up over the Model Context Protocol, the Actor becomes a tool that Claude, Claude Code, and Cursor can call, so an agent can pull a live app record before answering questions about it. The task iOS app details in Claude MCP has the wiring, and there's more on Claude at claude.ai.

FAQ about scraping App Store product data

What does the App Store scraper cost to run?

Two cents per app record returned, plus a two-cent setup fee per run. A 100-app competitive sweep, the per-run maximum, lands around $2. Apify's free credit on new accounts covers plenty of experimentation first.

How is this scraper different from Apple's own lookup endpoints?

Apple's endpoints return the classic metadata slice. The scraper returns the product page as it exists now, including in-app purchase pricing, privacy cards, version history, and per-storefront localization, which is where pricing intelligence work actually happens.

Can an AI agent call this App Store scraper over MCP?

Yes. Registered as an MCP tool, it's callable from Claude, Claude Code, and Cursor, and each call returns full app records as tool output.

Can I schedule the scraper to monitor price changes?

Yes. Save your app list as a task, attach an Apify schedule, and compare price_text and in-app purchase entries between runs. Start from the Apple App Store Product API.

What won't this product scraper give you?

The full review corpus. It carries the small review sample Apple displays on the page, typically three, which is enough for flavor but not sentiment analysis. It also reports one storefront per row, so worldwide coverage means listing the countries you care about rather than assuming one row covers all.

More from Truffle Pig Data

The rest of the Apple toolkit: the Apple App Store Reviews API when you do need reviews at volume, Apple App Store Search for finding app IDs by keyword, and the Apple Maps API for Apple's places data.

Wrapping up

Competitive app research shouldn't mean reading product pages in fifty tabs. Point the Apple App Store Product API at your competitor set and get the whole picture as JSON.

Top comments (0)