Yelp Search Scraper avatar

Yelp Search Scraper

Pricing

from $0.001 / result

Go to Apify Store
Yelp Search Scraper

Yelp Search Scraper

Extract Yelp business data quickly without API keys. Collects ratings, prices, hours, amenities, and photos. Features advanced anti-bot mitigation (DataDome bypass) and robust cross-run caching for uninterrupted, scalable data extraction.

Pricing

from $0.001 / result

Rating

0.0

(0)

Developer

Creation

Creation

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Searches Yelp for businesses matching a description and location, and returns the results as structured data — name, rating, review count, price tier, neighborhood, open/closed status, categories, review snippet, and thumbnail. Optionally visits each business's own page for phone, address, hours, amenities, and photos.

What you get

For each business found:

FieldDescription
titleBusiness name
linkYelp business page URL
ratingStar rating (e.g. 4.5)
reviewsReview count
pricePrice tier ($$$$$), when Yelp shows one
neighborhoodsNeighborhood or area
open_statee.g. "Open until 9:00 PM"
categoriesBusiness categories, each with a title and link
snippetAn excerpt from a featured review
thumbnailListing photo URL

With Scrape full detail pages turned on, each result is enriched with:

FieldDescription
phone, addressContact details
websiteThe business's own site, if listed
statuse.g. "Permanently closed", when applicable
hoursFull weekly hours
amenitiese.g. "Takes reservations; Offers take-out; Accepts credit cards"
people_also_searchedRelated searches Yelp surfaces on the page
photo_urlsAll photo URLs from the business's gallery

Input

FieldRequiredDefaultNotes
Search description (findDesc)YesWhat to search for, e.g. "Indian Veg Restaurants"
Location (findLoc)YesWhere to search, e.g. "Quebec City, Quebec, Canada"
Scrape full detail pages (scrapeDetails)NotrueTurn off for a faster run using only the search-result summary
Max concurrent detail-page requests (maxConcurrency)No3Start low (2–5) — all requests in a run share one identity
Refresh cookie cache only (refreshCookieOnly)NofalseSkips scraping entirely; just warms the shared cookie cache. Meant to be triggered on a Schedule so real runs rarely pay the mint cost live

Results per run

Each run returns the top page of Yelp search results for the given query — up to 10 businesses. This is a deliberate design choice, not a current limitation: Yelp's bot protection distinguishes an automated visitor requesting page 2+ of results from one just viewing the first page, and reliably blocks the former regardless of how the request is made. Ten real, verified results per query is the trade-off this Actor makes for consistent reliability instead of an unreliable deeper crawl.

How it handles Yelp's bot protection

Yelp protects its pages with DataDome, which requires a real browser to solve a JavaScript challenge before serving content. This Actor mints that challenge cookie automatically using a real (non-headless) Chrome browser running against a virtual display — no manual cookie copying required. The resulting cookie is cached across runs, so most runs reuse an already-solved cookie in a few seconds rather than paying the ~70–90s mint cost every time.

If a request is blocked despite a cached cookie, the Actor still returns whatever data it already collected, then refreshes the cookie afterward for the next run — a block never costs you a delayed or empty result if any data was already in hand.

Tips

  • Requests from this Actor use Apify's Residential Proxy automatically when available.
  • Running several searches at the exact same moment increases the chance any single one gets blocked (they briefly share one exit IP). Staggering concurrent runs by a few seconds avoids this.
  • For scheduled/unattended use, set up an Apify Schedule that runs with Refresh cookie cache only enabled every 20–30 minutes, so on-demand runs almost always find a warm cookie waiting.