Loading
Our Bulk Phone Number Validation API offers a reliable solution for validating and verifying multiple phone numbers in a single request. Designed to handle large-scale queries, the API validates each number against international numbering plans and returns detailed metadata including carrier name, line type, geographic location, time zones, and standardized formats such as E.164 and RFC3966. Individual error handling ensures that invalid or malformed numbers are reported with specific error details without affecting the results of the remaining numbers in the batch.
Ideal for enterprises and developers managing large contact databases or conducting bulk data verification, our Bulk Phone Validation API simplifies the process of cleaning contact lists, validating CSV imports, and screening signups for VoIP and disposable numbers. The API accepts numbers in international format, local format with a country code, or IDD exit code format with a dialer region, delivering the same comprehensive validation data as a Single Lookup for every number in the request. Whether you are preparing contact lists before SMS campaigns, standardizing phone data across your systems, or integrating your onboarding and fraud prevention workflows, our API provides the accuracy and efficiency you need at scale.
Perform a phone number carrier lookup across multiple numbers at once. Screen entire contact lists for carrier information to optimize SMS routing, flag disposable number providers, or segment users by carrier before launching messaging campaigns.
Detect mobile, VoIP, landline, toll-free, and premium rate numbers across an entire list in a single call. Filter out non-mobile numbers before SMS campaigns to reduce failed deliveries and wasted cost.
Each number in the batch is processed independently. Invalid or malformed numbers return their own error details while the remaining numbers succeed normally. No single bad input breaks the request.
Validate phone numbers from CSV files, CRM exports, or database dumps in batches. Identify invalid numbers, standardize formatting via E.164 output, and remove dead entries before they enter your system or trigger a campaign.
Retrieve E.164, International, National, and RFC3966 formats for every valid number in the batch. Normalize inconsistent phone data across your entire database regardless of how numbers were originally entered.
Bulk mode returns the same complete dataset as single validation. Every number includes carrier, line type, geolocation, time zones, and all four format standards. No data is reduced or stripped in batch processing.
$ pip install requests
A maximum of 100 phone numbers can be included in the request body per request.
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| numbers | Yes | Array | - | Array of phone number objects. Maximum 100 per request. |
Each item in the numbers array should be an object with the following fields:
| Parameter | Required | Type | Default | Description |
|---|---|---|---|---|
| number | Yes | String | - | Phone number to validate. Accepts international format (+14155552671), local format (4155552671) with region, or IDD format (0014155552671) with dialer_region. |
| region | No | String | - | Two-letter ISO country code indicating the country the number belongs to (e.g., US, GB). Required when number is in local format. Cannot be used together with dialer_region. |
| dialer_region | No | String | - | Two-letter ISO country code indicating the country the number is being dialed from (e.g., AU, US). Required when number uses an IDD exit code. Cannot be used together with region. |
Example Request Body:
{ "numbers": [ { "number": "+14155552671" }, { "number": "+447911123456", "region": "GB" }, { "number": "001114155552671", "dialer_region": "AU" } ] }
Explore detailed response fields including field names, data types, requirements, and descriptions in the interactive Response Table. For complete response documentation click here.
These apply to the entire request:
| HTTP Status | Reasons |
|---|---|
| 400 | Bulk Limit Exceeded - Maximum allowed limit is 100. The total phone numbers in the request exceeds the limit. |
| 400 | Invalid Parameters Provided - Please provide valid parameters. |
| 500 | Internal Server Error - Internal Server Error Occurred. |
These show up inside individual number objects when that specific number fails:
| HTTP Status | Reasons |
|---|---|
| 400 | Missing Number - The 'number' is required in Post Body and cannot be empty. |
| 400 | Missing Region Information - Provide the region explicitly (e.g. 'US') or include a '+' with the country code. |
| 400 | Invalid Number Format - The input does not match the expected structure of a phone number. |
| 400 | Number Too Short - The number is too short after removing the international dialing prefix. |
| 400 | Too Short National Number - The national number part is shorter than allowed for valid phone numbers. |
| 400 | Number Too Long - The phone number has more digits than any valid phone number can have. |
| 400 | Invalid Region Code - Region code must be a 2-letter ISO country code (e.g., 'US', 'GB'). |
| 400 | Multiple Region Codes Provided - Only one of 'region' or 'dialer_region' can be provided. Do not use both in the same request. |
Send a POST request with a numbers array in the request body. Each object in the array should contain at minimum a number field. Add region for local format numbers or dialer_region for IDD format numbers.
curl -X POST "https://api.apifreaks.com/v1.0/phone/validation/bulk" \ -H "X-apikey: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "numbers": [ { "number": "+14155552671" }, { "number": "+447911123456", "region": "GB" }, { "number": "001114155552671", "dialer_region": "AU" } ] }'
To use the Bulk Phone Number Validation API, API credits are required. Charges apply only for successful queries, defined by a 2xx status code. If a request results in a 4xx or 5xx status code, no credits will be deducted, and any credits already charged will be refunded.
For each successful request, 1 credit will be charged per phone number validated.
Utilize the Credits Usage API to efficiently monitor your recent consumption of both one-off and subscription credits. This API provides a streamlined way to track and manage your credit usage, ensuring you stay informed about your remaining balance and can optimize your resource allocation effectively.