Bulk CSV cleaning
Know your contacts.
Before you reach out.
Upload a spreadsheet of leads. Names, emails, phones, addresses, websites, IPs, and signup dates come back beside your columns.
Upload your list
Drop a CSV, Excel, or Numbers file
or choose a file
Clean 10,000 contacts for $100. Pay per file.
See the results.
Your contact list, with the results alongside.
| NameAbout Name | parse_name_firstAbout parse_name_first | parse_name_lastAbout parse_name_last | parse_name_genderAbout parse_name_gender | parse_name_validAbout parse_name_valid | parse_name_duplicateAbout parse_name_duplicate | parse_nameAbout parse_name | EmailAbout Email | parse_email_deliverableAbout parse_email_deliverable | parse_email_disposableAbout parse_email_disposable | parse_email_roleAbout parse_email_role | parse_email_freeAbout parse_email_free | parse_email_validAbout parse_email_valid | parse_email_duplicateAbout parse_email_duplicate | parse_email_didyoumeanAbout parse_email_didyoumean | parse_email_domain_typeAbout parse_email_domain_type | PhoneAbout Phone | parse_phone_validAbout parse_phone_valid | parse_phone_internationalAbout parse_phone_international | parse_phone_duplicateAbout parse_phone_duplicate | parse_carrierAbout parse_carrier | parse_carrier_typeAbout parse_carrier_type | AddressAbout Address | parse_address_validAbout parse_address_valid | parse_address_registeredAbout parse_address_registered | parse_addressAbout parse_address | parse_address_cityAbout parse_address_city | parse_address_stateAbout parse_address_state | parse_address_postalAbout parse_address_postal | WebsiteAbout Website | parse_domain_availableAbout parse_domain_available | parse_domain_registrarAbout parse_domain_registrar | IPAbout IP | parse_ip_countryAbout parse_ip_country | parse_ip_cityAbout parse_ip_city | parse_ip_networkAbout parse_ip_network | parse_ip_vpnAbout parse_ip_vpn | parse_ip_datacenterAbout parse_ip_datacenter | SignupAbout Signup | parse_signupAbout parse_signup | parse_date_duplicateAbout parse_date_duplicate |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ALEX MORGAN | Alex | Morgan | true | false | Alex Morgan | alex@example.com | true | false | false | false | true | false | (303) 555-0123 | true | +1 303 555 0123 | false | Example Mobile | mobile | 152 200th Avenue, Ellsworth MN | true | 152 200th Avenue, Ellsworth, MN | Ellsworth | MN | example.com | false | 8.8.8.8 | US | Google LLC | 9/20/2026 | 2026-09-20 | false | |||||||||
| PRIYA SHAH | Priya | Shah | female | true | false | Priya Shah | priya@mit.edu | true | false | false | false | true | false | academic | 8/21/2026 | 2026-08-21 | false | |||||||||||||||||||||||
| Maya Chen | Maya | Chen | true | false | Maya Chen | maya@example.net | false | false | false | true | false | |||||||||||||||||||||||||||||
| Sam Rivera | Sam | Rivera | true | false | Sam Rivera | trial@example.org | false | true | false | false | true | false | (212) 555-0148 | true | +1 212 555 0148 | false | Example Voice | voip | not an address | false | mailinator.com | false | 2026-08-25 | 2026-08-25 | false | |||||||||||||||
| support@team.example.com | false | true | false | true | false | (800) 555-0116 | true | +1 800 555 0116 | false | toll_free | ||||||||||||||||||||||||||||||
| Taylor | Taylor | true | false | Taylor | taylor@gmial.com | false | false | false | false | true | false | taylor@gmail.com | 555 | false | false | gmial.com | TBD | false | ||||||||||||||||||||||
| ALEX MORGAN | Alex | Morgan | true | true | Alex Morgan | alex@example.com | true | false | false | false | true | true | (303) 555-0123 | true | +1 303 555 0123 | true | Example Mobile | mobile | 9/20/2026 | 2026-09-20 | true |
WHAT COMES BACK
leads.csv
ALEX MORGANReady
A complete contact. The name splits, the mailbox check is positive, the number is mobile, the address separates, and the signup date becomes 2026-09-20.
PRIYA SHAHAcademic
A recognized academic domain. The salutation in this row is an example. Blank phone, address, website, and IP cells stay blank.
maya@example.netUnknown
The mailbox check did not return an answer. Empty means unknown, which is different from a negative result.
trial@example.orgDisposable
A disposable email address. The phone example is an internet line, and this address does not parse.
support@team.example.comShared inbox
A shared inbox such as support@. The number example is toll-free, with no carrier name.
taylor@gmial.comTypo
The domain looks misspelled, so the file suggests taylor@gmail.com. 555 is not a valid phone number, and TBD is not a date.
ALEX MORGANDuplicate
This email and phone already appeared. The row stays, and the repeat is not billed again.
One price for your file.
Choose the checks for a contact list. Files start at $5.
Unique values in each selected column. Repeated values cost once.
Estimated file price
Estimate for one unique value per selected column. Blanks and repeats stay out of the bill. Your quote uses the columns in your file.
Upload your listRepeated values cost once.
Completed files retain their order minimum. Automatic partial refunds from $1 apply above it.
More than a
CSV cleanup.
Check a contact list in one upload. Names, emails, phones, addresses, websites, IPs, and signup dates.
Names
First and last names, plus a salutation when the name is recognized.
Emails
Mailbox checks, disposable and shared inboxes, and typo suggestions.
Phones
Valid numbers, line type, and carrier. Caller ID and live status are optional.
Addresses
Street, city, state, and postal code, plus an official-record match where covered.
Websites
Whether the domain is registered, and the registrar when we have it.
IPs and signup dates
Country and network for an IP, plus signup dates as YYYY-MM-DD.
- disposable email domains
- 75k+
- Spot throwaway addresses before you reach out.
- countries and regions
- 246
- Phone validation from the numbering plan.
- US address points
- 90M+
- Street addresses checked against official records where covered.
Inside your download.
The columns in the contact example, explained below.
true means yes. false means no. Empty means no answer or not applicable.
Names
- Original name
Name - The name exactly as uploaded.
ALEX MORGAN- Cleaned name
parse_name - The full name after cleanup.
Alex Morgan- First name
parse_name_first - The given name after cleanup. An all-caps name is recased.
Alex- Last name
parse_name_last - The surname after cleanup. Empty when the value is a single name.
Morgan- Gender
parse_name_gender - female or male when the name is recognized. Empty when it is ambiguous or unknown. This is not verified identity.
female- Valid name
parse_name_valid - The value looks like a person. This does not confirm a real identity.
true- Duplicate name
parse_name_duplicate - This name appeared earlier in the column. The row is kept.
truefalse
Emails
- Original email
Email - The email address exactly as uploaded.
taylor@gmial.com- Deliverable
parse_email_deliverable - true means likely to accept mail. false means delivery was not confirmed. Empty means the mailbox check did not answer.
truefalse- Disposable
parse_email_disposable - Uses a temporary email provider.
truefalse- Shared inbox
parse_email_role - A role address such as info@, sales@, or support@.
truefalse- Consumer mailbox
parse_email_free - Uses a consumer provider such as Gmail. A company address hosted by Google is not a consumer mailbox.
truefalse- Valid email
parse_email_valid - The address has valid email syntax. This does not confirm that the mailbox exists.
true- Duplicate email
parse_email_duplicate - This address appeared earlier in the column. The row is kept and the result is reused.
truefalse- Typo suggestion
parse_email_didyoumean - A suggested address when the domain looks misspelled. The original is kept.
taylor@gmail.com- Domain type
parse_email_domain_type - academic, government, or military when the domain namespace is recognized. Empty otherwise.
academic
Phones
- Original phone
Phone - The phone number exactly as uploaded.
(303) 555-0123- Valid number
parse_phone_valid - The number is valid for its country. This does not confirm that the line is active.
truefalse- International format
parse_phone_international - The number in international display format.
+1 303 555 0123- Duplicate phone
parse_phone_duplicate - This number appeared earlier in the column. The row is kept and the result is reused.
truefalse- Carrier
parse_carrier - The carrier name. Empty when no carrier was returned, including toll-free examples in this file.
Example Mobile- Line type
parse_carrier_type - mobile, landline, voip, or toll_free. Empty when the carrier check did not answer.
mobilevoiptoll_free
Addresses
- Original address
Address - The street address exactly as uploaded.
152 200th Avenue, Ellsworth MN- Standard address
parse_address - The address after parsing. Empty when it does not parse.
152 200th Avenue, Ellsworth, MN- Valid address
parse_address_valid - The value parses as a street address. This does not confirm that mail can be delivered there.
truefalse- Official record
parse_address_registered - The address matches an official record where coverage exists. Empty when that was not checked. This is not postal deliverability.
true- City
parse_address_city - The city parsed from the address.
Ellsworth- State
parse_address_state - The state or region parsed from the address.
MN- Postal code
parse_address_postal - The postal code parsed from the address. Empty when the input did not include one.
- Empty
Websites
- Original website
Website - The website or domain exactly as uploaded.
example.com- Unregistered
parse_domain_available - true means the domain is not registered. false means it is registered. Empty means registration was not answered.
false- Registrar
parse_domain_registrar - The registrar, when one was returned. Empty when unknown.
- Empty
IP addresses
- Original IP
IP - The IP address exactly as uploaded.
8.8.8.8- IP country
parse_ip_country - The country for the IP address.
US- IP city
parse_ip_city - The city for the IP address. Empty when the address does not resolve to one city.
- Empty
- Network
parse_ip_network - The network operator.
Google LLC- VPN
parse_ip_vpn - true means a known VPN egress. false means it is not on that list. Empty when the flag was not included.
truefalse- Datacenter
parse_ip_datacenter - true means a known datacenter address. false means it is not on that list. Empty when the flag was not included.
truefalse
Signup dates
- Original date
Signup - The signup date exactly as uploaded.
9/20/2026- Signup date
parse_signup - The date as YYYY-MM-DD. Empty when the value is not a date.
2026-09-20- Duplicate date
parse_date_duplicate - This date appeared earlier in the column. The row is kept.
truefalse
Your original columns stay in the file. A contact list adds a prefix such as parse_email_deliverable so each result is clear. The quote can add more checks, including every email and phone column.
Questions and answers.
What kind of file is this for?
A contact list or a list of leads. Typical columns are name, email, phone, street address, website, IP address, and signup date. A CSV, Excel, or Numbers file is enough.
Can I upload a file with only some of those columns?
Yes. Bring the columns you have. Recognized columns are detected automatically, and you review the checks before paying. Blank cells stay blank.
What is included in the example?
The example shows the contact checks: name cleanup, email verification, phone validation, carrier and line type, address parsing, domain registration, IP country and network, and a standardized signup date. Caller ID, live status, and the rest of the email and phone columns are optional on the quote. See email verification and phone validation for those full files.
What is free, and when do I pay?
Preview results for up to 10 rows for free, without an account or card. Review the exact total before confirming the full run. You can pay once for the file. No subscription is required.
Will my original data or duplicate rows be removed?
The full results preserve your original columns and row order, with check results added in new columns. Duplicate values are flagged and their rows are kept.
Do I pay for every row?
You pay for unique values in each selected check. Blanks, values we cannot recognize, and later copies of the same value stay out of the bill. A number that fails validation does not pay for the carrier check.
Do I pay for checks that cannot finish?
Completed one-time files retain the order minimum shown before payment. Unanswered checks can only refund the amount paid above it. Eligible partial refunds are issued automatically when the file's total refund is at least $1. Smaller partial refunds are not issued automatically. Failed jobs receive a full refund. An unanswered check leaves its result cells blank. See the billing terms.
What if my file has other columns?
The quote can also check postal codes, countries, user agents, and other recognized columns. You choose them before you pay, and the total updates before the run.
How do I use the results?
Download the CSV and import it into your CRM or email platform. Map the original columns and any result columns you want to keep.
How is my file handled?
Files are stored privately, but anyone with your job link can access them, so keep the link private. Downloads are available for 30 days from upload. See our storage and deletion details, or contact us to request deletion. We do not sell or rent your personal information.