Google Play has no public API for its top charts. SerpApi and a few data vendors resell them; the Play Store web app itself reads them from an internal RPC, and that is what everyone else ends up reading too. It is fast (a 100-app chart in well under a second) and it has one behaviour worth knowing before you trust a single row of it.
The charts there are
Five lists answer for any country and category:
| Chart | What it ranks |
|---|---|
| Top Free | downloads, free apps |
| Top Paid | downloads, paid apps |
| Top Grossing | revenue |
| Trending | Google's "movers and shakers": what is rising fastest right now |
| Top New Free | recently released free apps |
Each goes up to 200 apps (Top New Free runs shorter in small markets). Trending is the one most people miss, and it is not a reshuffle of Top Free: of the top 100 in the US on 2026-10-18 the two shared 7 apps. Top New Free shared 1. If you are looking for breakouts, those two lists are where they show up first.
An unknown country is not an error
Ask for a country code Google does not serve and you do not get a 400. You get a full, plausible chart, from somewhere else. Which somewhere was the surprise: the answer for an unknown code is the chart of the country the request comes from.
I found this the embarrassing way. My scraper only offers countries I have checked, and the check compared each country's chart with the answer for zz. I ran it in September from Israel; Israel's chart matched zz, so Israel went on the excluded list as "not a real market". Run again in October from the US, zz matched the US chart exactly, and Israel came back with a chart of its own: Rav-Kav Online, Moovit, Wolt and Hebrew-named apps in the top 40. The check had excluded Israel for being Israel.
The reference that does not move with you is the chart Google serves for a code with no Play market at all. Antarctica (aq), Bouvet Island, Heard Island and the other uninhabited territories all get the same list, and a country is real when its chart differs from that one and from every other country's. By that test 130 codes are real markets today. Five that look like they should be are not: Ethiopia, Montenegro, Afghanistan, Brunei and Barbados answer with the no-market chart. Russia answers Top Free only, since Google Play takes no payments there.
If you pull Play charts for many countries, run that test yourself: a wrong market fails silently, and you will be the one paying for its rows.
Reading them without writing the RPC
I maintain Google Play Top Charts Scraper on Apify, which reads all five charts for the 130 verified countries and 54 categories, refuses a country it has not verified rather than returning someone else's chart, and asks Google twice before calling a chart empty (Google sometimes answers a real chart with nothing, and a minute later in full).
{
"countries": ["us", "il", "br", "jp"],
"charts": ["top-grossing", "trending"],
"categories": ["all-games"],
"limit": 200
}
Every row carries rank, app id, title, developer, rating, install band and price. includeDetails adds exact installs, rating counts, release and update dates and the developer's contact email. For the iPhone side, the App Store sibling returns the same row shape, so the two join on title and developer.
Top comments (0)