🌍

Batch Phone Validation

Validate up to 50 phone numbers in a single request

POST 1 credit /v1/geo/phone-validate-batch
curl -X POST "https://geo.toolkitapi.io/v1/geo/phone-validate-batch" \
  -H "Content-Type: application/json" \
  -d '{
    "numbers": ["+14155552671", "+442071234567", "invalid-number"],
    "default_country": "US"
  }'
import httpx

resp = httpx.post(
    "https://geo.toolkitapi.io/v1/geo/phone-validate-batch",
    json={
    "numbers": ["+14155552671", "+442071234567", "invalid-number"],
    "default_country": "US"
  },
)
print(resp.json())
const resp = await fetch("https://geo.toolkitapi.io/v1/geo/phone-validate-batch", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "numbers": ["+14155552671", "+442071234567", "invalid-number"],
    "default_country": "US"
  }),
});
const data = await resp.json();
console.log(data);
# See curl example
Response 200 OK
{
  "total": 3,
  "results": [
    {
      "input": "+14155552671",
      "valid": true,
      "e164": "+14155552671",
      "national": "(415) 555-2671",
      "international": "+1 415-555-2671",
      "country_code": 1,
      "country": "US",
      "region": "California",
      "carrier": "T-Mobile USA",
      "line_type": "mobile"
    },
    {
      "input": "+442071234567",
      "valid": true,
      "e164": "+442071234567",
      "national": "020 7123 4567",
      "international": "+44 20 7123 4567",
      "country_code": 44,
      "country": "GB",
      "region": "London",
      "carrier": null,
      "line_type": "fixed_line"
    },
    {
      "input": "invalid-number",
      "valid": false,
      "e164": null,
      "national": null,
      "international": null,
      "country_code": null,
      "country": null,
      "region": null,
      "carrier": null,
      "line_type": null
    }
  ],
  "summary": {
    "valid": 2,
    "invalid": 1,
    "line_types": {"mobile": 1, "fixed_line": 1}
  }
}

Try It Live

Live Demo

Description

Validate up to 50 phone numbers in a single request

How to Use

1

1. Provide an array of phone numbers in the `numbers` field (max 50).

2

2. Optionally set `default_country` (ISO alpha-2) as a fallback for numbers without a country prefix.

3

3. Send a POST request and use the `summary` to quickly assess data quality.

4

4. Iterate over `results` for per-number details.

About This Tool

Use Batch Phone Validation to validate up to 50 phone numbers in a single request. Each number is parsed, validated, and enriched with carrier and line type information, just like the single phone-validate endpoint but in bulk.

The response includes per-number results plus a summary with aggregate counts of valid/invalid numbers and a breakdown by line type.

Why Use This Tool

Frequently Asked Questions

What is the maximum batch size?
You can validate up to 50 phone numbers per request. For larger datasets, split them into multiple requests.
Are invalid numbers included in the results?
Yes. Invalid numbers appear in the results array with `valid: false` and null values for formatted fields. The summary counts them separately.
Does the default_country apply to all numbers?
It only applies as a fallback for numbers that don't include a country prefix (e.g. `4155552671`). Numbers with explicit country codes (e.g. `+44...`) use their own country.

Start using Batch Phone Validation now

Get your free API key and make your first request in under a minute.