Bulk phone validation
Bulk phone number validation: upload a CSV, download the results
CheckThatPhone validates a whole list of US and Canadian phone numbers from a CSV upload in your dashboard, with no code: up to 1,000,000 rows or 50 MB per file. We deduplicate the list, look up each unique number once, and hand back a results CSV with the same fields as the API.
Pricing matches the API: one credit per unique number, plus any add-ons you switch on. The uploader lives in the dashboard, so the first step is a free account.
How it works
- Sign up and choose a plan. The Free plan works for small lists once a card is on file; we verify it without charging it.
- Open Bulk CSV in the dashboard and choose a
.csvfile. - Check the preview. We detect the header row and the phone column. You confirm them, optionally pick an IP column, and choose whether to keep your original columns in the results.
- Pick add-ons: the TCPA litigator scrub, the landline SMS lookup, and the free state DNC and complainer checks.
- Start the job. We email you when the results file is ready, and you download it from the dashboard.
File requirements
| What | Requirement |
|---|---|
| Format | .csv only. Export Excel files (.xlsx, .xls) to CSV first. |
| Size | Up to 1,000,000 rows or 50 MB per file. |
| Delimiter | Comma, semicolon or tab, detected automatically. |
| Phone numbers | Any common format. Spaces, dashes, parentheses and + are stripped; each number has to come out as 10 digits, or 11 starting with 1. Rows without a valid US or Canadian number aren't looked up or billed. |
| Header row | Optional. Detected automatically; you can change it in the preview. |
| IP column | Optional. Map one to add IP-based location and ipResult per row. |
Deduplication
Every row with a valid number gets a row in the results file, duplicates included, so the output lines up with your input. Behind the scenes each unique number is looked up and billed once. If you map an IP column, the same number with a different IP counts as a separate lookup, because each pair is its own location check.
What's in the results file
The results CSV uses the same field names as the API response, one column
per field, plus credits_used. Add-on columns only appear when you switch the
add-on on. If you keep your original columns, they come first.
| Columns | Included |
|---|---|
Validation and deliverability: subscriber, optDate, action, deliverable, error, reason, deactivationDate, blackList, smsEligible, doNotSms | Always |
Line type and carrier: nanpType, nanpCarrier, dip, dipLrn, dipPorted, dipOcn, dipCarrier, dipCarrierType, dipCarrierSubType | Always |
Location: ipResult, geoCountry, geoState, geoCity, geoMetro, geoSource, timezone, tzOffset | Always (ipResult is filled when you map an IP column) |
Litigator: litigator, litigator_type, litigator_name | With the TCPA litigator scrub |
Landline SMS: the five dipMessaging* fields | With the landline SMS lookup |
State DNC and complainers: dncStateChecked, dncStateResult, dncComplainerChecked, dncComplainerResult (plus the legacy dncOtherChecked and dncStateCovered) | With the state DNC and complainer checks |
Example: what goes in and what comes out
An input file with a duplicate number (fictional 555 numbers):
name,phone Jane Example,(212) 555-0147 Sam Sample,312-555-0142 Jane Example,(212) 555-0147
The results with "keep my original columns" on. Selected columns shown; the real file has every column listed above:
name,phone,subscriber,action,deliverable,nanpType,dipPorted,dipCarrier,dipCarrierType,timezone Jane Example,(212) 555-0147,2125550147,send,true,mobile,false,AT&T,mobile,America/New_York Jane Example,(212) 555-0147,2125550147,send,true,mobile,false,AT&T,mobile,America/New_York Sam Sample,312-555-0142,3125550142,send,true,mobile,true,AT&T,mobile,America/Chicago
Three rows come back and two lookups are billed. Duplicate rows sit together, in the order each number first appears in your file.
Pricing
- Base lookup: 1 credit per unique number.
- TCPA litigator scrub: +1 credit per unique number.
- Landline SMS lookup: +1 credit, only when the number is a landline.
- State DNC and complainer checks: free.
Credits come from your plan, the same as API calls. For example, a 20,000-row file with 16,000 unique numbers uses 16,000 credits, or 32,000 with the litigator scrub on. The Free plan includes 500 credits a month; paid plans start at $5 a month, with overage down to $0.0009 per lookup. See pricing.
Data retention
We don't keep your list. The uploaded file is deleted once we've read it. The results file is deleted 1 hour after you download it, or 24 hours after the job finishes if you never do. See also our privacy policy.
CSV upload or the live API?
Use the CSV upload for lists you already have: a CRM export, a lead file, a list to scrub
before a campaign. Use the live API (POST /v1/lookup) when
the answer has to come back while a user is on your form or a lead is arriving. Both return the
same fields at the same price.
Bulk validation: common questions
How many phone numbers can I validate at once?
Up to 1,000,000 rows or 50 MB per CSV file. For more, split the list into several files.
Are duplicate numbers billed twice?
No. Each unique number is looked up and billed once, and every duplicate still gets its own row in the results file. If you map an IP column, each number and IP pair counts once.
Can I upload an Excel file?
Not directly. Export it as CSV from Excel, Numbers or Google Sheets first. Comma, semicolon and tab delimiters are all detected.
Do you keep my list?
No. The uploaded file is deleted once we have read it. The results file is deleted 1 hour after you download it, or 24 hours after the job finishes if you never do.
Can I run a bulk job on the Free plan?
Yes, once a card is on file (we verify it with your bank without charging it). The job has to fit in the free credits you have left that month, so larger files need a paid plan.
What if part of a job fails?
If a batch of numbers cannot be processed, its rows still appear in the results file with error set to "true" and the reason "batch failed", and they are not billed.
Related
- List cleaning: Contact list hygiene for CRM and B2B sales
- Campaign scrubs: TCPA litigator scrub and state DNC scrub
- What each column means: carrier lookup, line type lookup
- Background: How phone validation improves CRM data quality
- Background: TCPA litigator scrub: filtering out professional plaintiffs