Server-side validation without the overhead
Validate and normalize emails, phone numbers, URLs, credit card numbers, and IBANs at the edge. No database calls, no vendor lock-in.
Coming soon on RapidAPIRFC 5322 syntax check + optional disposable domain detection via KV blocklist.
POST /v1/validate/email E.164 normalization, country detection, and line type classification (mobile/landline/VoIP).
POST /v1/validate/phone Structural URL validation, scheme extraction, host parsing, and normalization.
POST /v1/validate/url Luhn checksum validation + brand detection (Visa, MC, Amex, Discover).
POST /v1/validate/card ISO 13616 mod-97 checksum, country extraction, and normalized output.
POST /v1/validate/iban /v1/validate/email Validate email format and optionally detect disposable domains
{
"email": "user@example.com",
"check_disposable": false
} {
"valid": true,
"format_valid": true,
"disposable": null,
"normalized": "user@example.com"
} curl -X POST https://data-validation-api.p.rapidapi.com/v1/validate/email \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_API_KEY" \
-H "X-RapidAPI-Host: data-validation-api.p.rapidapi.com" \
-d '{"email":"user@example.com","check_disposable":true}' /v1/validate/phone Validate and normalize phone numbers to E.164 format
{
"phone": "+1 (555) 123-4567",
"country": "US"
} {
"valid": true,
"normalized": "+15551234567",
"country": "US",
"line_type": "mobile"
} curl -X POST https://data-validation-api.p.rapidapi.com/v1/validate/phone \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_API_KEY" \
-H "X-RapidAPI-Host: data-validation-api.p.rapidapi.com" \
-d '{"phone":"+1 (555) 123-4567","country":"US"}' /v1/validate/url Validate URL structure and extract components
{
"url": "https://example.com/path?q=1"
} {
"valid": true,
"scheme": "https",
"host": "example.com",
"normalized": "https://example.com/path?q=1"
} curl -X POST https://data-validation-api.p.rapidapi.com/v1/validate/url \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_API_KEY" \
-H "X-RapidAPI-Host: data-validation-api.p.rapidapi.com" \
-d '{"url":"https://example.com/path?q=1"}' /v1/validate/card Validate credit card number via Luhn checksum and detect card brand
{
"number": "4532015112830366"
} {
"valid": true,
"brand": "visa",
"last_four": "0366"
} curl -X POST https://data-validation-api.p.rapidapi.com/v1/validate/card \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_API_KEY" \
-H "X-RapidAPI-Host: data-validation-api.p.rapidapi.com" \
-d '{"number":"4532015112830366"}' /v1/validate/iban Validate IBAN via ISO 13616 mod-97 checksum and extract country
{
"iban": "GB82WEST12345698765432"
} {
"valid": true,
"country": "GB",
"normalized": "GB82WEST12345698765432"
} curl -X POST https://data-validation-api.p.rapidapi.com/v1/validate/iban \
-H "Content-Type: application/json" \
-H "X-RapidAPI-Key: YOUR_API_KEY" \
-H "X-RapidAPI-Host: data-validation-api.p.rapidapi.com" \
-d '{"iban":"GB82WEST12345698765432"}' /v1/health No auth required Health check — no authentication required
{
"status": "ok"
} curl https://data-validation-api.p.rapidapi.com/v1/health Set check_disposable: true to query our blocklist of known disposable email providers.
When check_disposable is false or omitted, the disposable field
is null and does not affect the valid flag.
Provide numbers in any common format. The API normalizes to E.164 (+15551234567).
Pass an optional country (ISO 3166-1 alpha-2) to disambiguate ambiguous numbers
without a country prefix.
Only the last four digits are returned. The full card number is never logged or stored — validation is pure computation (Luhn algorithm) performed in-memory within the Cloudflare Worker.
Validates structural correctness via ISO 13616 mod-97 checksum. Does not verify account existence or bank reachability — that requires a banking API.
All errors use the flat shape: { "error": "...", "code": <int> }
| Status | Condition |
|---|---|
| 401 | Missing or invalid X-RapidAPI-Proxy-Secret header |
| 422 | Malformed JSON request body |
| 404 | Unknown route |
| 500 | Internal server error |
Subscribe on RapidAPI to get your API key and validate your first record in under a minute.