Operated by Sourcelane✓ verified
Extract emails, phone numbers, and social media links from any website. Scrape multiple sites per run using a real browser for full JS-rendered content.
A web crawler and extractor that uses a real Chromium browser to render JavaScript-heavy sites and harvest contact-related data across one or multiple websites in a single run. Extracted data includes unique email addresses, phone numbers in various international and domestic formats (including extensions), and social media/profile URLs auto-detected and categorized by platform (Facebook, X/Twitter, LinkedIn, Instagram, YouTube, TikTok, Pinterest, Snapchat, Telegram, WhatsApp, Reddit, Discord, GitHub, and more). The connector prioritizes common contact paths (contact, about, team, staff), enforces same-hostname crawling, supports configurable crawl depth and per-site page limits, deduplicates results per site, filters common false positives (e.g., CSS identifiers and image filenames containing @), and returns per-site records containing lists of discovered contact items, the set of scanned pages, and per-site success/error status.
Verified Sep 28, 3:55 AM
$0.003
per contact
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Lead generation
Find contact details on company websites for outreach campaigns
Sales prospecting
Build contact lists from industry directories or partner pages
Social media discovery
Find all social profiles associated with a business in one pass
Due diligence
Audit what contact information a company exposes publicly
Market research
Collect contact data from multiple competitor or supplier sites at once
Recruitment
Surface contact pages and team directories at target organisations
One or more website URLs to scrape.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"website-contact-scraper","params":{"urls":["https://crawlee.dev"]},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
urls | array | required | One or more website URLs to scrape. Each URL is crawled independently and produces one output record. |
maxDepth | integer | optional | How many link-hops deep to follow per site. 2 covers most contact pages; increase for deeper directories. |
maxPages | integer | optional | Maximum pages to visit per URL. The connector also pre-visits common contact paths (/contact, /about, /team, etc.) and stops early once it has enough contact data. |
Each result contains
| Field | Type | Description |
|---|---|---|
url | string | Url |
emails | array | Emails |
social_links | object | — |
phone_numbers | array | Phone numbers |
scanned_pages | array | Scanned pages |
status | string | Status |
error | null | — |
Pick your tool and connect in under a minute. Then just ask — for example: “For these 50 domains, find contact emails and what e-commerce platform they run on.”
Connect Claude
Web, desktop and mobile. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.usesourcelane.com/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://api.usesourcelane.com/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"website-contact-scraper","params":{"urls":["https://crawlee.dev"]},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://api.usesourcelane.com/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "website-contact-scraper",
"params": {"urls":["https://crawlee.dev"]},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…