Sales engagement
Validate a list exported from Linked Helper
A guide to checking the phone numbers in a lead list you exported from Linked Helper's Data Export feature as a CSV file, so your calling and texting lists start with numbers that are well formed.
Why the data matters in Linked Helper
Phone numbers in an exported prospect list arrive in every shape: with and without a country code, with brackets, dots or extension text pasted in. Calling or texting from that file means wrong dials and a lot of manual cleanup in the dialer. Normalizing the numbers in the file you already own, before it is imported into a calling tool, saves the cleanup later.
What LookValid checks
| Product | What it does here | Credits |
|---|---|---|
| Phone Numbering-Plan Validation | Checks each number against its country numbering plan and returns one international format, so duplicates across rows can be matched. Returns the number type from the plan (mobile, fixed line, VoIP, toll free and others), so you can split a texting list from a calling list. It cannot tell whether a line is active. | 1 credit per valid number |
| Country Calling Codes | Explains calling codes for the countries in your list, with national number lengths, for rows where the country is unclear. | 1 credit per lookup (an unknown code, country or name is free) |
| Phone Spam Check | Returns public consumer complaint counts for a number, to help you spot rows that look like they belong to a reported number. | 1 credit per number with complaints on record |
Connect it in four steps
- Create a LookValid account, issue a key under API keys in the dashboard, and use Linked Helper's Data Export to save your leads as a CSV file on your own computer, choosing the columns to include (keep the phone column).
- Run the script in a terminal where LOOKVALID_API_KEY is set for that session only, so the key is not stored in the export or the code.
- For each row, send the number to the phone endpoint; on found:false keep the row in a separate file for manual review, and stop the run on an error answer with its code.
- Add phone_e164, phone_kind and phone_ok as columns in the copy, then dial or text from phone_e164 and filter on phone_kind.
A Python script on your own computer that reads the exported file row by row and writes a cleaned copy. The call is POST https://YOUR_API_HOST/v1/phone and costs 1 credit per valid number.
import json
import os
import urllib.error
import urllib.request
API_URL = "https://YOUR_API_HOST/v1/phone"
def clean_linkedhelper_phone(value):
request = urllib.request.Request(
API_URL,
data=json.dumps({
"phone": value,
}).encode(),
headers={
"Authorization": "Bearer " + os.environ["LOOKVALID_API_KEY"],
"Content-Type": "application/json",
},
method="POST",
)
try:
with urllib.request.urlopen(request, timeout=30) as response:
result = json.load(response)
except urllib.error.HTTPError as error:
failure = json.load(error)["error"]
raise RuntimeError(failure["code"] + ": " + failure["fix"])
if not result["found"]:
return None
return {
"phone_e164": result.get("data", {}).get("e164"),
"phone_kind": result.get("data", {}).get("number_type"),
"phone_ok": result.get("data", {}).get("valid"),
}
| Response field | Goes into |
|---|---|
| data.e164 | phone_e164 |
| data.number_type | phone_kind |
| data.valid | phone_ok |
The recipe returns nothing when the lookup finds nothing, which costs no credits for this product, and stops with the error code and fix on a failed request.
Without code
Without a script, load the exported file into a spreadsheet or an automation platform that loops over rows and add a generic HTTP request step that posts each number to the phone endpoint with your key in the Authorization header. Map the international format and the type into new columns. No dedicated app is needed and the tool the file came from is never touched.
Questions
What does a full list cost in credits?
One check per row at the price on the pricing page.
Do you connect to my Linked Helper account?
No. This guide is only about a file you exported and keep. Nothing here connects to, drives or collects from the tool.
Can I tell from the result that a number is reachable?
No. The phone check reads the numbering plan, so it confirms the shape and type of a number, not whether it is switched on.
Sources
- Linked Helper: Data Export feature page https://www.linkedhelper.com/features/data-export, read 2026-10-18
- LookValid API reference: Phone Numbering-Plan Validation https://lookvalid.com/docs/api/phone, read 2026-10-18
LookValid is run by Meralume Labs. It is not connected to, endorsed by or a partner of any company or product named on this page, and every product name belongs to its owner.
Related pages
LookValid bills every lookup in credits from one shared balance, so the same key works for each check above.
See Phone Numbering-Plan Validation