{"id":20709908,"url":"https://github.com/oxylabs/google-play-scraper","last_synced_at":"2025-10-24T07:17:22.527Z","repository":{"id":192545576,"uuid":"685862534","full_name":"oxylabs/google-play-scraper","owner":"oxylabs","description":"Google Play Scraper for collecting public details about applications, games, movies \u0026 TV shows, books, and more.","archived":false,"fork":false,"pushed_at":"2025-09-23T08:34:45.000Z","size":103,"stargazers_count":262,"open_issues_count":1,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-09-23T10:23:56.564Z","etag":null,"topics":["google","google-news-api","google-news-scraper","google-play","google-play-api","google-play-scraper","google-play-store","google-search-scraper","google-trends-api","movies-api","scraper"],"latest_commit_sha":null,"homepage":"https://oxylabs.io/products/scraper-api/serp/google/play","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oxylabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-01T07:19:24.000Z","updated_at":"2025-09-23T08:34:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"24ae5ae7-2cc0-403a-a907-1125bf8a6cf7","html_url":"https://github.com/oxylabs/google-play-scraper","commit_stats":null,"previous_names":["oxylabs/google-play-scraper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/oxylabs/google-play-scraper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Fgoogle-play-scraper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Fgoogle-play-scraper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Fgoogle-play-scraper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Fgoogle-play-scraper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oxylabs","download_url":"https://codeload.github.com/oxylabs/google-play-scraper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oxylabs%2Fgoogle-play-scraper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280756562,"owners_count":26385360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-24T02:00:06.418Z","response_time":73,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["google","google-news-api","google-news-scraper","google-play","google-play-api","google-play-scraper","google-play-store","google-search-scraper","google-trends-api","movies-api","scraper"],"created_at":"2024-11-17T02:08:46.787Z","updated_at":"2025-10-24T07:17:22.521Z","avatar_url":"https://github.com/oxylabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Google Play Scraper\n\n[![Oxylabs promo code](https://raw.githubusercontent.com/oxylabs/google-news-scraper/refs/heads/main/Scrape%20Google%20data%20with%20Web%20Scraper%20API.png)](https://oxylabs.io/products/scraper-api/serp/google?utm_source=877\u0026utm_medium=affiliate\u0026groupid=877\u0026utm_content=google-play-scraper-github\u0026transaction_id=102c8d36f7f0d0e5797b8f26152160)\n\n[![](https://dcbadge.limes.pink/api/server/Pds3gBmKMH?style=for-the-badge\u0026theme=discord)](https://discord.gg/Pds3gBmKMH) [![YouTube](https://img.shields.io/badge/YouTube-Oxylabs-red?style=for-the-badge\u0026logo=youtube\u0026logoColor=white)](https://www.youtube.com/@oxylabs)\n\nThis tutorial will show you how to gather public data from the Google Play store, including data points like **title**, **price**, **version number**, **download rates**, **reviews**, and more. In this repository, you can find a **free Google Play scraper tool**, designed for smaller-scale scraping tasks. If you want to increase your scraping scale, the second part of this guide will show you how to utilize a far more effective Oxylabs' [Scraper API](https://oxylabs.io/products/scraper-api). It comes with a **free trial**, which you can claim by registering a free account on the [dashboard](https://dashboard.oxylabs.io/).\n\n- [Free Google Play Scraper](#free-google-play-scraper)\n  * [Prerequisites](#prerequisites)\n  * [Installation](#installation)\n  * [Scraping Google Play](#scraping-google-play)\n    + [1. Select a category:](#1-select-a-category)\n    + [2. Use a search keyword:](#2-use-a-search-keyword)\n  * [Notes](#notes)\n- [Scrape Google Play data with Oxylabs Scraper API](#scrape-google-play-data-with-oxylabs-scraper-api)\n  * [Python code example](#python-code-example)\n  * [Output example](#output-example)\n\n## Free Google Play Scraper\n\nA free tool which you can use to get data for apps, books, or movies from Google Play using a specific search query.\n\n### Prerequisites\n\nTo run this tool, you need to have Python `3.11` or later installed on your system.\n\n### Installation\n\nOpen up a terminal window, navigate to this repository, and run this command:\n\n```make install```\n\n### Scraping Google Play\n\n#### 1. Select a category:\n\nTo scrape data from Google Play, first choose one of these categories, that are available in Google Play:\n\n- `apps`\n- `movies`\n- `books`\n\nThe default category in the tool is `apps`, so feel free to omit the `CATEGORY` parameter from the command if that's the category you need. \n\nIf you prefer to choose a different category than `apps`, run this command in your terminal:\n\n```bash\nmake scrape QUERY=\"\u003cyour_query\u003e\" CATEGORY=\"\u003cyour_chosen_category\u003e\n```\n\nOtherwise, the command should look like this:\n\n```bash\nmake scrape QUERY=\"\u003cyour_query\u003e\"\n```\n\n\u003e [!NOTE]\n\u003e Make sure the category name is in **lowercase**. \n\n\n#### 2. Use a search keyword:\n\nFor this example, let's try scraping Google Play results for movies about fishing. The command should look like this:\n\n```bash\nmake scrape QUERY=\"fishing\" CATEGORY=\"movies\"\n```\n\n\u003e [!NOTE]\n\u003e Make sure to enclose your query and category in quotation marks. Otherwise, the tool might have trouble parsing it.\n\nAfter running the command, you should see a similar output in your terminal:\n\n\u003cimg width=\"845\" alt=\"image\" src=\"https://github.com/user-attachments/assets/622cda14-820c-42ec-810b-f099b5561dbf\"\u003e\n\nAfter the tool finishes running, you can find a file named `movies_play_items.csv` in your current working directory. This file contains Google Play items for the query and category you entered. The file name will always be in this format: `{category}_play_items.csv`. The generated CSV file contains these columns of data:\n\n- `title` - The title of the movie.\n- `price` - The price of the movie to rent.\n- `rating` - The rating of the movie.\n- `cover_url` - The URL to the image of the cover for the movie.\n- `url` - The URL for the movie.\n\nHere's an example of how the scraped and parsed data should look like:\n\n\u003cimg width=\"982\" alt=\"image\" src=\"https://github.com/user-attachments/assets/066e25bf-c4e8-4144-95bf-942453dd484f\"\u003e\n\n### Notes\n\nIn case the code doesn't work or your project is of bigger scale, please refer to the second part of the tutorial. There, we showcase how to scrape public data with Oxylabs Scraper API.\n\n## Scrape Google Play data with Oxylabs Scraper API\n\nAfter purchasing access to the API or claiming your free trial, you'll have to use your API credentials for authentication.\n\nYou can retrieve Google Play results by providing your target URLs and\nforming a `payload` with job parameters. [Scraper API](https://oxylabs.io/products/scraper-api) will return the **HTML** of\nany public Google Play page you have provided.\n\n### Python code example\n\nThe following examples demonstrate how you can get Google Play results\nin HTML format. To begin, you need to send the request to the API using\nthe\n[\u003cu\u003ePush-Pull\u003c/u\u003e](https://developers.oxylabs.io/scraper-apis/serp-scraper-api/integration-methods/push-pull)\nmethod (or [other methods](https://developers.oxylabs.io/scraper-apis/serp-scraper-api/integration-methods)):\n\n```python\nimport requests\nfrom pprint import pprint\n\n# Structure payload.\npayload = {\n   'source': 'google',\n   'url': 'https://play.google.com/store/games?hl=en_GB\u0026gl=UK',\n   'user_agent_type': 'desktop_edge',\n   'render': 'html',\n   'geo_location': 'United Kingdom',\n   'locale': 'en-gb'\n}\n\n# Get response.\nresponse = requests.request(\n    'POST',\n    'https://data.oxylabs.io/v1/queries',\n    auth=('USERNAME', 'PASSWORD'), #Your credentials go here\n    json=payload\n)\n\n# This will return a JSON response with job information and results URLs.\npprint(response.json())\n```\n\nOnce the job is finished, you can then send another request to retrieve\nthe Google Play results. Here, you must use the **job ID** value that’s\nprovided in the response of the above code sample:\n\n```python\nimport requests\nfrom pprint import pprint\n\n# Get response.\nresponse = requests.request(\n    'GET',\n    'http://data.oxylabs.io/v1/queries/{job_id}/results',\n    auth=('USERNAME', 'PASSWORD')\n)\n\n# This will return a JSON response with scraped results.\npprint(response.json())\n```\n\nVisit our\n[\u003cu\u003edocumentation\u003c/u\u003e](https://developers.oxylabs.io/scraper-apis/serp-scraper-api/google/url)\nfor more information.\n\n### Output example\n\nThe response will be in JSON format, containing HTML content and details about the job itself:\n\n```json\n{\n  \"results\": [\n    {\n      \"content\": \"\u003c!DOCTYPE html\u003e\u003chtml lang=\\\"en\\\" dir=\\\"ltr\\\"\u003e\u003chead\u003e\u003cmeta http-equiv=\\\"origin-trial\\\" content=\\\"Az520Inasey3TAyqLyojQa8MnmCALSEU29yQFW8dePZ7xQTvSt73pHazLFTK5f7SyLUJSo2uKLesEtEa9aUYcgMAAACPeyJvcmlnaW4iOiJodHRw...\",\n      \"created_at\": \"2023-08-28 14:14:59\",\n      \"updated_at\": \"2023-08-28 14:15:35\",\n      \"page\": 1,\n      \"url\": \"https://play.google.com/store/games?hl=en_GB\u0026gl=US\",\n      \"job_id\": \"7101930169060862977\",\n      \"status_code\": 200\n    }\n  ]\n}\n```\nTo get parsed results, use the free [Custom Parser](https://developers.oxylabs.io/scraper-apis/serp-scraper-api/features/custom-parser) feature. Check out this in-depth [Custom Parser tutorial](https://github.com/oxylabs/custom-parser-instructions) to learn how to use it.\n\nYou can also request Markdown output by using `\"markdown: true\"` flag to get an easy-to-read result format for various workloads and AI tools.\n\nWith Oxylabs’ Google Play Scraper API, the data extraction process is\nas easy as it gets. Feel free to contact our 24/7 support team via live\nchat or [\u003cu\u003eemail\u003c/u\u003e](mailto:support@oxylabs.io) if you need\nassistance.\n\nRead More Google Scraping Related Repositories: [Google Sheets for Basic Web Scraping](https://github.com/oxylabs/web-scraping-google-sheets), [How to Scrape Google Shopping Results](https://github.com/oxylabs/scrape-google-shopping), [How To Scrape Google Jobs](https://github.com/oxylabs/how-to-scrape-google-jobs), [Google News Scrpaer](https://github.com/oxylabs/google-news-scraper), [How to Scrape Google Scholar](https://github.com/oxylabs/how-to-scrape-google-scholar), [How to Scrape Google Flights with Python](https://github.com/oxylabs/how-to-scrape-google-flights), [How To Scrape Google Images](https://github.com/oxylabs/how-to-scrape-google-images), [Scrape Google Search Results](https://github.com/oxylabs/scrape-google-python), [Scrape Google Trends](https://github.com/oxylabs/how-to-scrape-google-trends)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxylabs%2Fgoogle-play-scraper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foxylabs%2Fgoogle-play-scraper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foxylabs%2Fgoogle-play-scraper/lists"}