Yelp Business Search Scraper avatar

Yelp Business Search Scraper

Pricing

from $2.00 / 1,000 results

Go to Apify Store
Yelp Business Search Scraper

Yelp Business Search Scraper

Scrape public Yelp business search results by query and location for market research. Extracts name, rating, review count, categories, address, public phone, URL, and price level. Playwright + Cheerio with residential proxy recommended (DataDome).

Pricing

from $2.00 / 1,000 results

Rating

0.0

(0)

Developer

jose olmedo soto aguirre

jose olmedo soto aguirre

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Share

Apify Actor that scrapes public Yelp business search results by query + location for legitimate market research and local competitive analysis.

Built with Camoufox (stealth Firefox — DataDome) + Cheerio (Hypernova JSON + DOM merge). Concurrency 1, polite delays, dedupe by biz alias. Apify Proxy RESIDENTIAL (US) required.


What it does

  1. Warms a Camoufox session on yelp.com (DataDome cookie)
  2. Opens /search?find_desc=…&find_loc=… pages
  3. Parses Hypernova react-root-props and merges DOM card fields (Yelp often nulls JSON blobs)
  4. Deduplicates by alias and stops at maxItems

Output fields

FieldDescription
nameBusiness name
ratingStar rating (0–5) when shown
reviewCountNumber of public reviews
categoriesCategory titles when shown on the card
addressNeighborhood / address snippet when public
phonePublic business phone when shown
urlCanonical https://www.yelp.com/biz/… URL
priceLevel$$$$$ when shown
query / locationInputs used for the run
scrapedAtISO timestamp

Yelp frequently omits phone / full street address / price from search cards. Those fields are null when not publicly rendered on the SERP.


Input

FieldRequiredDefaultDescription
querySearch term, e.g. coffee
locationCity/region, e.g. Austin, TX
maxItems15Max unique businesses (cap 200)
includeAdsfalseInclude sponsored cards
proxyConfigurationRESIDENTIAL + USRequired

Example input

{
"query": "coffee",
"location": "Austin, TX",
"maxItems": 15,
"includeAds": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

Example output (real run)

Live verification on Apify (2026-07-29): query coffee, location Austin, TX, maxItems: 15. Extracted 11 unique organic businesses (page 2 hit a soft DataDome block; page 1 Hypernova+DOM merge succeeded). Run: Rohs0iZYH3NKnU244.

[
{
"name": "Desnudo Coffee",
"rating": 4.6,
"reviewCount": 105,
"categories": ["Coffee Roasteries"],
"address": "Downtown",
"phone": null,
"url": "https://www.yelp.com/biz/desnudo-coffee-austin-2",
"priceLevel": null,
"query": "coffee",
"location": "Austin, TX",
"scrapedAt": "2026-07-29T06:11:00.495Z"
},
{
"name": "Desnudo Coffee",
"rating": 4.7,
"reviewCount": 344,
"categories": ["Coffee Roasteries"],
"address": "East Austin",
"phone": null,
"url": "https://www.yelp.com/biz/desnudo-coffee-austin",
"priceLevel": null,
"query": "coffee",
"location": "Austin, TX",
"scrapedAt": "2026-07-29T06:11:00.495Z"
},
{
"name": "Third Coast Coffee Roasting Company",
"rating": 4.9,
"reviewCount": 108,
"categories": ["Coffee & Tea", "Coffee Roasteries"],
"address": "East Austin",
"phone": null,
"url": "https://www.yelp.com/biz/third-coast-coffee-roasting-company-austin",
"priceLevel": null,
"query": "coffee",
"location": "Austin, TX",
"scrapedAt": "2026-07-29T06:11:00.495Z"
}
]

Also verified earlier cloud run with 15 items (name/rating/reviews/URL): laxPbeR3GFZ0HNuT6.


Suggested pricing

PlanPriceNotes
Pay per result$1.50–3 / 1,000 resultsOccasional local market pulls
Rental$25–39 / monthRecurring competitor / directory jobs

Residential proxy compute is billed separately by Apify.


Responsible use / Terms of Service

  • Use only for legitimate market research on publicly available business listing data.
  • Respect Yelp Terms of Service and applicable local laws.
  • Do not harvest personal consumer data, bypass login walls, scrape private profiles, or run abusive high-concurrency traffic.
  • Keep concurrency at 1, use polite delays, and prefer RESIDENTIAL proxies.
  • You are responsible for compliance with Yelp ToS and your jurisdiction’s rules.

Tips for reliable runs

  1. Always enable Apify Proxy → RESIDENTIAL with apifyProxyCountry: US.
  2. Start with maxItems ≤ 15 (~1–2 pages). Page 2+ is more likely to soft-block.
  3. If you get 0 items, DataDome blocked — retry later with a fresh residential session.
  4. Prefer organic results (includeAds: false).
  5. Local apify run fails without Proxy external access — use apify call on the platform.

Local development

export APIFY_TOKEN=$(grep '^APIFY_TOKEN=' ../.env | cut -d= -f2-)
npm install --registry https://registry.npmjs.org/
apify run

On Apify Cloud:

apify push -f
apify call joseolmedosotoaguirre/yelp-business-search --input '{...}'

Actor: https://console.apify.com/actors/grvX9UcIK9nb4c9BL
Username slug: joseolmedosotoaguirre/yelp-business-search