International phone number validation: the 2026 E.164 and region-by-region guide

International phone number validation is checking numbers from multiple countries against each market's numbering rules, carrier data, and consent registries inside one workflow. E.164 caps a number at 15 digits, and the trunk prefix rule differs in almost every market: most drop the leading 0, Spain and Singapore never had one, and Italian landlines keep theirs. This 2026 guide gives the 26-market conversion reference, where vendor accuracy holds and where it slips, published cost per lookup, and how to route a validated number into a sequence that books the meeting.

By
Thibault Garcia
2/6/26
A purple wire-frame globe beside message cards greeting in English, Spanish, French and Japanese with international dial codes.
Key Findings
Three things change when outbound crosses borders

National numbering rules vary by country. Carrier data quality varies by country. Compliance rules vary by country. A single-vendor global coverage claim is technically true for format and frequently wrong for the other two layers.

E.164 is the only safe input format

Digits only, 15 maximum, made up of a 1 to 3 digit country code plus a subscriber number of up to 12. Standardizing on E.164 inside your CRM is non-negotiable for international workflows.

The trunk prefix rule is per country, and Italy is the trap

Most markets drop the leading 0 in E.164. Spain, Poland, Denmark and Singapore never had one. Italian landlines keep theirs, so a global strip-the-zero rule invalidates every Italian landline in the list.

Filter free, then pay

Syntactic validation via libphonenumber costs nothing and removes 8 to 15 percent of an aged list. Paid carrier lookups run $0.008 to $0.015 per query, so running the free check first is what keeps a 50,000 record pass affordable.

Vendor accuracy is highest in NA and Western Europe

APAC, LATAM, and Africa data is good but variable. Run a per-region accuracy test before committing. Global coverage hides large quality differences between regions.

Compliance is a separate layer

Most validation APIs return validation only. Experian EDQ and IPQS surface some consent and DNC signals. Most others do not. Budget separately for compliance in regulated markets.

Line type decides the sequence branch

Route by region before validating, then let line type pick the channel. Mobile routes to SMS and call, landline to call-only, unknown or non-compliant numbers drop out before a rep wastes a dial.

Vendors advertise 200+ countries of coverage. Accuracy inside that footprint swings from roughly 99 percent in North America to the low 80s in secondary APAC and African markets, and E.164 allows a maximum of 15 digits with a different trunk prefix rule in almost every market.

International phone number validation is the practice of validating, normalizing, and routing phone numbers across multiple countries inside a single workflow. For B2B sales teams that sell globally, it is the difference between an outbound motion that works in three regions and one that quietly breaks in the fourth because the validation provider has weak data on Indonesian mobile carriers, or because Australian consent rules require something the dialer never enforced.

This guide breaks down what international validation actually means, where the major vendor data is strongest and weakest by region, the consent and DNC rules that turn "technically valid" into "actually contactable," and how to build a stack that handles regional differences without breaking your campaign cadence. If phone is the call step inside a wider motion, this all feeds directly into B2B appointment setting, where a number that does not ring is a meeting that never gets booked. For the parent context, start with the phone number validation guide.

What is international phone number validation?

International phone number validation is the process of checking phone numbers from multiple countries against the numbering rules, carrier data, and (in some markets) consent and do-not-call registries specific to each country. It does the same job as domestic validation. It confirms format, country, carrier, line type, and status. The difference is that it accounts for the fact that those checks behave differently in every market.

A US mobile number and a Vietnamese mobile number are two different problems wearing the same shape. They follow different numbering plans, the carriers are different, the consent expectations are different, and the data sources behind each vendor's validation differ in coverage and freshness from country to country.

The starting point for any international validation pipeline is E.164. The international standard requires a leading plus sign, a country code, and up to 15 total digits, with no spaces or formatting. +14155550123 is E.164. (415) 555-0123 is not. Every modern validation API expects E.164 as input or normalizes inputs internally. Standardizing on E.164 inside your CRM is non-negotiable for international workflows.

Why international phone number validation is harder than domestic

Three things change once your outbound crosses borders.

1. The numbering rules vary by country. A valid mobile number in the UK starts with 07 and has 11 digits domestic, 13 with the country code. In Vietnam, mobile numbers are 9 or 10 digits depending on which prefix renumbering wave they came from. Validation libraries handle this automatically when you provide the country, but inputs without a country hint sometimes parse incorrectly.

