Yelp Business Search Scraper avatar

Yelp Business Search Scraper

Pricing

$0.80 / 1,000 results

Go to Apify Store
Yelp Business Search Scraper

Yelp Business Search Scraper

Pricing

$0.80 / 1,000 results

Rating

0.0

(0)

Developer

Danny

Danny

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Find businesses on Yelp for any search term and location — name, star rating, review count, category tags, price level, and the Yelp business URL — straight from a query. No login, no browser to manage, fast JSON.

Results come back in Yelp's own organic ranking (the "best of" list), with sponsored placements excluded (any that slip through are flagged is_ad). Each business's URL/slug feeds straight into the Yelp Business Detail and Yelp Reviews scrapers.

Pricing: $0.80 per 1,000 businesses (pay per result). You're only charged for businesses actually returned.

What you get

Every business returns:

FieldDescription
nameBusiness name
urlYelp business page URL
slugYelp business slug (feed to the Detail / Reviews scraper)
ratingStar rating (0–5)
review_countNumber of reviews on Yelp
categoriesYelp category tags (e.g. Plumbing, Water Heater Installation/Repair)
price_rangePrice level ($ – $$$$) when Yelp shows one
is_adtrue if this is a sponsored placement

Input

FieldRequiredDescription
queryA business type or keyword — restaurants, plumbers, coffee, dentists
locationCity, area, or ZIP — San Francisco, CA or 10001
max_resultsHow many businesses to return (default 20; one page holds ~10)
{ "query": "restaurants", "location": "San Francisco, CA", "max_results": 20 }

Example output

{
"name": "Blue Dragon Plumbing",
"url": "https://www.yelp.com/biz/blue-dragon-plumbing-austin-2",
"slug": "blue-dragon-plumbing-austin-2",
"rating": 4.9,
"review_count": 527,
"categories": ["Plumbing"],
"price_range": null,
"is_ad": false
}

Python client

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("<username>/yelp-search-scraper").call(
run_input={"query": "restaurants", "location": "San Francisco, CA", "max_results": 20}
)
for biz in client.dataset(run["defaultDatasetId"]).iterate_items():
print(biz["name"], biz["rating"], biz["review_count"])

Node.js client

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('<username>/yelp-search-scraper').call({
query: 'restaurants', location: 'San Francisco, CA', max_results: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((b) => console.log(b.name, b.rating, b.review_count));

FAQ

How many businesses per run? One Yelp results page holds ~10 organic businesses; max_results caps how many you keep.

Do I pay for sponsored results? Sponsored placements are excluded from the organic list; you're charged only for the businesses returned.

Can I get full details / reviews? Yes — take a business's slug and pass it to the Yelp Business Detail or Yelp Reviews scraper.