Contact Finder MCP Server
Pricing
Pay per event + usage
Contact Finder MCP Server
MCP server for SDR agents to find public emails, phone numbers, and social profiles from company domains using focused tool calls.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 days ago
Last modified
Categories
Share
Turn company domains into public contact signals from Claude, Cursor, custom SDR agents, or any MCP-compatible client.
Contact Finder MCP Server exposes three focused tools over Apify Standby + MCP: find public emails, find phone numbers, and find social profile links. It is built as a sibling actor for the MCP experiment and calls the existing Website Contact Finder actor internally instead of duplicating its crawler.
What does Contact Finder MCP Server do?
It scans a company website and returns a compact contact result that an AI agent can use immediately.
find_emails(domain, max_pages?)returns public email addresses.find_phones(domain, max_pages?)returns discovered phone numbers with normalized digits.find_socials(domain, max_pages?)returns LinkedIn, X/Twitter, Facebook, Instagram, YouTube, GitHub, and TikTok URLs when found.
Who is it for?
- SDR agents that need a contact step inside a prospecting workflow.
- RevOps teams building lead enrichment assistants.
- Founders validating small lead lists from domains.
- Agencies that want an MCP tool rather than a bulk scraping UI.
- Developers testing Apify Standby actors as MCP servers.
Why use this actor?
Most contact finders are batch jobs. This actor is designed around agent tool calls. Your assistant can decide which contact signal it needs, call one tool, and receive JSON that fits naturally into a chat or workflow memory.
MCP tools
| Tool | Purpose | Main output |
|---|---|---|
find_emails | Find public emails from a website and likely contact pages | emails |
find_phones | Find website phone numbers | phones |
find_socials | Find social media profile links | socials |
Add it to Claude Code with:
claude mcp add apify-contact-finder \https://mcp.apify.com/?tools=automation-lab/contact-finder-mcp
Or configure an MCP client with JSON:
{"mcpServers": {"apify-contact-finder": {"url": "https://mcp.apify.com/?tools=automation-lab/contact-finder-mcp"}}}
Example prompt: "Use Contact Finder MCP to find social profiles for openai.com and summarize the best outreach channel."
Data returned
Each tool response includes the requested contact type plus traceability fields.
| Field | Type | Description |
|---|---|---|
tool | string | Tool that was called |
domain | string | Original domain or URL from the request |
normalizedDomain | string | URL normalized before scanning |
emails | array | Returned by find_emails |
phones | array | Returned by find_phones; includes value, normalized, format, and region |
socials | object | Returned by find_socials |
contactPageUrl | string/null | Contact page found by the source crawler |
pagesCrawled | number | Number of pages scanned by the source actor |
sourceActorRunId | string | Internal Website Contact Finder run ID |
sourceDatasetId | string | Internal source dataset ID |
crawledAt | string | ISO timestamp for the tool call |
How much does it cost to find contacts with MCP?
The actor uses pay-per-event pricing.
- Run/session start:
$0.005. - Contact tool call:
$0.005on Bronze for eachfind_emails,find_phones, orfind_socialscall, with standard tier discounts.
This price was chosen for the MCP experiment because observed source Website Contact Finder runs on small domains cost roughly $0.0001–0.0003 in Apify usage per domain, leaving room for the nested source actor run and Standby overhead while keeping agent tool calls inexpensive.
How to use it in Standby mode
- Open the actor on Apify.
- Use the Standby endpoint from the actor page.
- Send MCP Streamable HTTP JSON-RPC requests to
/mcp. - Call one of the three tools with a
domainand optionalmax_pages.
How to use it in normal actor mode
You can also run one tool call as a regular Apify actor run.
{"tool": "find_emails","domain": "apify.com","max_pages": 5}
The result is pushed to the default dataset.
Input
| Input | Type | Default | Description |
|---|---|---|---|
tool | string | find_emails | One of find_emails, find_phones, or find_socials |
domain | string | required | Company domain or full website URL |
max_pages | integer | 8 | Maximum internal pages to scan, from 1 to 25 |
Output example
{"tool": "find_socials","domain": "apify.com","normalizedDomain": "https://apify.com","maxPages": 5,"contactPageUrl": null,"pagesCrawled": 5,"sourceActorRunId": "abc123","sourceDatasetId": "def456","crawledAt": "2026-05-20T00:00:00.000Z","socials": {"linkedin": "http://linkedin.com/company/apify/","twitter": "https://x.com/apify","facebook": null,"instagram": null,"youtube": null,"github": "https://github.com/apify","tiktok": "https://www.tiktok.com/@apifytech"}}
MCP JSON-RPC example
{"jsonrpc": "2.0","id": 1,"method": "tools/call","params": {"name": "find_emails","arguments": {"domain": "apify.com","max_pages": 5}}}
MCP setup
The recommended MCP URL is:
https://mcp.apify.com/?tools=automation-lab/contact-finder-mcp
Example prompts:
- "Find public emails for apify.com and tell me whether there is a generic sales inbox."
- "Find social profiles for openai.com and draft a short SDR research note."
- "Find phone numbers for this company domain and return normalized digits only."
Claude Code setup
Use the Apify MCP endpoint with the actor tool filter:
claude mcp add apify-contact-finder \https://mcp.apify.com/?tools=automation-lab/contact-finder-mcp
Then ask:
Find public emails for apify.com and summarize whether the domain has a general sales inbox.
Claude Desktop setup
Add an MCP server that points to Apify MCP with this actor enabled:
{"mcpServers": {"apify-contact-finder": {"url": "https://mcp.apify.com/?tools=automation-lab/contact-finder-mcp"}}}
API usage with Apify client
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/contact-finder-mcp').call({tool: 'find_socials',domain: 'apify.com',max_pages: 5,});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/contact-finder-mcp').call(run_input={'tool': 'find_phones','domain': 'apify.com','max_pages': 5,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~contact-finder-mcp/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"tool":"find_emails","domain":"apify.com","max_pages":5}'
Tips for better results
- Use the root domain, for example
example.com, not a deep product URL. - Keep
max_pagesbetween 5 and 10 for agent workflows. - Increase
max_pagesonly when the company hides contacts on deeper pages. - Use
find_socialswhen a website has no obvious email; LinkedIn pages are often enough for SDR routing.
Integrations
- Enrich CRM records from a domain column.
- Add a contact lookup step to an outbound email drafting agent.
- Check whether a target account has public social profiles before personalization.
- Route leads to phone-first or email-first workflows based on returned contacts.
Architecture notes
This actor does not fork Website Contact Finder. It keeps a separate MCP interface and calls automation-lab/website-contact-finder as the internal scraping engine. That keeps the experiment isolated while preserving the production crawler boundary.
Standby and MCP mechanics
The actor enables Apify Standby mode and exposes an MCP endpoint at /mcp. It supports JSON-RPC initialize, ping, tools/list, and tools/call. Readiness probes return a simple ready response so Apify can keep the Standby container healthy.
Limitations
- It finds public contact information only.
- It does not log in, bypass paywalls, or access private directories.
- It returns what the scanned website exposes within the selected page limit.
- Some companies intentionally avoid publishing emails or phone numbers.
Legality and privacy
The actor extracts contact details publicly available on company websites. You are responsible for using the data under applicable laws such as GDPR, CAN-SPAM, and local telemarketing rules. Always respect opt-outs and avoid sending unsolicited messages where prohibited.
FAQ
Is this the same as Website Contact Finder?
No. This actor is the MCP interface. It calls Website Contact Finder internally as the scraping engine but keeps separate pricing, schemas, Standby configuration, and agent-focused tools.
Can I use it for bulk lead lists?
For bulk lists, use Website Contact Finder directly. This actor is optimized for individual MCP tool calls inside AI workflows.
Troubleshooting
The tool returns no emails
Try find_socials or increase max_pages. Many companies publish contact forms and social profiles instead of raw email addresses.
The tool is slow
Lower max_pages. Agent workflows usually work best with a small scan first, then a second deeper scan only when needed.
The MCP client cannot list tools
Confirm the client is calling the Apify MCP URL with ?tools=automation-lab/contact-finder-mcp and that the actor has Standby enabled.
Related scrapers
- Website Contact Finder for bulk website contact extraction.
- Email Finder for email-focused workflows.
- Google Maps Lead Finder for local business prospecting.
Changelog
0.1.0— Initial MCP experiment actor with emails, phones, and socials tools.