Use this Yelp scraper to find public Yelp businesses by keyword and location or look up known business URLs and aliases. Export canonical Yelp IDs, profile URLs, ratings, review counts, categories, location details, contact fields, hours, media, and search provenance as structured JSON, CSV, Excel, or other Apify dataset formats.
Example input
{
"searchQueries": ["plumbers"],
"searchLocations": ["San Francisco, CA"],
"maxResultsPerSearch": 20,
"maxPagesPerSearch": 2,
"sortBy": "recommended"
}
Example output
{
"businessId": "RR5cJHVh-R9f5DNqZ-XAJA",
"alias": "discount-plumbing-rooter-services-san-francisco-2",
"name": "Discount Plumbing Rooter Services",
"url": "https://www.yelp.com/biz/discount-plumbing-rooter-services-san-francisco-2",
"rating": 4.5,
"reviewCount": 1305,
"categories": ["Plumbing"],
"searchQuery": "plumbers",
"searchLocation": "San Francisco, CA",
"searchRank": 1,
"collectedAt": "2026-08-13T12:00:00.000Z"
}
Who is it for?
This Actor is built for local lead generation agencies, local SEO teams, market researchers, and business data enrichment teams that need repeatable Yelp business discovery data.
What you can use it for
- Build local-business lead lists by service and city for Yelp lead generation.
- Compare businesses by rating, review volume, category, or price range.
- Resolve Yelp aliases and URLs to stable business IDs.
- Feed canonical business URLs into Yelp Reviews Scraper.
- Monitor public business profile details over time.
Input settings
| Field | Type | Description |
|---|---|---|
searchQueries |
string[] | Categories, services, or business names. |
searchLocations |
string[] | Cities, regions, or postal codes. Each query is combined with each location. |
startUrls |
request[] | Public Yelp business or search URLs. |
businessAliases |
string[] | Yelp aliases such as gary-danko-san-francisco. |
maxResultsPerSearch |
integer | Unique businesses per query/location, from 1 to 240. |
maxPagesPerSearch |
integer | Pagination cap from 1 to 24. |
sortBy |
string | recommended, rating, or review_count. |
priceLevels |
integer[] | Optional Yelp price levels 1–4. |
Provide both searchQueries and searchLocations when using search mode. You can combine search, URL, and alias inputs in one run; duplicate businesses are saved once.
Input recipes
Find local service providers
{"searchQueries":["electricians","plumbers"],"searchLocations":["Austin, TX"],"maxResultsPerSearch":25}
Look up known profiles
{"businessAliases":["gary-danko-san-francisco"],"maxResultsPerSearch":1}
Use public Yelp URLs
{"startUrls":[{"url":"https://www.yelp.com/biz/gary-danko-san-francisco"}]}
API usage
Run from JavaScript with apify-client:
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/yelp-business-scraper').call({
searchQueries: ['sushi'],
searchLocations: ['Austin, TX'],
maxResultsPerSearch: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
Run from Python with apify-client:
from apify_client import ApifyClient
client = ApifyClient("<APIFY_API_TOKEN>")
run = client.actor("fetch_cat/yelp-business-scraper").call(run_input={
"searchQueries": ["sushi"],
"searchLocations": ["Austin, TX"],
"maxResultsPerSearch": 20,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
Or call the REST API with cURL:
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~yelp-business-scraper/runs?token=<APIFY_API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{"searchQueries":["sushi"],"searchLocations":["Austin, TX"],"maxResultsPerSearch":20}'
The same input works with schedules, webhooks, and integrations.
MCP and AI agents
Connect through Apify MCP. For Claude Code:
claude mcp add apify --transport http 'https://mcp.apify.com/?tools=fetch_cat/yelp-business-scraper'
Example MCP client configuration:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=fetch_cat/yelp-business-scraper"
}
}
}
Example prompts: “Find 20 plumbers in Austin and return names, ratings, phones, and Yelp URLs” or “Compare sushi businesses in Seattle by rating and review count.” Keep limits low during interactive exploration, then increase them for exports.
Tips
- Use specific service terms and city/state locations for relevant lead lists.
- Start with 10–25 businesses to validate a search before requesting more pages.
- Use direct aliases or URLs when you already know the target business.
- Review optional fields for your category and region; public profile completeness varies.
Support
If a public Yelp URL or search returns unexpected output, open an issue from the Actor page and include the input, run ID, and expected business. Do not include private credentials or personal account data.