Give Claude Code a live business lead finder over MCP
Add one remote MCP server and Claude Code can pull real YellowPages listings, with phones and websites, into a table.

Ask Claude Code for "plumbers in Austin with phone numbers" and it can only guess, because it has no live access to business directories. A remote MCP server fixes that in one command: the agent gets a tool that searches YellowPages and returns structured rows it can sort, dedupe and export. We (Zebu Data) build the scraper used in this post, and everything below comes from a real run on Oct 2, 2026.
What you need
- Claude Code, or any MCP client that supports remote servers over streamable HTTP.
- An Apify account. The scraper runs on Apify, and a free Apify account is enough to try it.
Step 1: Add the server
claude mcp add --transport http yellowpages-usa "https://mcp.apify.com/?tools=delicious_zebu/yellowpages-usa-business-lead-scraper"
The tools= parameter limits the server to the scrapers you list, so the agent can't wander off and call anything else. The first time a tool runs, you sign in to Apify, and usage is billed to your Apify account.
Step 2: Ask in plain English
Find plumbers in Austin, TX on YellowPages, just one results page, and give me a table with name, phone, website and rating. Skip sponsored duplicates.
What happens under the hood
This is the part that surprised us when we traced the real MCP traffic.
Discovery. On
tools/listthe server exposes one tool per scraper (delicious_zebu--yellowpages-usa-business-lead-scraper) plus four helpers:get-actor-run,get-dataset-items,get-key-value-store-recordandabort-actor-run.The call. The agent calls the scraper tool with:
{ "searchKeyword": ["plumbers"], "location": "Austin, TX", "maxPages": 1 }No answer yet. After about 30 seconds the tool returns early with status
RUNNING, a run ID and a note that says "23 results so far", plus an instruction to poll withget-actor-run.Polling. The agent calls
get-actor-runwith the run ID.waitSecsis capped at 45, so a slower scraper takes a few polls. Our run finished in about 35 seconds.Reading rows. The agent calls
get-dataset-itemswith the dataset ID and gets the rows as JSON.
If you build your own MCP client, plan for steps 3 and 4: long scrapes come back as a run you have to poll, not as a finished result.
The result
That single page returned 37 rows: 30 regular listings and 7 sponsored ones. Four of the sponsored rows repeat a regular listing, so there are 33 distinct businesses. A few regular rows, with phone numbers partly masked:
| Business | Phone | Website | Rating |
|---|---|---|---|
| Clarke Kent Plumbing | (512) •••-••70 | clarkekentplumbing.com | 3★ (15 ratings) |
| Custom Plumbing Services | (512) •••-••37 | cpsaustin.com | none |
| A&T Service Plumbing | (512) •••-••83 | atserviceplumbing.com | none |
| Republic Pipeworks | (512) •••-••24 | none listed | none |
Across all 37 rows:
- every row has a phone number,
- 28 (76%) list a website, 2 of them small sites hosted by YellowPages on
localsearch.com, - 18 (49%) show an email address,
- 12 (32%) have a star rating, and 19 (51%) are claimed by the owner.
Tips from the run
- Dedupe on
source_url. Sponsored rows repeat regular listings on the same page. Tell the agent to keep one row persource_url. - A rating of "0" means no rating, not zero stars. Ask the agent to treat it as empty before it sorts.
- Start with
maxPages: 1. One page is about 30 regular listings. Check the output, then scale up. - Unclaimed listings are a lead signal of their own. If you sell local SEO, the 18 unclaimed businesses here are the obvious first calls.
Going further
The same scraper is part of our Local Business Leads bundle, listed in the official MCP Registry as io.github.zebudata/local-business-leads. It adds Google Maps, Yelp, YellowPages Canada and Australia, and a contact extractor that pulls emails and phones from business websites. For Claude Code there is also a plugin with skills for the full workflow: search several sources, dedupe, enrich, export a CSV.
/plugin marketplace add zebudata/claude-plugins
/plugin install zebu-local-leads@zebu-data
- YellowPages Scraper on Apify. Pricing is pay per event: a small charge per run plus one per result. See the Pricing tab for current rates.
- Plugin and MCP bundle URLs on GitHub
The scraper collects publicly available business information. You're responsible for using the data in line with applicable laws (e.g. GDPR, CAN-SPAM) and the website's terms.
Written with AI assistance and checked against real runs.