2. The carrier data quality varies by country. Vendors source carrier and line type data from telecom industry feeds that update at different cadences in different markets. North America and Western Europe usually have fresh, accurate data. India, China, Brazil, and parts of APAC have data that is good but lags reality by weeks or months. Some smaller markets have data that is frankly bad.

3. Compliance rules vary by country. The US has the National DNC Registry, mostly applicable to B2C. The EU has GDPR plus per-country DNC lists. Canada has the CRTC's DNC. Australia has the Do Not Call Register. India has DLT registration requirements. Brazil has Não Me Perturbe. Each rule stands on its own, so a number that reads as "valid" everywhere can still be legally risky to contact in specific markets.

A vendor claiming worldwide coverage is usually accurate about format validation, roughly accurate about carrier data in its strong markets, and silent about compliance everywhere.

What is the E.164 format, and why store every number in it?

E.164 is the ITU numbering plan that every validation API and every dialer agrees on. It allows digits only, up to a maximum of fifteen, structured as a country code of one to three digits followed by the national subscriber number. The leading plus sign is a presentation convention from the companion E.123 recommendation rather than part of the number itself, which is why some APIs accept +14155550123 and 14155550123 as the same input.

E.164 rule Value What breaks when you ignore it
Maximum total digits 15, excluding the plus sign Longer strings are rejected at the API boundary, often silently as "invalid"
Country code length 1 to 3 digits Naive substring parsing splits +1 and +971 the same way and mislabels the country
Subscriber number Up to 12 digits Padding or truncating to a fixed width corrupts variable-length markets like Germany
Allowed characters Digits, plus an optional leading + Spaces, dashes, parentheses and 00 prefixes cause parse failures, not soft warnings
Trunk prefix Not part of E.164 in most countries Keeping a leading 0 where it should be dropped produces a number that fails validation

Storing numbers in E.164 inside the CRM removes an entire class of bug. A number captured as (415) 555-0123 in one form, 0415 555 0123 in another, and +1 415-555-0123 in a third is three records to a deduplication routine and one record to a human. Normalizing on write makes deduplication, validation, dialer handoff, and consent suppression all key off the same string.

International phone number formats by country

The single most common cause of a "valid number" failing validation is the trunk prefix. Most countries expect the leading 0 to be dropped when the number is written in E.164. A handful never had one. Italy is the exception that catches teams out, and it is worth knowing before it corrupts a list.

E.164 conversion reference, 26 markets
Country Country code Trunk prefix handling National digits E.164 example
United States / Canada +1 None (domestic 1 is long distance) 10 +14155550123
United Kingdom +44 Drop the leading 0 10 +447912345678
Germany +49 Drop the leading 0 6 to 11 (variable) +4930123456
France +33 Drop the leading 0 9 +33612345678
Italy (landline) +39 Keep the leading 0 9 to 11 +390612345678
Italy (mobile) +39 None, mobiles have no leading 0 10 +393471234567
Spain +34 None, no trunk prefix 9 +34612345678
Netherlands +31 Drop the leading 0 9 +31612345678
Belgium +32 Drop the leading 0 8 to 9 +32470123456
Switzerland +41 Drop the leading 0 9 +41791234567
Sweden +46 Drop the leading 0 7 to 9 (variable) +46701234567
Poland +48 None, no trunk prefix 9 +48512345678
Denmark +45 None, no trunk prefix 8 +4520123456
Ireland +353 Drop the leading 0 7 to 9 +353851234567
India +91 Drop the leading 0 10 +919812345678
Australia +61 Drop the leading 0 9 +61412345678
New Zealand +64 Drop the leading 0 8 to 9 +64211234567
Japan +81 Drop the leading 0 9 to 10 +819012345678
Singapore +65 None, no trunk prefix 8 +6591234567
Vietnam +84 Drop the leading 0 9 +84912345678
Indonesia +62 Drop the leading 0 9 to 11 (variable) +62812345678
Philippines +63 Drop the leading 0 10 +639171234567
Brazil +55 Drop the carrier selection code 10 to 11 +5511912345678
Mexico +52 None since 2019, 01/044/045 abolished 10 +525512345678
United Arab Emirates +971 Drop the leading 0 9 +971501234567
South Africa +27 Drop the leading 0 9 +27821234567

