PhoneCheck

Check and format a phone number

Paste a phone number in any common format. PhoneCheck tells you whether it is valid for its region and gives you the E.164, international, national and tel: forms, plus the line type when the numbering plan defines it.

Try:
Offline numbering-plan check. No carrier or live-line lookup. "Valid" means the number matches a range allocated in Google's libphonenumber metadata. It does not mean the line is connected, reachable, or belongs to anyone in particular. Line type shows the original allocation; a number ported to another network or service may differ.

What you get

Use it from code

curl -X POST https://phonecheck/v1/parse \
  -H "Content-Type: application/json" \
  -d '{"number": "020 7946 0018", "defaultCountry": "GB"}'

POST keeps the number out of URLs. Light use works without an API key, with a per-IP rate limit. Pro keys can normalise up to 500 numbers per request with POST /v1/bulk. See the API docs.

Privacy

Numbers are processed in memory to build the response, then discarded. They are not stored or logged; PhoneCheck keeps request counts only. This checker sends the number in the request body, never in the URL. Privacy note.

For AI agents (MCP)

PhoneCheck is also a remote Model Context Protocol (MCP) server with the tools parse_phone_number and get_example_number (same offline engine, keys and limits as the API). Most MCP clients accept this config; some use a different format (for example, VS Code uses a servers key). Clients with a settings screen just need the URL https://phonecheck.mike-tusa.workers.dev/mcp.

{ "mcpServers": { "phonecheck": { "type": "http", "url": "https://phonecheck.mike-tusa.workers.dev/mcp" } } }

Machine-readable docs: llms.txt · OpenAPI 3.1 spec