Netherlands Phone Number Format: Complete Validation & Integration Guide (2025)
Learn Dutch phone number formats, validation regex, and ACM compliance. Complete guide to 06 mobile numbers, area codes, number portability, and integration with KPN, Odido, VodafoneZiggo APIs.
Learn how to validate Netherlands phone numbers, integrate with Dutch telecom APIs, and handle number portability. This guide covers Dutch phone number formats (including 06 mobile numbers), validation regex, ACM compliance requirements, and production-ready integration patterns with working code examples.
Understanding Dutch Phone Number Formats
Dutch phone numbers follow a standardized 10-digit format governed by the Netherlands Authority for Consumers and Markets (ACM). Whether you're validating a Netherlands mobile number starting with 06 or a geographic landline with area codes like 020 (Amsterdam) or 010 (Rotterdam), understanding the correct format is essential for successful integration. The ACM intensified enforcement of telemarketing and numbering regulations beginning July 1, 2025. Violations trigger administrative fines and periodic penalty payments. The ACM withdraws phone numbers used for fraud – it has withdrawn over 100 numbers from fake helpdesks since 2020. Follow ACM standards to ensure successful communication and integration.
Netherlands Phone Number Types and Format Examples
The Netherlands uses several distinct phone number formats. All domestic numbers start with 0 (trunk code), followed by area codes or service prefixes:
Number Type
Format
Details
Geographic (Landline)
10 digits with leading "0"
Link to specific geographic areas with 2-digit or 3-digit area codes followed by 7-digit or 6-digit subscriber numbers. Major cities use 2-digit codes (020 Amsterdam, 010 Rotterdam, 070 Den Haag, 030 Utrecht). Smaller areas use 3-digit codes (0111 Zierikzee, 0598 Hoogezand). See the complete list of Dutch area codes.
Mobile
10 digits starting with 06
Valid prefixes: 061, 062, 063, 064, 065, 068. Security note: The ACM does not allocate prefixes 066, 067, and 069 for standard mobile services. Prefix 066 serves pagers, 067 serves videotex/internet access, and 069 remains largely unallocated. Scammers exploit these unallocated and special-use prefixes because they register easily and resist tracing. Treat calls from 066, 067, 069, 084, and 087 prefixes with extreme caution.
Toll-Free (0800)
8-11 digits starting with 0800
Callers pay nothing – the business bears all costs. Use allocated numbers within 6 months or forfeit them. Apply through ACM's application process. International callers cannot dial 0800 numbers.
Implement prefix validation that rejects 066, 067, 069 unless specifically required for legacy systems
Log and flag calls from 084, 087 prefixes for additional verification
Use reverse lookup services to verify caller identity for high-risk prefixes
Educate users about these fraud-prone number ranges
Cost Structure and Regulations: Premium rate numbers charge callers €0.25 to €2.00 per minute or per call, plus regular call charges. Dutch consumer protection law requires:
Disclose rates clearly before the call connects
State information rate and traffic rate separately
Disclose call setup fees separately
Limit customer service numbers to normal call charges (no information charges)
Apply maximum rate restrictions in certain situations
Prohibit call forwarding to 0800 numbers
Special Numbers: Non-geographic numbers serve specific functions:
084, 087: Location-independent premium rate (often used for fax-to-email, voicemail services)
085: Location-independent basic rate for private VoIP telephony
088: Location-independent basic rate for companies with multiple addresses (requires KVK business registration; issued in blocks of 100+ numbers)
091: VoIP telephony
097: Machine-to-machine (M2M) communication (8-11 digits; 0970 for standard M2M, 0979 reserved for internal network use)
1233: Voicemail services
112: Emergency services (EU standard)
113: Suicide prevention hotline
14xx: Public authorities (14 followed by 2-4 digit municipality area code)
18xx: Directory assistance (commercial providers)
Security Warning: Scammers frequently use 066, 084, and 087 numbers – these prefixes register easily and resist identification. Exercise caution with calls from these prefixes.
How to Validate Netherlands Phone Numbers with Regex
Validating Dutch phone number formats requires regular expressions that check for valid prefixes and digit counts. Here are production-ready regex patterns for each Netherlands phone number type:
When NOT to use regex: Avoid regex-only validation for verifying active, ported, or reachable numbers. Use APIs or number lookup services for real-time verification.
Comprehensive Validation Example
This function demonstrates complete validation with error handling and formatting:
JavaScript
functionformatDutchPhoneNumber(cleaned) {
// Format based on prefix for better readabilityif (cleaned.startsWith('06')) {
// Mobile: 06 1234 5678return`${cleaned.slice(0, 2)}${cleaned.slice(2, 6)}${cleaned.slice(6)}`;
} elseif (cleaned.length === 10 && cleaned.startsWith('0')) {
// Geographic with 2-digit area code: 020 123 4567if (['020', '010', '070', '030', '040', '050'].includes(cleaned.slice(0, 3))) {
return`${cleaned.slice(0, 3)}${cleaned.slice(3, 6)}${cleaned.slice(6)}`;
}
// Geographic with 3-digit area code: 0111 123 456return`${cleaned.slice(0, 4)}${cleaned.slice(4, 7)}${cleaned.slice(7)}`;
}
// Default formatting for special numbersreturn cleaned;
}
functionhandlePhoneValidation(phoneNumber) {
try {
const cleaned = phoneNumber.replace(/[\s\-\(\)]/g, ''); // Remove formatting charactersif (!/^0\d{9,}$/.test(cleaned)) { // Initial length check (minimum 9 digits)thrownewError('Invalid number length or format. Numbers must start with 0 and have at least 9 digits.');
}
// Validate based on prefixif (cleaned.startsWith('06')) {
if (!validateDutchPhoneNumber(cleaned, 'mobile')) {
thrownewError('Invalid mobile number format. Valid prefixes are 061-065 and 068.');
}
} elseif (cleaned.startsWith('0800')) {
if (!validateDutchPhoneNumber(cleaned, 'tollFree')) {
thrownewError('Invalid toll-free number format.');
}
} elseif (cleaned.startsWith('090')) {
if (!validateDutchPhoneNumber(cleaned, 'premiumRate')) {
thrownewError('Invalid premium rate number format.');
}
} elseif (cleaned.startsWith('0')) { // Geographic numbersif (!validateDutchPhoneNumber(cleaned, 'geographic')) {
thrownewError('Invalid geographic number format. Check the area code and subscriber number.');
}
} else {
thrownewError('Invalid number format. Numbers must start with 0.');
}
return { isValid: true, formattedNumber: formatDutchPhoneNumber(cleaned) };
} catch (error) {
return { isValid: false, error: error.message };
}
}
// Example usageconsole.log(handlePhoneValidation('020-1234567')); // Valid landline: { isValid: true, formattedNumber: '020 123 4567' }console.log(handlePhoneValidation('0612345678')); // Valid mobile: { isValid: true, formattedNumber: '06 1234 5678' }console.log(handlePhoneValidation('+31612345678')); // Invalid (missing leading 0 for domestic validation)console.log(handlePhoneValidation('0800-1234')); // Valid toll-freeconsole.log(handlePhoneValidation('090012345')); // Valid premium rateconsole.log(handlePhoneValidation('12345')); // Invalid format
Netherlands Number Portability: How to Port Dutch Mobile and Landline Numbers
Number portability in the Netherlands allows you to switch telecom providers while keeping your existing phone number—whether it's a 06 mobile number or a geographic landline. The Dutch number porting system uses a recipient-led process (EU standard) where you initiate port requests through your new provider. This system ensures competition and consumer choice.
How to Port a Dutch Mobile Number (MNP)
Mobile Number Portability (MNP) in the Netherlands lets you transfer your 06 mobile number between providers. All Dutch carriers—including KPN, Odido, and VodafoneZiggo—support MNP for both prepaid and postpaid plans. Port completion times depend on when you submit your request:
Before 17:00: 2 business days
After 17:00: Up to 3 business days
Initiate porting requests through your new provider – the Netherlands follows the recipient-led approach standard across Europe. Some providers offer expedited emergency options.
Copy of most recent phone bill/invoice from current provider (preferably within last 30 days)
For business numbers: Company registration certificate (KVK extract)
For personal numbers: Copy of government-issued ID or passport
Proof of address (utility bill dated within last 90 days)
Porting Process:
Contact your new provider and request a number port
Submit LOA and required documents
Your new provider submits the port request to the Central Reference Database (CRDB)
Your current provider accepts or rejects within 1 business day
If accepted, the port completes within the specified timeframe (1-3 business days)
Service transfers at the scheduled time with minimal interruption
Common Rejection Reasons:
Mismatched account information between LOA and provider records
Outstanding balance with current provider
Contract still under minimum term without early termination
Incorrect or incomplete documentation
Costs and Contract Implications:Number porting is typically free or low-cost (approximately €10/number for some international providers). Terminating your contract early may trigger early termination fees depending on your contract terms. Review your contract and clear all outstanding dues before porting. Business contracts may require 1-3 months' notice.
Fixed-Line Number Portability (FNP)
FNP covers both analog and digital lines nationwide, following the same 1-3 business day timeframe as mobile numbers. Geographic numbers must remain within their assigned area code – you cannot port a Rotterdam (010) number to Amsterdam (020). FNP delivers comparable service levels to MNP for in-area transfers.
Geographic Restrictions: Fixed-line numbers link to their geographic area codes. FNP fails when:
Moving to a different area code region
Converting between geographic and non-geographic numbers
Changing from consumer to business number types (requires new number allocation)
VoIP services using 085, 088, or 091 prefixes have no geographic restrictions – standard FNP rules apply.
Technical Implementation of Number Portability
The Netherlands uses a Central Reference Database (CRDB) managed by Vereniging COIN to track ported numbers and routing information. The CRDB contains:
Active number ranges by operator
All ported numbers and their current operators
Service number rates (premium, toll-free)
Real-time portability status
Accessing the CRDB: Access the CRDB through COIN's Number Portability service. The system provides:
Daily updated files with routing and tariff information
Secured environment with automated file retrieval
Detailed specifications for automated processing
Real-time query capabilities via web portal
Integration Requirements:
Query CRDB before routing calls to determine the correct terminating network
Implement fallback mechanisms for database unavailability
Cache routing information with 24-hour TTL (recommended)
Monitor porting windows (typically overnight) for number changes
Synchronize with CRDB daily updates to maintain accuracy
Contact Vereniging COIN at +31 (0)182 690 074 for CRDB access.
Major Netherlands Telecom Providers: API Integration Guide
Three major operators dominate the Dutch telecommunications market in 2025, each offering developer APIs for SMS, voice, and number management:
KPN: Leads with 30-35% mobile market share by connections and 40% fixed broadband share (alongside VodafoneZiggo). Developer resources at developer.kpn.com include SMS API, Mobile Service Management API, and Internet Speed Check API.
Odido Netherlands: (Rebranded from T-Mobile Netherlands in September 2023) Holds 30-35% mobile share by connections and 40-45% by consumed minutes – the largest by usage. API catalogue at agile.api-dashboard.odido.nl covers logistics, mobile connect services, and OTT provisioning.
VodafoneZiggo: Third-largest mobile operator with 20-25% market share. Joint fixed broadband leader (40% share) with KPN. Developer information at vodafoneziggo.nl.
MVNOs: Mobile Virtual Network Operators collectively hold 10-15% market share and offer competitive alternatives.
Developer Portal Access:
KPN Developer Portal:developer.kpn.com – Comprehensive API documentation, GitHub repositories with OpenAPI specifications, and Postman collections
VodafoneZiggo: Business solutions through sales channels; limited public API documentation
API Capabilities Comparison:
Feature
KPN
Odido
VodafoneZiggo
SMS API
✓
✓
Contact Sales
Number Lookup
✓
✓
Contact Sales
Mobile Management
✓
✓
Limited
Public Documentation
Extensive
Moderate
Limited
Self-Service Portal
✓
✓
✗
Netherlands Phone Number API Integration Checklist
When integrating Dutch phone number validation and telecom APIs into your application, follow these best practices:
Input Validation: Validate Netherlands phone number formats using regex, handle both national (0x) and international (+31) formats, and sanitize all input. Reject suspicious prefixes (066, 067, 069) unless specifically required.
Error Handling: Provide clear error messages for invalid formats, network errors, and rate limits. Log all validation failures for security monitoring.
Format Conversion: Convert between national (0x format) and international (+31 format) formats for display and storage. Store in E.164 format for consistency.
Security Considerations: Implement rate limiting on validation endpoints, log suspicious patterns (repeated 066/084/087 attempts), and sanitize inputs to prevent injection attacks.
GDPR Compliance: Handle phone numbers as personal data. Implement data minimization, obtain proper consent, enable user data deletion, and maintain audit logs with retention policies.
Authentication & Authorization: Secure API endpoints with OAuth 2.0 or API keys, implement role-based access control, and rotate credentials regularly.
Monitoring & Alerting: Track validation success/failure rates, monitor API latency, set up alerts for unusual traffic patterns, and log all CRDB queries for troubleshooting.
Best Practices for Netherlands Phone Number Handling
Validate all formats: Build a validation function that checks all valid Dutch number types and rejects known fraud-prone prefixes.
Store in international format: Use E.164 format (+31xxxxxxxx) for consistency and international compatibility.
Format for display: Display numbers with appropriate formatting (020 1234 567 for landlines, 06 1234 5678 for mobile).
Implement CRDB lookups: Query the Central Reference Database daily to maintain accurate routing for ported numbers.
Handle portability windows: Account for the 1-3 business day porting window and implement retry logic for failed deliveries during transitions.
Privacy by design: Minimize phone number storage duration, encrypt sensitive data at rest and in transit, and implement proper access controls.
Testing strategy: Maintain test numbers for each prefix type, use staging environments that mirror production, and implement automated validation test suites.
Keeping Up-to-Date with Dutch Telecom Regulations
Telecommunications regulations and technical requirements change regularly. Monitor these official sources:
ACM (Netherlands Authority for Consumers and Markets):acm.nl/en – Primary regulatory authority for numbering, consumer protection, and competition
RDI (Rijksinspectie Digitale Infrastructuur): Dutch Authority for Digital Infrastructure (rebranded from Agentschap Telecom in January 2023) – Oversees telecommunications infrastructure, digital security, and frequency management
Vereniging COIN:coin.nl/en – Manages CRDB and number portability infrastructure
2025 Enforcement Updates: As of July 1, 2025, the ACM intensified enforcement of telemarketing rules with mandatory compliance audits. Violations trigger administrative fines and periodic penalty payments. Ensure compliance with consent verification, transparent pricing disclosure, and call recording requirements.
Frequently asked questions
Validate Dutch phone numbers using regular expressions tailored to each number type (geographic, mobile, toll-free, premium rate). Remove whitespace and formatting characters before validation, and check for the correct prefixes and number lengths. Refer to the provided JavaScript examples for robust validation functions.
Dutch mobile numbers consist of ten digits, starting with '06' followed by eight digits. Valid prefixes after '06' currently include 061 to 065 and 068. For example, a valid mobile number would look like 0612345678.
The Netherlands Authority for Consumers and Markets (ACM) governs the structure of Dutch phone numbers, designating '06' as the prefix for mobile services. This standardization ensures consistent number allocation and routing within the Dutch telecommunications network.
Use the E.164 format (+31xxxxxxxx) when storing Dutch phone numbers. This international standard ensures consistency, simplifies international communication, and improves compatibility with various systems.
Yes, number portability is available for both mobile (MNP) and fixed-line (FNP) numbers in the Netherlands. The process typically takes 1-3 business days. Initiate porting requests through your new provider for a seamless transition.
The area code for Amsterdam is 020. Geographic landline numbers in Amsterdam follow the format 020 followed by a seven-digit subscriber number, totaling ten digits including the leading '0'.
Format Dutch phone numbers with spaces or hyphens for improved readability when displaying them to users. For example, a landline number could be displayed as 020 1234 567. Maintain the leading '0' for domestic display.
Premium rate numbers in the Netherlands begin with 0900 (general information), 0906 (adult content), and 0909 (entertainment). These prefixes indicate higher charges for the caller and should be clearly identified.
Integrating with Dutch telecom APIs requires robust input validation, error handling, and format conversion. Thorough validation ensures data integrity and prevents errors. Real-time verification of number portability status and provider information is crucial for seamless integration.
Scammers often use 066, 084, and 087 numbers due to their ease of registration and the difficulty in identifying the users. Exercise caution when receiving calls from these prefixes, as they are frequently associated with fraudulent activities.
Number portability in the Netherlands allows individuals and businesses to switch telecom providers while keeping their existing phone numbers. This promotes competition among providers and gives consumers more choices.
Use regular expressions and JavaScript functions to validate Dutch phone numbers. Check for the correct prefixes, number lengths, and remove any whitespace or formatting characters before validation. The article provides example code for comprehensive validation.
Major telecom operators in the Netherlands include KPN, VodafoneZiggo, and T-Mobile Netherlands. Integrating with these operators requires understanding their specific APIs and requirements for number verification and portability checks.
Learn how to validate Netherlands phone numbers, integrate with Dutch telecom APIs, and handle number portability. This guide covers Dutch phone number formats (including 06 mobile numbers), validation regex, ACM compliance requirements, and production-ready integration patterns with working code examples.
Understanding Dutch Phone Number Formats
Dutch phone numbers follow a standardized 10-digit format governed by the Netherlands Authority for Consumers and Markets (ACM). Whether you're validating a Netherlands mobile number starting with 06 or a geographic landline with area codes like 020 (Amsterdam) or 010 (Rotterdam), understanding the correct format is essential for successful integration. The ACM intensified enforcement of telemarketing and numbering regulations beginning July 1, 2025. Violations trigger administrative fines and periodic penalty payments. The ACM withdraws phone numbers used for fraud – it has withdrawn over 100 numbers from fake helpdesks since 2020. Follow ACM standards to ensure successful communication and integration.
Netherlands Phone Number Types and Format Examples
The Netherlands uses several distinct phone number formats. All domestic numbers start with 0 (trunk code), followed by area codes or service prefixes:
0608000900,0906, or0909Fraud Prevention Best Practices:
Cost Structure and Regulations: Premium rate numbers charge callers €0.25 to €2.00 per minute or per call, plus regular call charges. Dutch consumer protection law requires:
Special Numbers: Non-geographic numbers serve specific functions:
Security Warning: Scammers frequently use 066, 084, and 087 numbers – these prefixes register easily and resist identification. Exercise caution with calls from these prefixes.
How to Validate Netherlands Phone Numbers with Regex
Validating Dutch phone number formats requires regular expressions that check for valid prefixes and digit counts. Here are production-ready regex patterns for each Netherlands phone number type:
const dutchPhoneValidators = { geographic: /^0[1-9]\d{7}$/, // Validates 9-digit geographic numbers (additional area code validation recommended) mobile: /^06[1-5,8]\d{7}$/, // Valid prefixes: 061-065 and 068 tollFree: /^0800\d{4,7}$/, premiumRate: /^090[069]\d{4,7}$/, specialVoIP: /^08[458]\d{6,9}$/, // 084, 085, 088 numbers m2m: /^097[09]\d{5,8}$/ // Machine-to-machine }; function validateDutchPhoneNumber(number, type) { const cleanNumber = number.replace(/\s+/g, ''); // Remove whitespace return dutchPhoneValidators[type].test(cleanNumber); } // Example usage: console.log(validateDutchPhoneNumber('020 123 4567', 'geographic')); // Returns true after whitespace removal console.log(validateDutchPhoneNumber('0612345678', 'mobile')); // Returns true console.log(validateDutchPhoneNumber('0661234567', 'mobile')); // Returns false (066 not valid for mobile)When NOT to use regex: Avoid regex-only validation for verifying active, ported, or reachable numbers. Use APIs or number lookup services for real-time verification.
Comprehensive Validation Example
This function demonstrates complete validation with error handling and formatting:
function formatDutchPhoneNumber(cleaned) { // Format based on prefix for better readability if (cleaned.startsWith('06')) { // Mobile: 06 1234 5678 return `${cleaned.slice(0, 2)} ${cleaned.slice(2, 6)} ${cleaned.slice(6)}`; } else if (cleaned.length === 10 && cleaned.startsWith('0')) { // Geographic with 2-digit area code: 020 123 4567 if (['020', '010', '070', '030', '040', '050'].includes(cleaned.slice(0, 3))) { return `${cleaned.slice(0, 3)} ${cleaned.slice(3, 6)} ${cleaned.slice(6)}`; } // Geographic with 3-digit area code: 0111 123 456 return `${cleaned.slice(0, 4)} ${cleaned.slice(4, 7)} ${cleaned.slice(7)}`; } // Default formatting for special numbers return cleaned; } function handlePhoneValidation(phoneNumber) { try { const cleaned = phoneNumber.replace(/[\s\-\(\)]/g, ''); // Remove formatting characters if (!/^0\d{9,}$/.test(cleaned)) { // Initial length check (minimum 9 digits) throw new Error('Invalid number length or format. Numbers must start with 0 and have at least 9 digits.'); } // Validate based on prefix if (cleaned.startsWith('06')) { if (!validateDutchPhoneNumber(cleaned, 'mobile')) { throw new Error('Invalid mobile number format. Valid prefixes are 061-065 and 068.'); } } else if (cleaned.startsWith('0800')) { if (!validateDutchPhoneNumber(cleaned, 'tollFree')) { throw new Error('Invalid toll-free number format.'); } } else if (cleaned.startsWith('090')) { if (!validateDutchPhoneNumber(cleaned, 'premiumRate')) { throw new Error('Invalid premium rate number format.'); } } else if (cleaned.startsWith('0')) { // Geographic numbers if (!validateDutchPhoneNumber(cleaned, 'geographic')) { throw new Error('Invalid geographic number format. Check the area code and subscriber number.'); } } else { throw new Error('Invalid number format. Numbers must start with 0.'); } return { isValid: true, formattedNumber: formatDutchPhoneNumber(cleaned) }; } catch (error) { return { isValid: false, error: error.message }; } } // Example usage console.log(handlePhoneValidation('020-1234567')); // Valid landline: { isValid: true, formattedNumber: '020 123 4567' } console.log(handlePhoneValidation('0612345678')); // Valid mobile: { isValid: true, formattedNumber: '06 1234 5678' } console.log(handlePhoneValidation('+31612345678')); // Invalid (missing leading 0 for domestic validation) console.log(handlePhoneValidation('0800-1234')); // Valid toll-free console.log(handlePhoneValidation('090012345')); // Valid premium rate console.log(handlePhoneValidation('12345')); // Invalid formatNetherlands Number Portability: How to Port Dutch Mobile and Landline Numbers
Number portability in the Netherlands allows you to switch telecom providers while keeping your existing phone number—whether it's a 06 mobile number or a geographic landline. The Dutch number porting system uses a recipient-led process (EU standard) where you initiate port requests through your new provider. This system ensures competition and consumer choice.
How to Port a Dutch Mobile Number (MNP)
Mobile Number Portability (MNP) in the Netherlands lets you transfer your 06 mobile number between providers. All Dutch carriers—including KPN, Odido, and VodafoneZiggo—support MNP for both prepaid and postpaid plans. Port completion times depend on when you submit your request:
Initiate porting requests through your new provider – the Netherlands follows the recipient-led approach standard across Europe. Some providers offer expedited emergency options.
Required Documents for Number Porting:
Porting Process:
Common Rejection Reasons:
Costs and Contract Implications: Number porting is typically free or low-cost (approximately €10/number for some international providers). Terminating your contract early may trigger early termination fees depending on your contract terms. Review your contract and clear all outstanding dues before porting. Business contracts may require 1-3 months' notice.
Fixed-Line Number Portability (FNP)
FNP covers both analog and digital lines nationwide, following the same 1-3 business day timeframe as mobile numbers. Geographic numbers must remain within their assigned area code – you cannot port a Rotterdam (010) number to Amsterdam (020). FNP delivers comparable service levels to MNP for in-area transfers.
Geographic Restrictions: Fixed-line numbers link to their geographic area codes. FNP fails when:
VoIP services using 085, 088, or 091 prefixes have no geographic restrictions – standard FNP rules apply.
Technical Implementation of Number Portability
The Netherlands uses a Central Reference Database (CRDB) managed by Vereniging COIN to track ported numbers and routing information. The CRDB contains:
Accessing the CRDB: Access the CRDB through COIN's Number Portability service. The system provides:
Integration Requirements:
Contact Vereniging COIN at +31 (0)182 690 074 for CRDB access.
Major Netherlands Telecom Providers: API Integration Guide
Three major operators dominate the Dutch telecommunications market in 2025, each offering developer APIs for SMS, voice, and number management:
KPN: Leads with 30-35% mobile market share by connections and 40% fixed broadband share (alongside VodafoneZiggo). Developer resources at developer.kpn.com include SMS API, Mobile Service Management API, and Internet Speed Check API.
Odido Netherlands: (Rebranded from T-Mobile Netherlands in September 2023) Holds 30-35% mobile share by connections and 40-45% by consumed minutes – the largest by usage. API catalogue at agile.api-dashboard.odido.nl covers logistics, mobile connect services, and OTT provisioning.
VodafoneZiggo: Third-largest mobile operator with 20-25% market share. Joint fixed broadband leader (40% share) with KPN. Developer information at vodafoneziggo.nl.
MVNOs: Mobile Virtual Network Operators collectively hold 10-15% market share and offer competitive alternatives.
Developer Portal Access:
API Capabilities Comparison:
Netherlands Phone Number API Integration Checklist
When integrating Dutch phone number validation and telecom APIs into your application, follow these best practices:
Best Practices for Netherlands Phone Number Handling
Keeping Up-to-Date with Dutch Telecom Regulations
Telecommunications regulations and technical requirements change regularly. Monitor these official sources:
2025 Enforcement Updates: As of July 1, 2025, the ACM intensified enforcement of telemarketing rules with mandatory compliance audits. Violations trigger administrative fines and periodic penalty payments. Ensure compliance with consent verification, transparent pricing disclosure, and call recording requirements.