Yelp Business Scraper

Find and export public Yelp business listings, profiles, ratings, locations, contact details, hours, and search provenance.

Data fields

FieldTypeDescription
businessIdstringValue exported as businessId.
aliasstringValue exported as alias.
namestringValue exported as name.
urlstringValue exported as url.
alternateNamesarrayValue exported as alternateNames.
isAdbooleanValue exported as isAd.
isClaimedbooleanValue exported as isClaimed.
isClosedbooleanValue exported as isClosed.

Input preview

searchQueriesSearch terms
searchLocationsLocations
startUrlsYelp URLs
maxResultsPerSearchMaximum businesses per search
maxPagesPerSearchMaximum pages per search
sortBySort results by

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

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.

Common questions

Questions and answers reused from the canonical actor README.

What data can I export with Yelp Business Scraper?

You can export identity, location, categories, ratings, review totals, public contact details, hours, media, and search provenance for each discovered business.

Can I run Yelp Business Scraper through an API, schedule, or MCP client?

Yes. Use the Apify API example above, create a schedule in Console, or connect through the linked Apify MCP endpoint with the same JSON input.

How much does it cost to use Yelp Business Scraper?

Each run charges one small start event and one item event per unique business saved. Current rates and account-tier discounts are shown on the Actor's Pricing tab.

Does this scrape Yelp reviews?

No. It exports one row per business. Use Yelp Reviews Scraper for public review records.

Why are some contact or hours fields empty?

Yelp does not publish every field for every business or region. The Actor keeps the business row and uses null or an empty array for unavailable optional data.