Yelp Business Scraper avatar

Yelp Business Scraper

Pricing

from $0.14 / 1,000 item extracteds

Go to Apify Store
Yelp Business Scraper

Yelp Business Scraper

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

Pricing

from $0.14 / 1,000 item extracteds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Yelp Business Scraper – Search and Export Business Profiles

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

FieldTypeDescription
searchQueriesstring[]Categories, services, or business names.
searchLocationsstring[]Cities, regions, or postal codes. Each query is combined with each location.
startUrlsrequest[]Public Yelp business or search URLs.
businessAliasesstring[]Yelp aliases such as gary-danko-san-francisco.
maxResultsPerSearchintegerUnique businesses per query/location, from 1 to 240.
maxPagesPerSearchintegerPagination cap from 1 to 24.
sortBystringrecommended, rating, or review_count.
priceLevelsinteger[]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.

Output fields

Every dataset row uses one stable business shape. Source-dependent optional fields may be null or empty when Yelp does not publish them.

GroupFields
IdentitybusinessId, alias, name, url, alternateNames, businessType
StatusisAd, isClaimed, isClosed, isTemporarilyClosed
AddressaddressLine1, addressLine2, city, state, postalCode, country, neighborhoods
Coordinateslatitude, longitude
Classificationcategories, cuisine
Contact and pricephone, website, priceRange
Reputationrating, reviewCount, healthScore
Hours and featureshours, specialHours, amenities, businessHighlights
Aboutabout, specialties, history, yearEstablished
Links and mediamenuUrl, reservationUrl, primaryPhoto, images, mediaCount
ProvenancesearchQuery, searchLocation, searchRank, sourceUrl, collectedAt

This Actor returns business discovery/profile records, not review bodies or reviewer profiles.

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"}]}

Pricing and limits

The Actor charges one small start event per run and one item event for each unique business saved. Failed targets and duplicates are not charged as items. Current rates and account-tier discounts are shown on the Actor's live Pricing tab.

Yelp may limit the number of businesses available for a search. The Actor caps each search at 240 businesses and 24 pages, preserves completed rows when another target fails, and records a run summary in the default key-value store.

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.

FAQ

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.

Can I search multiple locations?

Yes. Every search query is combined with every supplied location, and businesses are deduplicated across the run.

What happens if one search fails?

Completed businesses remain in the dataset. The run summary reports failed targets, duplicates, saved rows, and pending work.

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.