Yelp Search Scraper
Pricing
from $0.001 / result
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
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:
| Field | Description |
|---|---|
title | Business name |
link | Yelp business page URL |
rating | Star rating (e.g. 4.5) |
reviews | Review count |
price | Price tier ($–$$$$), when Yelp shows one |
neighborhoods | Neighborhood or area |
open_state | e.g. "Open until 9:00 PM" |
categories | Business categories, each with a title and link |
snippet | An excerpt from a featured review |
thumbnail | Listing photo URL |
With Scrape full detail pages turned on, each result is enriched with:
| Field | Description |
|---|---|
phone, address | Contact details |
website | The business's own site, if listed |
status | e.g. "Permanently closed", when applicable |
hours | Full weekly hours |
amenities | e.g. "Takes reservations; Offers take-out; Accepts credit cards" |
people_also_searched | Related searches Yelp surfaces on the page |
photo_urls | All photo URLs from the business's gallery |
Input
| Field | Required | Default | Notes |
|---|---|---|---|
Search description (findDesc) | Yes | — | What to search for, e.g. "Indian Veg Restaurants" |
Location (findLoc) | Yes | — | Where to search, e.g. "Quebec City, Quebec, Canada" |
Scrape full detail pages (scrapeDetails) | No | true | Turn off for a faster run using only the search-result summary |
Max concurrent detail-page requests (maxConcurrency) | No | 3 | Start low (2–5) — all requests in a run share one identity |
Refresh cookie cache only (refreshCookieOnly) | No | false | Skips 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.