Metadata-Version: 2.4
Name: appstore-reviews
Version: 0.1.0
Summary: Fetch Apple App Store customer reviews and ratings as JSON. Stdlib only, no API key.
License: MIT
Keywords: app store,reviews,itunes,aso,scraper
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# appstore-reviews

Fetch Apple App Store customer reviews and app ratings as JSON. Python standard library only, no API key, no account.

Uses two public Apple endpoints:
- the iTunes RSS customer-reviews feed (up to 10 pages of 50 reviews, most recent first)
- the iTunes Lookup API (average rating and rating count)

## Install

    pip install appstore-reviews

## Command line

    appstore-reviews 284882215 --country us --pages 3 > reviews.json
    appstore-reviews 284882215 --rating-only

The app id is the number in the App Store URL (`id284882215`).

## Python

    from appstore_reviews import get_reviews, get_rating

    rating = get_rating("284882215", country="us")
    print(rating["name"], rating["average_rating"], rating["rating_count"])

    for r in get_reviews("284882215", country="us", pages=2):
        print(r["rating"], r["title"], r["date"])

Each review is a dict with `id`, `title`, `text`, `rating` (1-5), `version`, `author`, `date`.

## Notes

- Apple's RSS feed only returns recent reviews for each country, so a single run gives you a window, not full history. Run it on a schedule and store results if you need history.
- Be polite: keep request volume low. The package makes one request per page.
- This is an unofficial wrapper around public Apple endpoints. Apple can change them without notice.

## Bulk, multi-country, or scheduled runs

For many apps, many countries, or scheduled runs with stored datasets, use the hosted Apify actor (pay per review, no code to maintain):

https://apify.com/kDQttQdesG2YUcKMD

## License

MIT
