# Changelog of App Store Scraper (Pay-Per-Event) (`prodiger/app-store-scraper`) Actor

- **URL**: https://apify.com/prodiger/app-store-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/prodiger/app-store-scraper.md

## Changelog

All notable changes to this actor will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

### \[0.1.1] — 2026-05-15

#### Fixed

- **Critical**: Crawlee's HttpCrawler rejected Apple's iTunes responses because they ship with `Content-Type: text/javascript` (a JSONP holdover), not `application/json`. Added `additionalMimeTypes` allowlist so request handlers actually receive the body. Found via local smoke test against `id=880047117`.

### \[0.1] — 2026-05-15

#### Added

- Initial release. Pay-per-event Apple App Store / iTunes scraper.
- Search mode against `itunes.apple.com/search` with country, mediaType, and term filters.
- Lookup mode against `itunes.apple.com/lookup` for direct ID retrieval.
- Start URL support for `apps.apple.com`, `itunes.apple.com`, `podcasts.apple.com`, `music.apple.com`, and `books.apple.com` detail URLs.
- Reviews retrieval via Apple's RSS-as-JSON customer-reviews feed.
- **Dual-sortby review pagination** — combines `sortby=mostrecent` and `sortby=mosthelpful` and de-duplicates by review id to push past Apple's per-sortby ~500-review cap.
- Streaming `pushData` — items are emitted as they are completed; no global accumulator.
- Per-item error capture to a sidecar key-value store record; bad input does not abort the run.
- PPE events: `app-scraped` and `review-scraped`. No flat `actor-start` fee.
- TypeScript strict, Vitest unit tests, Zod input validation.
