Pull ranked Yelp business listings with ratings, review counts, and phone numbers as JSON, then export a local lead list without a Fusion API key.
I do a lot of local B2B outreach, and the slow part was never the pitch. It was building a clean list of the right businesses in the right city, with a phone number attached to each one. Yelp has that data on its ranked search pages, but those pages are built to be read by people, not parsed by scripts. So I built an API that does the parsing for me.
The Yelp Search API is a Yelp scraper you call like an API: give it a search term and a location, and it returns the ranked local business listings as structured JSON, which is exactly what local lead generation work needs.
Each run gives you one row per business:
Business name, as ranked on the page
Star rating and review count, a proxy for how established a business is
Price tier and Yelp category aliases
Phone number and neighborhood
The place ID you need to pull full details or reviews later
Every result also carries the valid category, price, feature, and neighborhood filters for that search, so you can refine the search without guessing the parameters.

Open the Actor and click Try for free. Set a location (city, address, or ZIP) and an optional search term. Run it, then export the listings as JSON or CSV. Pricing is pay per page: about a cent per results page (roughly 10 businesses) plus a one-cent setup fee, so a 100-listing pull costs about eleven cents. New Apify accounts include free platform credit that covers early runs.
Every run is a standard Apify API call, so you can trigger it from any language. Send the input to the run endpoint:
POST /v2/acts/johnvc~yelp-search-api/runs
{ "search_term": "dentists", "location": "Brooklyn, NY", "sort_by": "rating", "max_pages": 2 }The run writes its results to a dataset you read back as JSON or CSV. Twenty listings, sorted by rating, with phone numbers attached, is a cold-call sheet in a single call.
Through Apify's MCP server, the Actor is a callable tool inside Claude, Claude Code, and Cursor. Ask "find the ten highest-rated plumbers in Chicago and give me their phone numbers" and the agent runs a real search instead of inventing plausible-sounding businesses. You can read about Claude and start a free trial through my referral.

The five runnable examples on the project examples page cover the main plays: build B2B lists by ZIP code, target one borough or metro at a time, cover the trades where review count doubles as a longevity signal, and rank the best restaurants in a city for a market snapshot. Each one is a saved task you clone for your own niche and city, then run on demand. The full project is on Peerlist.
The Yelp scraper bills about one cent per results page (roughly 10 businesses) plus a one-cent setup fee, so a 100-listing pull is about eleven cents. New Apify accounts ship with free platform credit that covers early runs, so you can test it at no cost.
Send a POST to the Actor's run endpoint with a JSON body holding your search term, location, sort order, and page count. The Yelp scraper writes one row per business to a dataset you read back as JSON or CSV, so it drops into any language or cron job.
Yes. Registered as an MCP tool, the Yelp scraper works from Claude, Claude Code, and Cursor, returning the same structured listings a direct run produces. No code is needed; you ask in plain language and the agent runs the search.
Whatever the search results page does not show: no email addresses, no full review text, and no hours. The Yelp scraper returns place IDs precisely so you can chain a details or reviews step for the businesses that matter.
I keep an eye on the issues tab and usually reply within a day.
0
1
0