The Italian exception. Since a 1998 renumbering, the leading 0 on an Italian landline is part of the number rather than a trunk prefix, so it stays in place when calling from abroad. A Rome landline is +390612345678, not +39612345678. Italian mobiles work the other way and never carry a leading 0, so +393471234567 is correct. Several published format guides state that Italy drops the zero like France and the UK, which is wrong and will invalidate every Italian landline in a list. Treat any hand-rolled "strip the leading zero" rule as a bug waiting for an Italian record.

Use this table to sanity-check a pipeline rather than to build one. The authoritative source is Google's libphonenumber, which encodes the numbering plan for every market and is updated as plans change.

How do you normalize a raw number to E.164?

Four steps, in this order. Skipping step one is what makes the rest unreliable.

  1. Attach a country hint. A bare string like 06 1234 5678 is a valid Rome landline, a valid Dutch mobile, and a valid Japanese number, depending on the region you parse it against. Carry the country from the form field, the enrichment source, or the account's market tag. Parsing without a hint is where silent corruption starts.
  2. Parse and normalize. Hand the raw string plus the region to libphonenumber. It applies that market's trunk prefix rule, including the Italian exception, so you never write the rule yourself.
  3. Validate the syntax. is_valid_number checks digit count against the assigned ranges in that numbering plan. This is free, instant, and catches typos and dead ranges before you spend money on a lookup.
  4. Pay for the carrier lookup only on what survives. Syntactic validity says the number could exist. A carrier lookup says whether it is assigned, which carrier holds it, and what line type it is. Running the paid lookup after the free filter is what keeps the cost sane at volume.

The reference implementation for steps one to three, using the Python port of libphonenumber:

Python Normalize to E.164 and classify line type
import phonenumbers
from phonenumbers import PhoneNumberFormat, PhoneNumberType

RAW = [
    ("(415) 555-0123", "US"),
    ("020 8366 1177", "GB"),
    ("06 1234 5678",   "IT"),   # Rome landline, keeps its 0
    ("0412 345 678",   "AU"),
]

TYPES = {
    PhoneNumberType.MOBILE: "mobile",
    PhoneNumberType.FIXED_LINE: "landline",
    PhoneNumberType.FIXED_LINE_OR_MOBILE: "fixed_or_mobile",
    PhoneNumberType.VOIP: "voip",
}

for raw, region in RAW:
    num = phonenumbers.parse(raw, region)
    if not phonenumbers.is_valid_number(num):
        print(f"{raw!r:18} -> INVALID for {region}")
        continue
    e164 = phonenumbers.format_number(num, PhoneNumberFormat.E164)
    kind = TYPES.get(phonenumbers.number_type(num), "other")
    print(f"{raw!r:18} -> {e164:16} {kind}")

# (415) 555-0123    -> +14155550123     fixed_or_mobile
# 020 8366 1177     -> +442083661177    landline
# 06 1234 5678      -> +390612345678    landline
# 0412 345 678      -> +61412345678     mobile

Once numbers are clean and typed, the next decision is which vendor to trust for the paid layer in each region. If you are cleaning an existing database rather than a live intake, our guide to bulk phone number validation covers the batch pattern.

How vendor accuracy varies by region

The pattern below is based on common industry knowledge and the published documentation of the major validation APIs. Always test on your own markets before committing.

Region Vendor data quality Key compliance rules Watch-out
North America (US + Canada) High across all major vendors US DNC Registry (B2C); CRTC DNC (Canada) VoIP line type detection is the noisiest layer
EU + UK High in DE, FR, UK, NL; thinner in Baltics and Bulgaria GDPR, ePrivacy, UK CTPS, Bloctel (FR), UWG (DE) B2B cold calling without prior consent is restricted in many member states
Australia + New Zealand Good; well-regulated telecom markets AU Do Not Call Register, NZ Telecommunications (Marketing) Code B2B is generally exempt but ACMA enforces strictly
India Good carrier data across major vendors TRAI DLT registration for SMS senders Compliance is a separate layer most APIs do not cover
APAC (Singapore, Indonesia, Vietnam, Philippines, Thailand) Strong in Singapore; noisier in ID, VN, TH, PH Singapore PDPA strict; others more permissive Expect higher unknown bucket on bulk validation
Latin America Good in BR, MX; noisier elsewhere BR Não Me Perturbe, MX REPEP PT vs ES localization matters as much as validation
Africa + Middle East Variable; SA strong, others uneven UAE TDRA, Saudi Arabia CITC Higher unknown rates on bulk passes

