Analytics and product tools
Check phone numbers, country codes and email domains in Pendo
Add country and number type to the phone attributes in your account and visitor export, so segments by region and contact type are trustworthy.
Why the data matters in Pendo
Guides and segments in a product tool are targeted by visitor and account fields. When phone attributes come from sign-up forms in mixed formats, regional segments miss people and a guide meant for one market reaches another, which makes adoption numbers by region hard to trust.
What LookValid checks
| Product | What it does here | Credits |
|---|---|---|
| Phone Numbering-Plan Validation | Returns E.164, country and number type from open numbering-plan data. It does not say if a line is active. | 1 credit per valid number |
| Country Calling Codes | Looks up a calling code or country name and returns shared regions and national number lengths for segment labels. | 1 credit per lookup (an unknown code, country or name is free) |
| Email Domain Check | Reads the domain of a visitor email and flags free providers and role mailboxes, helping tell company accounts from personal ones. | 1 credit per address checked |
Connect it in four steps
- Create a LookValid account and an API key from the dashboard, which a person does once.
- Keep the key in the LOOKVALID_API_KEY environment variable of the job or notebook that processes the export, and not in the exported file or its folder.
- Call the function for every phone value; a None return means found was false, so keep the original value, and an exception carries the error code and fix.
- Create matching custom metadata fields on the Metadata page first, then write the E.164, country and type values into columns named exactly like those fields, because a CSV upload fails when a header does not match, and each file takes up to 24 fields. Use the new fields when you build regional segments.
A script that reads a visitor or account file, checks each phone value and writes a cleaned CSV whose first column is visitorId, ready for the custom-field CSV upload in Pendo. 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_visitor_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_country": result.get("data", {}).get("country"),
"phone_type": result.get("data", {}).get("number_type"),
}
| Response field | Goes into |
|---|---|
| data.e164 | phone_e164 |
| data.country | phone_country |
| data.number_type | phone_type |
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
No script is required if you would rather use an automation platform: its generic HTTP request step can take each row of the file, send the phone to LookValid and then update the custom field through Pendo's API, which accepts single or bulk updates with an integration key that has write access. No dedicated LookValid app is involved.
Questions
What does it cost in credits?
The pricing page lists the credits for the phone product. Run it on distinct numbers and keep the cleaned file to avoid repeat checks.
What does the phone check not do?
It follows the numbering plan only, so it cannot tell whether a number is active, who holds it or whether it receives calls.
Where does the key go?
In an environment variable of the job that processes the file. Pendo's own integration key, if you use its API, belongs there too.
Sources
- Manage custom metadata fields (Pendo Help Center) https://support.pendo.io/hc/en-us/articles/19638682125595-Manage-custom-metadata-fields, 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