The Google Play Store includes a dedicated section for games, divided into subcategories like puzzle titles, sports games, and simulation games. You can also view the top free, paid, or grossing games across the entire store, or in each of those subcategories. That information, along with the Play Store's general search results, can be invaluable for industry research or monitoring rankings.
The Google Play Games Store API from SerpApi provides all that data in simple JSON format, ready for any programming language or automation. SerpApi handles the web scraping, HTML parsing, proxy network, captcha puzzles, and other challenges for you.
What can you scrape from games on the Google Play Store?
Here's some of the data you can extract for games on the Google Play Store, using SerpApi:
- Search results: The list of results for a given search query. Each result can include a title, Android application ID, average rating, the number of reviews, creator, download counts, images, and other information. However, the search results will contain results for both games and normal applications.
- Top charts: The top free, top grossing, and top paid games across the entire Google Play Store, or in a specific subcategory.
- Recommended games: The games that are recommended on the Play Store's home page and category pages.
- App listings: The game's title, authors, download counts, description, screenshots and videos, and other information from its full listing. You can use the Google Play Product API for that.

Getting started with SerpApi
You need a free SerpApi account before you can use the Google Play APIs. You can upgrade to a paid account later if you need more search capacity, faster speeds, or other features.
First, create an account and verify your email and other details. After that, get the API key from your account dashboard.

You should store your API key in a safe location if you are sharing or publishing your code. If the key is leaked or stolen, you can make a new one from the SerpApi account dashboard.
Install the SerpApi library (optional)
You can use SerpApi's official libraries for Python, JavaScript, Ruby, Java, and other languages. They provide a simple wrapper around the API requests, but they aren't required.
The APIs can also be used with cURL, fetch() in Node.js, or anything else that can send GET requests and process a JSON response.
Review the Google Play APIs documentation
All the APIs at SerpApi have extensive documentation that covers all the supported parameters and filters, code examples for popular languages, and example JSON responses. This guide covers some of the basic usage for scraping games from the Google Play Store, and you can find everything else at the documentation pages for the Google Play Games Store API and Google Play Product API.


The Google Play Games Store API is used to search for games, scrape the main home page for games, and check the top free/paid/grossing lists. Once you have the application ID (package name) for a game, either from the Google Play Games Store API results or another source, you can fetch more details by using it as the search query for the Google Play Product API.
How to scrape Google Play Store games
If you have your API key, you're ready to start pulling data from games on the Google Play Store. The results will be identical across all libraries and GET requests, so use whichever method you want.
GET request
This calls the Google Play Games Store API with a US region and English language, with no other options or a search query, so you just get the contents of the Games page on the Google Play Store:
https://serpapi.com/search.json?engine=google_play_games&gl=us&hl=en&api_key=YOUR_KEY_GOES_HEREThe Play Store has several categories for games. You can add a games_category parameter to scrape the home page for that category, like this example for puzzle games:
https://serpapi.com/search.json?engine=google_play_games&gl=us&hl=en&games_category=GAME_PUZZLE&api_key=YOUR_KEY_GOES_HEREThe output JSON for those scraped pages contains a chart_options array with any available lists, like the top free/grossing/paid games. For puzzle games, there's a topselling_paid chart, so you can add that to the chart parameter to fetch the top selling puzzle games:
https://serpapi.com/search.json?engine=google_play_games&gl=us&hl=en&games_category=GAME_PUZZLE&chart=topselling_paid&api_key=YOUR_KEY_GOES_HEREIf you need more data for a given game, use the Google Play Product API with the game's application ID (package name) as the search query, like this:
https://serpapi.com/search.json?engine=google_play_product&product_id=com.mojang.minecraftpe&gl=us&store=apps&platform=phone&api_key=YOUR_KEY_GOES_HEREYou can also use SerpApi's JSON Restrictor feature to trim the API response to specific values. This searches for the top paid games across all categories, but only returns the titles and links of each result:
https://serpapi.com/search.json?engine=google_play_games&gl=us&hl=en&chart=topselling_paid&api_key=YOUR_KEY_GOES_HERE&json_restrictor=top_charts[].{title,link}This can be useful if you need more efficient parsing, like when using an LLM with a limited context window.
Python
This uses the official SerpApi Python library to fetch the most popular free game in the Play Store in the United States, then extract more information from the app's full listing:
import serpapi
client = serpapi.Client(api_key=YOUR_KEY_GOES_HERE)
first_req = client.search({
"engine": "google_play_games",
"hl": "en",
"gl": "us",
"chart": "topselling_free"
})
top_free_app = first_req["top_charts"][0]["product_id"]
sec_req = client.search({
"engine": "google_play_product",
"store": "apps",
"product_id": top_free_app,
"hl": "en",
"gl": "us"
})
print(sec_req["product_info"], sec_req["about_this_game"])Ruby
This checks which top charts are available for educational games in Canada, using the SerpApi Ruby gem, then fetches each list and prints the results:
require "serpapi"
response = SerpApi::Client.new(
engine: "google_play_games",
api_key: YOUR_KEY_GOES_HERE,
hl: "en",
gl: "ca",
games_category: "GAME_EDUCATIONAL"
)
charts = Array(response.search.dig(:chart_options)).map { |c| c[:value] }
for chart in charts do
new_response = SerpApi::Client.new(
engine: "google_play_games",
api_key: YOUR_KEY_GOES_HERE,
hl: "en",
gl: "ca",
games_category: "GAME_EDUCATIONAL",
chart: chart
)
puts "\n#{chart} in #{new_response.search[:search_parameters][:gl]}\n====="
new_response.search[:top_charts].each_with_index do |app, index|
puts "#{index + 1}. #{app[:title]} - #{app[:product_id]}"
end
endJavaScript and Node.js
Here's how you can use the SerpApi JavaScript library to search for the top free games in the United Kingdom's Play Store, then extract additional information from the app listings for the top three results:
import { getJson } from 'serpapi';
const search = await getJson({
engine: "google_play_games",
api_key: YOUR_KEY_GOES_HERE,
hl: "en",
gl: "gb",
chart: "topselling_free"
});
// Get top three apps
const topThreeApps = (search?.top_charts || []).slice(0, 3);
// Show more information for each app
for (let app of topThreeApps) {
const appSearch = await getJson({
engine: "google_play_product",
api_key: YOUR_KEY_GOES_HERE,
product_id: app.product_id,
hl: "en",
gl: "gb",
store: "apps",
platform: "phone"
});
console.log(appSearch.product_info, appSearch.about_this_game);
}cURL
Here's how you can check the most popular free games in France, using a cURL request:
curl --get https://serpapi.com/search \
-d api_key="YOUR_KEY_GOES_HERE" \
-d engine="google_play_games" \
-d hl="en" \
-d gl="fr" \
-d chart="topselling_free"Other languages and no-code solutions
You can still use the API directly with GET requests, even if there isn't an official SerpApi integration for your preferred environment or language. SerpApi also works with Make.com, N8N, and other tools.
Conclusion
The Google Play Store is the main app store for the world's most popular mobile platform, so its games library and top charts can provide valuable insights for the mobile gaming industry With the Google Play Games Store API and Google Play Product API from SerpApi, you can pull all that information into any automation or programming language.
If you need help using SerpApi, please contact us.

