Operated by Sourcelane✓ verified
Validate phone numbers in bulk and get E.164 format, country, line type (mobile, landline, VoIP, toll-free), carrier, location and timezone for every number.
A bulk phone-number validation and enrichment tool that normalizes phone numbers to a standard international format, validates them against official national numbering plans, and performs lookups to classify line type (mobile, landline, VoIP, toll‑free, premium, pager, etc.), identify assigned carrier/operator, determine country and calling code, extract extensions, infer city/region for fixed lines, map IANA timezones, and generate click-to-chat links for messaging apps. Produces display-ready international and national formats and dialing links, per-number validity status and reasons for invalidity, and aggregate counts for valid/invalid/mobile numbers; designed to process large volumes across every country and a wide variety of input formats.
Verified Oct 25, 10:11 PM
$0.0008
per phone number
Up to 100 per call. Only pay for results returned; failed calls are refunded.
Clean and normalize CRM or lead lists before importing into dialers, SMS platforms, or advertising audiences
Lead qualification by separating mobile numbers from landlines and toll-free ranges for SMS or messaging campaigns
Bulk form and sign-up validation to detect fake or mistyped phone numbers
Data enrichment for scraped business or contact records with country, region, carrier, and timezone metadata
Call and outreach scheduling by routing contacts to the correct local timezone
Phone numbers to check, one per line.
2-letter ISO country code used for numbers written without a + country code.
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":"phone-number-validator","params":{"phoneNumbers":["+1 650-253-0000","+44 20 7946 0958","0412 345 678","+49 30 901820","555-0100"]},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
phoneNumbers | array | required | Phone numbers to check, one per line. Any format works: +1 650-253-0000, (020) 7946 0958, 0412 345 678, tel:+4930123456. Numbers without a + country code use the Default country below. |
defaultCountry | string | optional | 2-letter ISO country code (US, GB, AU, DE…) used for numbers written without a + country code. Leave empty if every number has one. |
includeCarrierAndLocation | boolean | optional | Look up the original carrier (mobile numbers), the city/region (landlines) and timezone(s) for each valid number. |
onlyValid | boolean | optional | Skip invalid numbers in the output. Leave off to get a row for every input with the reason it failed. |
Each result contains
| Field | Type | Description |
|---|---|---|
input | string | Input |
isValid | boolean | Valid |
isPossible | boolean | — |
invalidReason | null | Invalid reason |
e164 | string | E.164 |
international | string | International |
national | string | National |
rfc3966 | string | — |
countryCode | string | Country |
countryName | string | Country name |
countryCallingCode | string | — |
nationalNumber | string | — |
extension | null | — |
lineType | string | Line type |
isMobile | null | Mobile |
carrier | null | Carrier |
location | string | Location |
timezones | array | Timezones |
whatsappLink | string | WhatsApp link |
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":"phone-number-validator","params":{"phoneNumbers":["+1 650-253-0000","+44 20 7946 0958","0412 345 678","+49 30 901820","555-0100"]},"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": "phone-number-validator",
"params": {"phoneNumbers":["+1 650-253-0000","+44 20 7946 0958","0412 345 678","+49 30 901820","555-0100"]},
"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…