Build source-backed B2B leads lists of public businesses by city and business type. This B2B leads scraper exports business websites, publicly published emails and phones, plus the exact public pages used for each record.
This Actor finds companies, not people. It does not use Apollo, ZoomInfo, Lusha, a private contact database, login credentials, or guessed contact data.
What you get
- City-bounded public business discovery
- Public website, phone, address, and source record URL
- Emails visibly published on a business site or source tag
- Optional domain MX status (not a mailbox deliverability claim)
- Linked business social links and fetched-page provenance
Example input
{
"sector": "dentist",
"country": "United States",
"cities": ["Chicago"],
"maxLeads": 10,
"maxPagesPerSite": 2,
"requireEmail": true,
"verifyMx": true
}
You can also supply startUrls for a bounded list of public business websites.
Example output
{
"companyName": "Example Dental",
"domain": "example.com",
"website": "https://example.com/",
"country": "United States",
"sector": "dentist",
"address": "123 Main St, Chicago, IL",
"discoveryUrl": "https://www.openstreetmap.org/node/123",
"companyEmails": [{"email": "hello@example.com", "sourceUrl": "https://example.com/contact"}],
"primaryEmail": "hello@example.com",
"emailMxStatus": "mx_present",
"phones": ["+1 555 0100"],
"socials": {"linkedin": null, "facebook": null, "instagram": null, "twitter": null},
"pagesScraped": ["https://example.com/", "https://example.com/contact"],
"scrapedAt": "2026-08-30T00:00:00.000Z"
}
Input settings
| Field | Purpose |
|---|---|
sector, country, cities |
Bound public business discovery. |
maxLeads |
Maximum distinct company rows to save. |
maxPagesPerSite |
Maximum public pages to inspect per site. |
requireEmail |
Save only companies with a visibly public email. |
startUrls |
Public business sites to process instead of discovery. |
verifyMx |
Check MX records for the public business domain. |
customOffset |
Skip discovered rows for a bounded follow-up batch. |
Tips and limits
Start with one city and a small maximum. Not every public business has a website or publishes an email; disable requireEmail when you need a company-research list rather than an email-ready list. Public source availability can change or rate-limit requests, so valid partial results are retained with their provenance.
Who is it for?
- Local sales and outreach teams building a source-backed company list before personal contact.
- Agencies and researchers who need repeatable city-and-sector discovery with exportable provenance.
- Operations teams that already have a list of public company sites and want to collect only visible business contacts.
API Usage
Use the same JSON as the input example with the Apify API.
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/leads-finder').call({
sector: 'dentist', country: 'United States', cities: ['Chicago'], maxLeads: 10,
});
console.log(`Dataset: ${run.defaultDatasetId}`);
Python
from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('fetch_cat/leads-finder').call(run_input={
'sector': 'dentist', 'country': 'United States', 'cities': ['Chicago'], 'maxLeads': 10,
})
print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~leads-finder/runs?token=<token>" \
-H "Content-Type: application/json" -d @input.json
MCP and AI agents
Add this Actor to an MCP client such as Claude Desktop, Cursor, or VS Code:
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/leads-finder"
}
}
}
Claude Code can use the same server:
claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/leads-finder"
Example prompts: “Find up to 10 dentist businesses in Chicago that publish an email” or “Enrich these public company websites and return visible phones, emails, and source URLs.”
Support
For a reproducible issue, include your non-sensitive input, run ID, and an example source URL.