POST /api/v1/bulk-taskscurl -X POST "https://api.carrierlookup.online/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=number_validation_batch \
-F country=US \
-F [email protected]Get a validity or activation signal for each number through an asynchronous file task. True/false results support imported-list review, list cleaning and CRM maintenance.
This product runs only as an asynchronous file task. Realtime carrier lookup does not return validity or activity signals.
Submitting returns a task id right away; check the task by that id and, once it succeeds, the response carries the result file download link. Each request is shown with its own response.
The task id comes back straight away with preparing set to true while the file is prepared in the background: invalid lines, duplicates and — for number tasks — numbers without a country code or from another country are removed and not charged. Balance is reserved for the submitted lines and settled on completion; the difference is refunded.
POST /api/v1/bulk-taskscurl -X POST "https://api.carrierlookup.online/api/v1/bulk-tasks" \
-H "X-API-Key: sk_your_api_key" \
-F service_type=number_validation_batch \
-F country=US \
-F [email protected]200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "number_validation_batch",
"status": "processing",
"country": "US",
"submitted_lines": 509,
"total": 509,
"invalid_cnt": 0,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 0,
"preparing": true,
"created_at": "2026-09-08T09:30:00Z"
}
}Poll by task id. Once preparation finishes, submitted_lines = total + invalid_cnt + no_code_cnt + other_country_cnt + duplicate_cnt, where total is what is checked and charged. A successful response carries the success and failure counts and the result file download link; a task refused during preparation is failed with reason_detail and refunded in full.
GET /api/v1/bulk-tasks/{id}curl "https://api.carrierlookup.online/api/v1/bulk-tasks/3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13" \
-H "X-API-Key: sk_your_api_key"200 OK{
"code": 0,
"msg": "ok",
"data": {
"id": "3f9c2a7d8e4b4c1a9f0e6b2d5c8a7e13",
"product": "number_validation_batch",
"status": "success",
"country": "US",
"submitted_lines": 509,
"total": 500,
"invalid_cnt": 3,
"no_code_cnt": 0,
"other_country_cnt": 0,
"duplicate_cnt": 6,
"preparing": false,
"success_cnt": 495,
"failure_cnt": 5,
"result_url": "https://…/result.csv",
"created_at": "2026-09-08T09:30:00Z"
}
}Bulk is not realtime made bigger — it is submit once, run in the background, collect later. You do not need to keep the page open; task state and results stay in your dashboard.
A .txt or .csv with one number per line. It is streamed straight through; nothing is written to disk.
Obvious problems (an empty file, the wrong format, too few lines) are rejected on upload. Balance is then reserved and the file is prepared in the background: duplicate and invalid lines are removed and the country rule is checked. A file that fails there ends as a failed task, refunded in full; otherwise only the remaining lines are checked, and the task is settled on completion.
The task runs on its own — close the page if you like. A failure is reported straight away and fully refunded.
Collect the file from the bulk check page. You pay only for numbers that actually returned a result; the difference is refunded.
The download is a single CSV file with the full result table.
identifier · 12345678900 — The submitted number as plain digits with the country code, no plus sign or spaces (e.g. 12345678900) and the stable key for matching results to a customer, lead or CRM record. Keep it to trace the source list and write results back in bulk; the field alone does not establish that a number can be contacted.activated · true — Validity/activation decision: true means this check matched; false is an explicit negative. Do not replace missing or failed results with false. This field does not prove identity, permission to contact, or call reachability.After importing registration or lead lists, review results alongside form data, fraud rules and consent. This asynchronous list check does not replace real-time sign-up code verification.
Join the downloaded identifier to the original record and retain its source for manual review.
Join key: identifier
After export, mark records by activation signal while retaining the original number and source fields; route missing or unusual signals to review instead of deleting business data outright.
Keep explicit true, false and missing results separate; leave missing items in a review queue.
Grouping field: activated
Write the check date, product and result into dedicated CRM fields so marketing, service and data teams can work from the same list status in later workflows.
Save the result with a task date recorded by your team. Submit a new task when an updated check is needed.
Write-back fields: identifier · activated
Check E.164 numbers in bulk before outreach and return number and activation signals. Use the result to flag records for review, clean lists and maintain CRM data quality; a returned signal does not guarantee a call or message will connect.
True is a match for this check and false is an explicit negative. Both are returned decisions; false does not mean execution failed or that the row is free. Treat missing, undetermined and failed results separately using task statistics and final settlement; never fill them with false.
No. Results include no observation window, last-active date, frequency or interaction history, and do not guarantee call or message delivery. Use the signal with your own business records and permission to contact.
This product runs only as an asynchronous file task. Realtime carrier lookup does not return validity or activity signals.
The precheck drops malformed lines, so they never enter the billable count. Of the numbers that remain, any the upstream cannot resolve are not charged either. You pay only for numbers that actually return a result.
It depends on the number count and the product. You can close the page after submitting; the task runs in the background and the result waits for you on the bulk check page.
Yes. A failed task is refunded in full. If the task succeeds but some numbers return nothing, that portion is refunded automatically. The difference between the reserved amount and what was actually charged always comes back.
Bulk and realtime checks draw on the same balance — nothing extra to enable. Sign up and upload your first file on the bulk check page.