Geonode logo

Unlimited Yelp scraper for AI agents.

A Yelp scraper for business pages, reviews, search results, menus and photo galleries. 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 Yelp

curl -X POST "https://scraper.geonode.io/v1/extract" \
  -H "X-Api-Key: $GEONODE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://www.yelp.com/biz/tartine-bakery-san-francisco",
  "formats": [
    "json",
    "markdown"
  ],
  "render_js": true,
  "proxy": {
    "country": "US"
  }
}'

You came for an Yelp scraper. The key opens everything.

100% first-pass success

you’re here

Business header: Business name, Star rating, Review count, Price range ($–$$$$), Categories, Claimed badge, Open / closed now

Contact & hours: Street address, Phone, Website link, Hours by day, Neighborhood, Map coordinates

Amenities: Amenities and More list, Health score, Takeout / delivery flags, Reservations flag, Wi-Fi and parking, Accepts credit cards

Reviews: Review text, Star rating, Review date, Reviewer name and location, Elite badge, Useful / Funny / Cool counts, Owner response

Search results: Result cards, Sponsored result flag, Rating and review count, Price and category tags, Snippet quote, Start offset for next page

Menu & photos: Menu sections, Item name and price, Popular dishes, Photo count, Photo URLs, Photo captions

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 Yelp request that still fails after 3 retries

  • 48 hfree trial on your own Yelp 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 Yelp 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 Yelp 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 www.yelp.com, so you will not find one here. Yelp defends itself with its own traffic scoring plus reCAPTCHA: a datacenter IP or a repeated pattern gets a 403, an empty review list, or an unusual activity page. The Yelp scraper sends each request from a residential or ISP IP in our own pool, renders the page so the review payload Yelp loads client-side is present, and retries on a fresh session when a response comes back thin. A request that still fails after three retries is never billed, on any plan. The 48-hour trial runs the Yelp scraper against your own URLs.

Business pages at /biz/{slug}, where the Yelp scraper returns the name, rating, review count, price range, categories, claimed status, address, phone, website, hours, the Amenities and More list and health score. Reviews on the same page, paginated with ?start=10, ?start=20 and so on, each with text, stars, date, reviewer name and location, Elite badge, reaction counts and any owner response. Search results at /search?find_desc=&find_loc= with sponsored tiles flagged separately from organic ones. Menu pages at /menu/{slug} and the photo gallery at /biz_photos/{slug}. Each page type has its own target_param, yelp_business, yelp_reviews, yelp_search, yelp_menu, yelp_photos, so the Yelp scraper returns typed JSON, Markdown or raw HTML per type.

Because Yelp counts differently in different places. The search card shows the recommended review total, the business page header shows the same figure, but the page also holds reviews that Yelp's filter marked not recommended, listed on a separate page at /not_recommended_reviews/{slug} and excluded from the rating. The Yelp scraper returns the recommended count from the header and can read the not-recommended page as its own request so you know both numbers. Ratings are returned as a float with the review count, and the rating distribution comes from the histogram Yelp renders. Dates, Elite status and reaction counts are parsed from the review payload, not guessed from the HTML the Yelp scraper receives.

The Yelp scraper reads only what a logged-out visitor sees: business details, reviews, search results, menus and photos. It never logs in, so the Yelp for Business dashboard, private messages and reviewer accounts are out of reach, and we do not promise them. Yelp's terms prohibit automated access, and its robots.txt disallows most crawlers, so a ToS breach remains a contract risk even where the law allows collecting public data, as hiQ v. LinkedIn held in the US. Reviewer names, photos and locations are personal data under GDPR and CCPA. The Yelp scraper paginates on the ?start= offset to the end of the visible list, and search results stop after roughly the first ten pages.

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 Yelp URLs.

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