Phone Validator

Phone Validator

Data Validation Credits / request: 1

Validates a phone number for E.164 and region. Uses libphonenumber locally.

GET https://api.apikodu.com/api/v1/phonevalidator
Documentation
Overview

libphonenumber locally. No network. Invalid parse returns HTTP 200 with isValid=false.

Authentication

Every request requires the x-api-key header. Credits used and remaining quota are returned in response headers (x-api-credits-used, x-api-remaining-credits, x-rate-limit-*).

Request
GET https://api.apikodu.com/api/v1/phonevalidator?number=+905321234567&defaultRegion=TR
Query string. defaultRegion required without +.
Parameters
Name Type Required Default Options Description
number string * Required — — Phone. +E.164 or national.
defaultRegion string Optional — — ISO region TR, EE ... required without +.
Response
Name Type Description
isValid boolean true when the number is valid.
isPossible boolean true when the length is possible.
e164 string E.164 format.
national string National format.
international string International format.
region string ISO region code.
type string mobile, fixed_line, ...
countryCallingCode integer Country calling code.
Errors
HTTP code Description
400 -281 number is empty.
400 -282 number has no + and defaultRegion is missing.
401 -100 x-api-key is missing, empty, malformed, inactive, banned, expired, IP-restricted, or not allowed for this API.
429 -221 Per-minute request limit exceeded. Response headers: x-rate-limit-limit, x-rate-limit-remaining, x-rate-limit-reset.
429 — Package credit quota cannot cover this request. Body may be { error, limit, currentUsage, requestCost } (no code field).
500 -1 Unexpected server error. message is a generic error text without technical details.
Notes
  • Success body is { data: { ... } }. Error body is { code, message }. code is an ApiResponseCode enum value (negative integer).

Sample response

{
  "data": {
    "isValid": true,
    "isPossible": true,
    "e164": "+905321234567",
    "national": "0532 123 45 67",
    "international": "+90 532 123 45 67",
    "region": "TR",
    "type": "mobile",
    "countryCallingCode": 90
  }
}

Code samples

  
      const response = await fetch('https://api.apikodu.com/api/v1/phonevalidator', {
        method: 'GET',
        headers: {
          'x-api-key': 'YOUR_API_KEY'
        }
      });

      const data = await response.json();
      console.log(data);
  
  
      import requests

      headers = {
          'x-api-key': 'YOUR_API_KEY'
      }

      response = requests.get('https://api.apikodu.com/api/v1/phonevalidator', headers=headers)
      print(response.json())
  
  
      using var client = new HttpClient();
      client.DefaultRequestHeaders.Add("x-api-key", "YOUR_API_KEY");

      var response = await client.GetStringAsync("https://api.apikodu.com/api/v1/phonevalidator");
      Console.WriteLine(response);
  
  
      $response = file_get_contents('https://api.apikodu.com/api/v1/phonevalidator', false, stream_context_create([
          'http' => [
              'header' => "x-api-key: YOUR_API_KEY"
          ]
      ]));

      print_r(json_decode($response, true));
  
  
      curl -X GET 'https://api.apikodu.com/api/v1/phonevalidator' \
        -H 'x-api-key: YOUR_API_KEY'
  

Start building in minutes

Create a free account, get your API key and send your first request in minutes.

Get started free