Geonode logo

Unlimited Google Play scraper for AI agents.

A Google Play scraper for app listings, reviews, developer pages, search results and top charts. Unlimited requests for one flat bill from $50/mo, no credits, and a blocked request is free.

Start 48-hour free trial

No card. Unlimited pages. 5 threads. Failed requests $0

Unlimited web scraper
01

Images

02

Title

  • Title
  • Condition
03

Price & bidding

  • Price
  • Bids
  • Time left
  • Watchers
04

Seller

  • Seller rating
  • Sold listings
05

Specifics & shipping

  • Item specifics
  • Shipping
  • Item location

JavaScript rendered, parsed to JSON or Markdown, and a fetch that fails after three retries is never billed

Call it on Google Play

curl -X POST "https://scraper.geonode.io/v1/extract" \
  -H "X-Api-Key: $GEONODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://play.google.com/store/apps/details?id=com.spotify.music&hl=en&gl=US",
  "formats": [
    "json",
    "markdown"
  ],
  "render_js": true,
  "proxy": {
    "country": "US"
  }
}'

You came for an Google Play scraper. The key opens everything.

100% first-pass success

you’re here

App header: App title, Package name (id=), Developer name, Icon URL, Star rating, Rating count, Install band (e.g. 10M+)

Price & metadata: Price or Free, In-app purchases flag, Contains ads flag, Content rating, Category, Editors' Choice badge

About this app: Full description, Screenshots, Promo video, Updated on date, What's new text, Tags

Data safety & details: Data shared, Data collected, Security practices, Developer email and website, Developer address, Privacy policy URL

Reviews: Rating histogram, Review text, Review score, Reviewer name, Review date, App version reviewed, Developer reply

Lists & charts: Search result cards, Top charts rank, Collection name, Developer page app list, Similar apps, Chart category

One subscription, from $50 a month flat. Everything after the first line adds $0

The hard part is getting in. That's our part.

  • $50/moflat, priced by concurrency, not per request

  • 0credits, meters or per-page charges

  • $0for any Google Play request that still fails after 3 retries

  • 48 hfree trial on your own Google Play URLs

  • Cloudflare98%

  • Akamai97%

  • Imperva Incapsula97%

  • DataDome96%

  • PerimeterX / HUMAN95%

  • reCAPTCHA v395%

  • Kasada94%

  • hCaptcha93%

First-pass success by anti-bot vendor, measured by us over 30 days, so of course it flatters us. The 48-hour trial exists so you can count against your own URLs. Full benchmark

What unlimited changes for Google Play data

  • Sold-comps pricing

    Completed listings are the real price of anything. Pull them at scale and price with evidence.

  • Arbitrage sourcing

    Sweep categories for mispriced inventory continuously instead of when the credit budget allows

  • Demand research

    Bids, watchers and sell-through, across a whole category, on one flat bill

  • Collection tracking

    Every listing of the thing you care about, the moment it appears

Cheap is supposed to be the trade-off

  • Michael T.

    Switched from Bright Data. Same quality, fraction of the cost. Their wholesale model actually makes sense.

  • Kristina Halvorson

    Finally a proxy provider that actually feels built for developers

  • Edgar Weissnat

    We run multiple large-scale data collection pipelines across several regions, and proxy reliability has always been one of the biggest bottlenecks. After switching to Geonode we noticed two immediate improvements: connection stability and predictable pricing. Previously we had to constantly optimize traffic to avoid massive proxy bills. With Geonode’s wholesale pricing model we can focus on building products instead of worrying about proxy usage. Integration with our Python stack and Playwright automation was straightforward and took less than a day.

  • Gladys Paucek

    Best proxy infrastructure I've used. The MCP integration with our AI agents was seamless.

  • Gladys Paucek

    Finally something that doesn’t feel like enterprise sales software.

Pick your thread count. That's the only decision.

Nothing is metered. Plans price threads (how many requests run at once), and pages stay unlimited on every one. An Google Play page that needs an anti-bot bypass costs exactly what a plain page costs

Roughly what each plan clears in a month, by endpoint

Starter

2 threads

$50 /mo

~470K
~280K
~1.1M
~610K
~120K
~400K

Growth

5 threads

$100 /mo

Popular
~1.2M
~700K
~2.8M
~1.5M
~300K
~1M

Scale

25 threads

$400 /mo

~5.9M
~3.5M
~13.8M
~7.6M
~1.5M
~5M

Pro

100 threads

$1,250 /mo

~23.5M
~14M
~55M
~30M
~5.9M
~20M

Max

250 threads

$2,500 /mo

~59M
~35M
~137M
~76M
~15M
~50M

The 48-hour trial runs at five threads, no card. Custom terms past 250 threads.

Yeah, but...

We do not yet publish a benchmark number for play.google.com, so this page quotes none. Play runs no third-party bot vendor; Google's own edge answers bursts from one address with HTTP 429 and, for persistent patterns, the unusual traffic reCAPTCHA page. Reviews and chart rows are not in the HTML but fetched through the batchexecute RPC, so a plain fetch returns an app page with no reviews. The Google Play scraper routes through residential and ISP IPs from our own pool, renders the page so those RPC calls complete, and retries on a new IP after a 429. A request that still fails after three retries is never billed, on any plan.

App listings at /store/apps/details?id={package}, which return title, developer, rating, rating count, install band, price, in-app purchase and ads flags, content rating, description, screenshots, updated date, what's new and the data safety section. Reviews for that package with text, score, date, app version and developer reply. The Google Play scraper also reads developer pages at /store/apps/dev?id= and /store/apps/developer?id= with every app listed. Search results at /store/search?q=&c=apps and top charts and collections such as topselling_free per category. Each has its own target_param, google_play_app, google_play_reviews, google_play_developer, google_play_search, google_play_chart, so the Google Play scraper returns typed JSON, Markdown or raw HTML per page type.

Pass hl for language and gl for storefront on the URL, and pass country in the request body so the Google Play scraper exits from an IP in that market. Both matter: Play picks the storefront from the IP when gl is absent, so a US exit with gl=BR can return a mix. With both aligned the Google Play scraper returns the local price with its currency code, the install band, the localised description and that storefront's charts. Geo-restricted apps return a not available in your country page, reported as a typed error rather than an empty app. Install bands stay as Play shows them, 10M+ not a number.

The Google Play scraper reads only what a logged-out visitor sees: listings, public reviews, developer pages, search and charts. It never logs in, so the Play Console, private reply drafts and install statistics are not reachable and not promised. Google's terms prohibit automated access to its services, which is a contract risk separate from the law; in the US hiQ v. LinkedIn supports collecting public data. Reviews carry a reviewer's display name and sometimes a photo, so they are personal data under GDPR and CCPA. Review pagination follows the RPC continuation token for as long as Play serves one, and the Google Play scraper returns the token so you can resume.

No request credits and no per-page meter. Plans are priced by concurrency, which is the number of requests in flight at once, from $50 a month. Run as many requests through that concurrency as you can, around the clock, for the same bill. A request that fails after three retries is not counted against anything.

Yes. Pass a country code and the request routes through a residential IP there, so marketplaces return local prices and currency, search engines return local results, and geo-restricted pages open. City and ASN targeting are available on the residential pool where a site is sensitive to it.

Typed JSON with the field table on this page, clean Markdown for feeding an LLM context window, or raw rendered HTML if you run your own parser. For pages without a dedicated parser you can pass a JSON schema and get AI-extracted fields back in that shape.

48 hours. Your worst Google Play URLs.

Five threads, no card, and the clock starts at your first API call. If it doesn’t earn the switch, don’t switch.