North America (US and Canada). Highest data quality across vendors. Twilio Lookup, IPQualityScore, Veriphone, Numverify, ClearoutPhone, and Experian EDQ all return reliable carrier and line type data here. The US DNC Registry applies to consumer numbers. B2B is broadly exempt but state-level rules (California, Florida) add nuance. For US phone validation use cases, most vendors hit 97 to 99 percent accuracy on line type. Mobile versus landline detection is reliable. VoIP detection is the noisiest layer because Google Voice, Microsoft Teams, and similar services blur the line.

European Union and UK. Strong vendor coverage. GDPR is the dominant compliance concern, plus per-country DNC. Germany, France, the UK, and the Netherlands have the strongest data. Smaller EU markets (Bulgaria, Romania, the Baltics) have thinner carrier data depending on the vendor. GDPR plus the ePrivacy directive means B2B cold calling without prior consent is restricted in many member states. The UK CTPS (Corporate Telephone Preference Service) covers business numbers and is legally enforceable. France's Bloctel and Germany's UWG add specific obligations.

Australia and New Zealand. Vendor data is good and the DNC Registers are enforced. Australia's Do Not Call Register applies to private numbers but exempts genuine B2B. ACMA enforces this strictly. New Zealand has the Telecommunications (Marketing) Code and the Unsolicited Electronic Messages Act. Both markets show real search demand for region-specific validation, which suggests an underserved content opportunity if you sell there.

India. The largest single market by mobile subscribers, and one of the most complex for compliance. The DLT (Distributed Ledger Technology) registration system, run by TRAI, requires SMS senders to be registered and content templates to be pre-approved. Phone validation in India returns accurate carrier data through most major vendors, but compliance is a separate layer most APIs do not cover.

APAC (Singapore, Indonesia, Vietnam, Philippines, Thailand). Carrier data quality varies widely by country and by vendor. Singapore has the strongest carrier database, a small country with a well-regulated telecom market. Indonesia, Vietnam, and Thailand have noisier data, so expect a higher unknown bucket on bulk validation. The Philippines is improving as the BPO industry pushes for better data. Consent rules vary too. Singapore's PDPA is strict, while some neighbors are more permissive in practice. This is Reachly's home region, and we have run campaigns into APAC markets where less cold email lands in the inbox, which makes a validated phone number worth more, not less.

Latin America (Brazil, Mexico, Argentina, Colombia). Brazil has Não Me Perturbe, the consumer DNC, and Mexico has REPEP. Carrier data for Brazil and Mexico is good across vendors. Smaller markets are noisier. Portuguese versus Spanish localization in your dialer scripts matters as much as validation accuracy for actual outbound performance.

Africa and Middle East. The most variable region for vendor data. South Africa has good coverage. Egypt, Nigeria, Kenya, and the UAE have decent vendor data but expect higher unknown rates on bulk passes. Some markets have specific regulatory environments (UAE's TDRA, Saudi Arabia's CITC) that affect both validation and contactability.

How to choose a vendor for international phone number validation

Every vendor's marketing page claims the best global coverage, so that claim carries no information. The question that decides your stack is narrower: which vendor has the best data in the specific markets you sell into.

Run a per-region accuracy test. For each region you sell into, build a 100 to 200 record test set. Use numbers you know the dial outcomes for. Run them through two vendors. Score format and country detection accuracy, line type accuracy (mobile versus landline versus VoIP), carrier name accuracy, and status detection (active versus disconnected) where measurable. A vendor at 99 percent accuracy in the US and 82 percent in Indonesia is an Indonesian data problem for you if half your pipeline is Indonesian. Make the decision per region. For a detailed look at the major providers, see our phone validation API comparison.

Ask about data freshness, by region. Vendors update carrier and line type data on different cadences. Some refresh weekly, some monthly, some quarterly. Ask specifically. In markets with high carrier porting activity (much of LATAM, parts of APAC), monthly data is significantly fresher than quarterly.

