Google Play has no official public API for app listings or reviews. So if you want app details, ratings, the ratings histogram, or customer reviews as clean JSON — for ASO tracking, review monitoring, an ML dataset, or market research — you either parse Google's deeply-nested, undocumented page payloads yourself, or you call something that already does.
This tutorial does the second thing. We'll pull Google Play data with Node.js in a few lines, without an API key, without proxies, and without writing a single HTML parser, by calling a hosted scraper actor on Apify. At the end I'll show the same thing for one-off runs you don't even need code for.
Why not just fetch() the Play Store?
You can fetch('https://play.google.com/store/apps/details?id=com.spotify.music') — but the useful data isn't in clean HTML. Google embeds it in AF_initDataCallback blocks as positional arrays with no field names, e.g. the exact rating lives at roughly data[1][2][51][0][1] and the ratings histogram at data[1][2][51][1]. Reviews come from a separate batchexecute RPC that returns a )]}'-prefixed blob and throttles aggressively. Those index paths also shift when Google reshapes the page, which is why hand-rolled scrapers quietly break.








