Contact Finder MCP Server avatar

Contact Finder MCP Server

Pricing

Pay per event + usage

Go to Apify Store
Contact Finder MCP Server

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

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

4 days ago

Last modified

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

ToolPurposeMain output
find_emailsFind public emails from a website and likely contact pagesemails
find_phonesFind website phone numbersphones
find_socialsFind social media profile linkssocials

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.

FieldTypeDescription
toolstringTool that was called
domainstringOriginal domain or URL from the request
normalizedDomainstringURL normalized before scanning
emailsarrayReturned by find_emails
phonesarrayReturned by find_phones; includes value, normalized, format, and region
socialsobjectReturned by find_socials
contactPageUrlstring/nullContact page found by the source crawler
pagesCrawlednumberNumber of pages scanned by the source actor
sourceActorRunIdstringInternal Website Contact Finder run ID
sourceDatasetIdstringInternal source dataset ID
crawledAtstringISO 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.005 on Bronze for each find_emails, find_phones, or find_socials call, 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

  1. Open the actor on Apify.
  2. Use the Standby endpoint from the actor page.
  3. Send MCP Streamable HTTP JSON-RPC requests to /mcp.
  4. Call one of the three tools with a domain and optional max_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

InputTypeDefaultDescription
toolstringfind_emailsOne of find_emails, find_phones, or find_socials
domainstringrequiredCompany domain or full website URL
max_pagesinteger8Maximum 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 ApifyClient
client = 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_pages between 5 and 10 for agent workflows.
  • Increase max_pages only when the company hides contacts on deeper pages.
  • Use find_socials when 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.

Changelog

  • 0.1.0 — Initial MCP experiment actor with emails, phones, and socials tools.