Treat compliance signals as a separate buying criterion. Most validation APIs return validation only. Compliance is a separate product, often from a different vendor. For markets where compliance matters (EU, UK, India, Australia, parts of LATAM), budget separately for a DNC or consent layer. Experian EDQ and a few enterprise specialists handle this. Most validation-first APIs do not.

What does international phone number validation cost?

Per-lookup pricing is the number that decides your architecture, because it is what makes the free syntactic filter in step three worth building. Published list prices, checked August 2026:

Vendor / layer Published price Coverage claim Notes
libphonenumber (syntactic) Free, open source Every numbering plan Format, region and line-type hint only. No carrier or status data.
Twilio Lookup, formatting and validation Free Global Syntactic layer, same job as libphonenumber, as a hosted call.
Twilio Lookup, line type intelligence $0.008 per request Global Carrier and line type. The workhorse paid layer for most stacks.
Twilio Lookup, line status $0.007 down to $0.00385 per query Global Tiered by volume. Answers whether the line is currently active.
Trestle Global Phone Validation $0.015 per query, pay as you go 200+ countries, 18,000+ carriers Self-serve capped at 10 QPS. Returns a 0 to 100 activity score and 7 line types.
Trestle enterprise Custom, from 10K queries a month Same Volume discounts and higher QPS.
DNC and consent layer Quote only Per market A separate product from a separate vendor in almost every case.

The arithmetic matters at volume. A 50,000 record international list run straight through a paid carrier lookup at $0.008 costs $400. Filtering syntactically first typically removes 8 to 15 percent of a scraped or aged list before it reaches the paid layer, which is $32 to $60 saved on a single pass, and considerably more on a list refreshed monthly. Several vendors publish no price at all. ZoomInfo-tier and DNC-layer providers are quote only, so budget them separately rather than assuming they fold into the per-lookup cost. For a provider-by-provider breakdown, see our phone validation API comparison.

How to structure an international validation workflow

The pipeline pattern that works in most international B2B stacks:

  1. Capture the number with a country hint where possible (form field, enrichment source metadata, market segment tag).
  2. Normalize to E.164 with libphonenumber-js, using the country hint to disambiguate.
  3. Route by region before validation. Send EU records to your EU validation pipeline, APAC records to your APAC pipeline, and so on.
  4. Validate against the region-specific vendor (or vendor configuration) chosen during your accuracy test.
  5. Apply region-specific compliance filters (DNC suppression, consent checks) where required.
  6. Bucket and route into the right outbound sequence, and the right rep language or script if you run multilingual outbound.

If you only sell into one or two markets, this is overkill. If you sell into five or more, building the workflow this way avoids the failure mode where a US-trained validation logic quietly breaks when applied to Vietnamese or Italian records. For region-specific bulk cleanups, see our guide to bulk phone number validation.

Six mistakes that break international phone validation

1. Stripping the leading zero everywhere. The rule holds in the UK, France, Germany, Australia and most of APAC, and it destroys Italian landlines. Delegate the rule to libphonenumber rather than writing it once and applying it globally.

2. Using 00 instead of +. The 00 prefix is one country's international access code, not part of the number. It is 011 from North America and 0011 from Australia. E.164 carries neither, and a stored 00 breaks WhatsApp links, dialer handoff and most API calls.

3. Parsing without a country hint. A nine-digit string with no region attached is a guess. Most libraries will make one, and the guess is wrong often enough to matter on a list of any size.

4. Treating VoIP as invalid. Google Voice, Microsoft Teams and Zoom Phone numbers are working business lines for a large share of software buyers. Discarding every VoIP result deletes real prospects. Route them to a different branch of the sequence instead, and expect VoIP detection to be the noisiest field a vendor returns.

5. Validating once and treating it as permanent. Numbers get ported, reassigned and disconnected. Line status decays fastest in markets with heavy carrier porting, which is much of LATAM and parts of APAC. A validation from 18 months ago is an assumption, not a fact.

6. Reading one global accuracy figure as uniform. A vendor quoting 97 percent accuracy is quoting a blended average weighted toward its strong markets. The figure for your fourth-largest market is the one that decides whether the campaign works there, and it is never the number on the marketing page. Test per region, as covered above.

Where a validated international number fits in the sequence

