# Apple App Store Reviews Scraper

> Apple App Store Reviews Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Fetches structured user reviews from the Apple App Store for one or more apps, with filtering by rating, sorting, and pagination.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/apple-store?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/apple-app-store-reviews-scraper-ad15fa69
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_4Q_pGj6M1wBMYk4Oa_WfO

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability apple-app-store-reviews-scraper-ad15fa69 -d '<json body>'
```

Example prompt: Pull the 50 most recent 1-star and 2-star reviews for 'Spotify' from the US Apple App Store so I can see what users are complaining about most.

## When to prefer this

Choose this endpoint when you need structured, paginated Apple App Store review data with filtering by star rating and sorting options. It is especially useful for competitive intelligence, app reputation monitoring, or user feedback analysis on iOS apps. Prefer this over manual scraping when you need clean, schema-consistent JSON output with per-app review caps and multi-app batch collection in a single call.

## Known failure modes

- App name search returns no matching app — try using a specific product ID instead
- Invalid country code returns no results or an error
- Requested page range exceeds available reviews (max 10 pages, 50 reviews each)
- App has no reviews in the selected country store — empty result set, no charge
- Rate limiting or Apple feed unavailability causes a failed run — not charged
- Invalid productId format (non-numeric or malformed URL) may return empty results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object containing a count of matched reviews and an array of review items, each with review text, title, star rating, author name, author ID, review ID, review date (human-readable and ISO format), and the product identifier.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "mostrecent",
    "mosthelpful",
    "mostcritical",
    "mostfavorable"
   ],
   "type": "string",
   "default": "mostrecent",
   "description": "Recent and helpful are source orders. Critical and favorable sort the accessible recent window by rating."
  },
  "appName": {
   "type": "string",
   "description": "Search a public app name and use the top matching software listing when productIds is empty."
  },
  "country": {
   "type": "string",
   "default": "us",
   "description": "Two-letter country store code, such as us, gb, de, jp, or tr."
  },
  "ratings": {
   "type": "array",
   "items": {
    "type": "integer"
   },
   "default": [],
   "description": "Optional star ratings to keep, from 1 to 5. Empty includes all ratings."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Total output limit across all apps. 0 means no additional cap."
  },
  "startPage": {
   "type": "integer",
   "default": 1,
   "maximum": 10,
   "minimum": 1,
   "description": "First one-based review feed page to fetch. Each page contains up to 50 entries."
  },
  "productIds": {
   "type": "array",
   "items": {
    "type": "string"
   },
   "description": "Numeric product IDs or public store URLs. Multiple apps are collected in order. If empty, appName is used."
  },
  "maxReviewsPerApp": {
   "type": "integer",
   "default": 100,
   "maximum": 500,
   "minimum": 0,
   "description": "Maximum matching reviews per app. 0 collects the accessible window, up to 500 feed entries from 10 pages."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "text": null,
    "title": null,
    "rating": null,
    "authorId": null,
    "reviewId": null,
    "authorName": null,
    "reviewDate": null,
    "reviewDateIso": null
   }
  ],
  "product": "apple-store"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/apple-app-store-reviews-scraper-ad15fa69/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
