Yelp Scraper avatar

Yelp Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Yelp Scraper

Yelp Scraper

Extract Yelp business profiles and full reviews via Yelp's internal GraphQL endpoint. No login, no API key, no CSRF token. Firefox TLS + US residential proxy.

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

Aurenic

Aurenic

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Extract Yelp business profiles and full reviews via Yelp's internal GraphQL endpoint. No login, no API key, no CSRF token. Firefox TLS + US residential proxy.

What does Yelp Scraper do?

Scrape Yelp in two modes:

  • Business URLs — pass Yelp business pages, get business metadata plus every public review with full text, ratings, author details, photos, owner replies, and reaction counts.
  • Search — pass a keyword and location, get every business on the results page with the same review detail.

Yelp's frontend is powered by an unauthenticated GraphQL endpoint at /gql/batch that accepts persisted-query IDs. No Yelp account, no API key, no CSRF token, no cookies. The actor calls that endpoint directly, backed by Firefox TLS fingerprinting and US residential proxy rotation.

Output fields

Business

FieldDescription
businessUrlYelp business page
encBizIdYelp encrypted business ID
nameBusiness name
ratingAverage rating (0–5)
reviewCountTotal reviews
priceRangePrice tier ($$, $$$)
categoriesBusiness categories
addressFull formatted address
phoneBusiness phone
websiteBusiness website

Review

FieldDescription
reviewIdYelp review ID
ratingStar rating (1–5)
textFull review text
languageReview language
authorNameReviewer display name
authorProfileUrlReviewer profile
authorReviewCountReviewer's total reviews
authorFriendCountReviewer's friend count
authorEliteYearElite badge year
locationReviewer location
createdAtReview timestamp
photosAttached photo URLs
ownerReplyTextOwner response text
ownerReplyDateOwner response date
reactionCountsUseful / funny / cool counts

Who is it for?

  • Reputation management agencies monitoring client reviews across locations
  • Local SEO teams extracting review corpora for citation and sentiment analysis
  • Competitive intelligence benchmarking restaurant, salon, and service businesses
  • Market researchers building local business datasets by category and city
  • AI/ML builders sourcing labelled review data for sentiment models
  • Franchise operators auditing review sentiment across every location

Pricing

$2.00 per 1,000 results. No subscription.

ResultsCost
100$0.20
1,000$2.00
10,000$20.00

How to use it

  1. Paste Business URLs to scrape specific businesses, and/or
  2. Enter Search Queries with matching Locations to discover businesses by keyword.
  3. Set Max Reviews per Business (default 100) and Max Businesses (default 50).
  4. Click Start.

Output example

{
"recordType": "review",
"reviewId": "abc123xyz",
"rating": 5,
"text": "Best pizza in the neighborhood. The crust is perfectly charred...",
"language": "en",
"authorName": "Sarah M.",
"authorProfileUrl": "https://www.yelp.com/user_details?userid=...",
"authorReviewCount": 142,
"authorFriendCount": 38,
"authorEliteYear": "2026",
"location": "Brooklyn, NY",
"createdAt": "2026-08-14T18:32:00.000Z",
"photos": ["https://s3-media0.fl.yelpcdn.com/bphoto/..."],
"ownerReplyText": "Thanks Sarah! See you soon.",
"ownerReplyDate": "2026-08-15T10:05:00.000Z",
"reactionCounts": { "useful": 12, "funny": 3, "cool": 8 },
"businessUrl": "https://www.yelp.com/biz/lucali-brooklyn",
"encBizId": "...",
"businessName": "Lucali",
"scrapedAt": "2026-09-23T12:00:00.000Z"
}

Technical details

  • No login, no API key, no CSRF token, no cookies. Yelp's /gql/batch endpoint is unauthenticated by design.
  • Firefox TLS fingerprint via impit — Chrome JA3 strings get flagged; Firefox is the confirmed working profile.
  • US residential proxy rotation — required for Yelp's Cloudflare IP reputation checks. The actor rotates sessions on 403.
  • Persisted-query IDs — the review feed uses documentId ef51f33d.... Yelp rotates these occasionally; if a run logs persisted query not found, update the REVIEW_FEED_DOC_ID constant.
  • Cursor pagination — Yelp returns a base64 endCursor per page. The actor follows it until the cap or the last page.
  • No browser, no Playwright. Pure HTTP with TLS fingerprinting.

Known limits

  • US residential proxy is required. Yelp blocks datacenter IPs and many non-US residential IPs.
  • Persisted-query rotation. Yelp's documentId hashes rotate every few months. When they do, the actor logs the exact GraphQL error and the fix is a one-line constant update.
  • Review depth is capped by Yelp itself. Most businesses return 100–200 reviews per sort order, then hasNextPage: false. For deeper coverage, run multiple sort orders.
  • Search mode is best-effort HTML discovery. If Yelp serves a Cloudflare challenge on the search page, business URL mode still works.
  • encBizId extraction depends on Yelp's HTML. If the pattern changes, the actor logs a diagnostic with the failed marker.

FAQ

Do I need a Yelp API key? No. The GraphQL endpoint is unauthenticated.

Do I need a proxy? Yes — US residential proxy is pre-configured and required.

Why is the run slow? Yelp rotates through Cloudflare reputation checks. Each business page costs one HTML fetch plus one GraphQL call, with retries on 403.

How do I export data? After a run, go to Storage → Export as JSON, CSV, Excel.

Support

Open an issue on the Actor's page for bugs or feature requests.