A booked meeting is the goal, and a clean international number only earns its cost if it slots into a sequence that uses the phone at the right moment. In Reachly campaigns the call lands third, after email and LinkedIn have already put the name in front of the prospect, which is the signal-based outbound pattern applied across borders.

Day Channel Action Why
Day 1 LinkedIn + Email Profile visit, empty connection request, Email #1 with a signal opener Warms recognition before any call. Email validated for deliverability, number queued for later
Day 3 Email Email #2, new angle, 70 to 80 words Second touch on a different hook. Still no phone, so no wasted dial on a cold name
Day 5 LinkedIn Short lowercase question-based message after the connection is accepted Third recognition touch. Confirms the contact is active before the number is dialed
Day 8 Phone Call the validated number. Mobile routes to a direct dial, landline routes to a switchboard script The number rings because it was validated and routed by line type. The name is already familiar
Day 12 Phone + Email Final call attempt plus a one-sentence breakup email Last touch. Region-specific compliance filter has already removed any number that should not be called

How Reachly coordinates this at the campaign level: one ops lead owns validation and infrastructure, one strategist owns audience and angle per region, and line type decides the branch. Mobile numbers route to SMS-and-call sequences, landlines route to call-only, and unknown or non-compliant numbers drop out before a rep ever wastes a dial.

The validation decision that matters most here is line type. It is what tells the sequence whether a contact can take an SMS, whether the call hits a personal mobile or a front desk, and whether the dial is worth a rep's time at all. The contacts that deserve the deepest validation spend are the ones already worth a real outreach effort, which is the same logic behind how to qualify leads in sales without the BS.

💡
Operator insight. "We use cold calls strategically, not as a volume play. The call comes after email and LinkedIn, so by the time we pick up the phone the prospect has already seen our name twice. That only works if the number actually rings. Across borders, a number we have not validated and routed by line type is a coin flip, and we do not run client pipeline on coin flips. The Great Room went from face-to-face meetings twice a quarter to twice a month on this exact pattern, with zero added headcount." Thibault Garcia, Reachly.

This is also the link between validation and the wider motion. Phone is one channel of three, and it only works when the data feeding it is clean. For the full picture of how the three channels work together, see a modern outbound sales strategy that books meetings.

Outbound that books the meeting in every market. Across 400+ campaigns.

Reachly runs done-for-you cold email, LinkedIn, and cold calling for B2B teams across APAC, USA, Canada, UK, and ANZ. Triple-certified across Clay, Smartlead, and HeyReach. We validate the data, route by region, build the sequence, run the calls, and book the meetings. 2,500+ meetings booked. Primal hit 4.57x ROI in 6 months. The Great Room closed a $250K contract.

See how Reachly works

FAQ

What is international phone number validation?

International phone number validation is the process of checking phone numbers from multiple countries against country-specific numbering rules, carrier data, and (in regulated markets) compliance signals. It is the same core job as domestic validation but accounts for the fact that data quality, numbering plans, and contact rules vary by country.

Which validation API has the best international coverage?

There is no single answer. Twilio Lookup and IPQualityScore have broad global coverage but vary by region. Experian EDQ is strongest in regulated markets with built-in compliance signals. ClearoutPhone is strong in APAC. Veriphone and Numverify cover most markets with thinner data outside North America and Western Europe. Run a per-region accuracy test before committing.

How do you validate a phone number from another country?

Normalize the number to E.164 format (plus, country code, up to 15 digits) using libphonenumber-js with the country code as a hint. Then call a validation API that supports the country in question. The API returns format status, country, carrier, line type, and (depending on vendor) status and risk signals.

Is the US Do Not Call Registry relevant to B2B sales?

Mostly not. The US National DNC Registry applies to residential numbers and consumer calls. B2B calling is broadly exempt at the federal level, though some state laws (California, Florida) add nuance. International equivalents have different B2B treatment: UK CTPS covers business numbers; Australia's DNC Register exempts genuine B2B; EU member states vary.

How do you validate Australian phone numbers?

Australian mobile numbers start with 04 (domestic) or +614 (international E.164). Landlines have area codes 02 (NSW and ACT), 03 (VIC and TAS), 07 (QLD), 08 (WA, SA, NT). All major validation APIs handle Australian numbers well. Compliance check: confirm the number is not on the Do Not Call Register if it appears to be a personal number. B2B is generally exempt but enforcement is real.

