play-scraper

raw JSON →
0.6.0 verified Fri May 01 auth: no python maintenance

A Python library for scraping Google Play Store application data, including app details, search results, reviews, and permissions. Version 0.6.0 is the latest, released in 2020; no active development since. Use with caution as scraping may violate Play Store ToS.

pip install play-scraper
error ModuleNotFoundError: No module named 'play_scraper'
cause Library not installed; installed under a different Python environment/version.
fix
Run pip install play-scraper and ensure you are using the same Python environment.
error KeyError: 'title'
cause The app ID provided is invalid or the Play Store returns a different structure for some apps.
fix
Check that the app ID exists (e.g., 'com.whatsapp') and handle missing keys gracefully.
error play_scraper.exceptions.HTTPError: 429 Too Many Requests
cause Exceeded Google Play Store rate limits.
fix
Reduce request frequency, add delays between requests, or use rotating proxies.
gotcha The library has not been updated since 2020. Google Play Store API changes may cause scraping to fail at any time. For production, consider using the official Google Play Developer API.
fix Monitor the GitHub repository for updates; be prepared to switch to an alternative.
deprecated The `play_scraper.list()` method (category listing) was removed in version 0.6.0. Use `play_scraper.search()` with a category filter instead.
fix Replace `play_scraper.list('GAME')` with `play_scraper.search('', category='GAME')`.
gotcha The library does not require authentication, but scraping may trigger rate limiting. Some endpoints may return empty or partial data without warning.
fix Implement request throttling and error handling; consider using proxies or caching.

Demonstrates basic usage: fetching app details, searching, and retrieving reviews.

import play_scraper

# Get app details
app = play_scraper.details('com.whatsapp')
print(app['title'])

# Search apps
results = play_scraper.search('messenger', page=1)
for r in results:
    print(r['title'], r['app_id'])

# Get reviews
reviews = play_scraper.reviews('com.whatsapp', page=1)
for r in reviews:
    print(r['userName'], r['score'])