API documentation
One base URL, four REST endpoints, and an MCP server. Authenticate with ?key= or an Authorization: Bearer header. Get a free key →
IBAN
Checksum (mod-97) + per-country length. Pure compute.
GET /api/v1/iban?iban=DE89370400440532013000&key=YOUR_KEY
{ "valid": true, "countryCode": "DE", "country": "Germany", "expectedLength": 22, "checksumValid": true }curl "https://www.checkfmt.com/api/v1/iban?iban=DE89370400440532013000" \
-H "Authorization: Bearer YOUR_KEY"BIC / SWIFT
ISO 9362 format + component breakout.
GET /api/v1/bic?bic=DEUTDEFF500&key=YOUR_KEY
{ "valid": true, "bankCode": "DEUT", "countryCode": "DE", "locationCode": "FF", "branchCode": "500" }curl "https://www.checkfmt.com/api/v1/bic?bic=DEUTDEFF500" \
-H "Authorization: Bearer YOUR_KEY"EU VAT (VIES)
Live validation via the official EU VIES service. Returns 502 if VIES is down (retry).
GET /api/v1/vat?vat=DE811569869&key=YOUR_KEY
{ "vatNumber": "DE811569869", "valid": true, "name": "…", "source": "EU VIES" }curl "https://www.checkfmt.com/api/v1/vat?vat=DE811569869" \
-H "Authorization: Bearer YOUR_KEY"VIN (NHTSA)
Decode + validate a 17-char VIN via NHTSA vPIC.
GET /api/v1/vin?vin=1HGCM82633A004352&key=YOUR_KEY
{ "vin": "1HGCM82633A004352", "valid": true, "make": "HONDA", "model": "Accord", "modelYear": "2003" }curl "https://www.checkfmt.com/api/v1/vin?vin=1HGCM82633A004352" \
-H "Authorization: Bearer YOUR_KEY"Connect your AI agent (MCP)
Checkfmt ships a streamable-HTTP MCP server exposing validate_iban, validate_bic, validate_vat, and decode_vin. Drop this into your client config (Claude Desktop, Cursor, Windsurf, or any MCP-capable agent) and swap in your key:
{
"mcpServers": {
"checkfmt": {
"url": "https://www.checkfmt.com/mcp?key=YOUR_KEY"
}
}
}The endpoint is https://www.checkfmt.com/mcp (POST, JSON-RPC 2.0). Pass your key via the URL as above, an Authorization: Bearer header, or an apiKey tool argument. The server is also published for discovery on Glama and Smithery.
Errors
401 invalid/missing key · 429 monthly limit reached · 400 missing parameter · 422 malformed input · 502 upstream relay (VIES/NHTSA) unavailable.