How do you validate New Zealand phone numbers?

New Zealand uses country code +64. Mobile numbers start with 021, 022, 027, 028, or 029 (domestic). Major validation APIs cover NZ well. Watch the Telecommunications (Marketing) Code and the Unsolicited Electronic Messages Act for compliance on outbound campaigns.

What is GDPR's role in international phone number validation?

GDPR does not regulate phone number validation itself, but it constrains what you can do with validated numbers in the EU. Cold calling B2B contacts without prior basis can violate GDPR's lawful processing requirements. Most B2B teams operate under "legitimate interest" with documented justification and easy opt-out paths.

Can one vendor handle global phone validation?

In theory, most vendors offer global coverage via a single API. In practice, accuracy varies materially by region. Most international B2B teams either accept that a single vendor will be 95 percent accurate in primary markets and 80 to 85 percent in secondary markets, or run a multi-vendor stack with different providers per region. The right choice depends on volume and how much each missed conversation costs you.

What is the E.164 phone number format?

E.164 is the ITU international numbering plan. It permits digits only, to a maximum of fifteen, made up of a country code of one to three digits followed by a subscriber number of up to twelve digits. The leading plus sign comes from the companion E.123 recommendation and is a presentation convention rather than part of the number. +14155550123 is E.164. (415) 555-0123 is not.

Do you always drop the leading zero when converting to E.164?

No. Dropping the leading zero is correct in the UK, France, Germany, the Netherlands, Ireland, India, Australia, New Zealand, Japan and most of APAC. Several countries never had a trunk prefix at all, including Spain, Poland, Denmark and Singapore, so there is nothing to drop. Italy keeps the zero on landlines. Because the rule is per market, use a library that encodes the numbering plans rather than applying a single global rule.

Why is my Italian landline invalid after converting to E.164?

Almost certainly because the leading zero was stripped. Since the 1998 Italian renumbering, the leading 0 on a landline is part of the subscriber number and has to be included when calling from abroad. A Rome landline is +390612345678. Removing the zero to give +39612345678 produces a number that fails validation. Italian mobiles are the opposite case and never carry a leading zero, so +393471234567 is correct.

How much does international phone number validation cost per lookup?

Syntactic validation is free, whether through the open-source libphonenumber library or Twilio Lookup's free formatting and validation layer. Paid carrier lookups are the real cost. Twilio Lookup line type intelligence is $0.008 per request and line status is tiered from $0.007 down to $0.00385 per query by volume. Trestle's self-serve Global Phone Validation is $0.015 per query. DNC and consent layers are quote only. Prices checked August 2026.

What is the difference between syntactic validation and a carrier lookup?

Syntactic validation checks the number against its country's numbering plan: correct digit count, an assigned prefix range, a valid country code. It is free and instant, and it tells you the number could exist. A carrier lookup queries live telecom data to tell you whether the number is actually assigned, which carrier holds it, and what line type it is. It costs money per query. Run the free check first and pay only for what survives it.

How often should you re-validate international phone numbers?

Every 6 to 12 months for stable markets, and more often for markets with heavy carrier porting, which includes much of LATAM and parts of APAC. Numbers get ported, reassigned and disconnected continuously, so line status is the field that decays fastest. Format validity does not expire, which means a re-validation pass only needs to re-buy the carrier and status layer, not the syntactic one.

Recommended service

B2B Appointment Setting Services

Reachly qualifies every reply for fit, authority, and intent, then books the meeting straight onto your calendar.

Thibault Garcia
Founder
I’ve spent the past 11 years working across sales and growth marketing, helping businesses build predictable pipeline. My focus is on lead automation, lead generation, LinkedIn optimisation, sales funnels, and practical growth systems. I’ve worked with 500+ businesses on improving their revenue operations, and I enjoy breaking down what consistently works in outbound, positioning, and building repeatable growth.
 
class SampleComponent extends React.Component { 
  // using the experimental public class field syntax below. We can also attach  
  // the contextType to the current class 
  static contextType = ColorContext; 
  render() { 
    return <Button color={this.color} /> 
  } 
} 

Get more meetings with the people who matter, 100% done for you.

Book a quick call and we'll show you how Reachly fills your calendar with qualified conversations, without you lifting a finger.

Book a Call