Phone Number Parser and Formatter (Bulk)
Pricing
$0.50 / 1,000 results
Go to Apify Store

Phone Number Parser and Formatter (Bulk)
Normalize phone numbers pasted into a text area. In bulk. Fast. Cheap. Clean.
Pricing
$0.50 / 1,000 results
Rating
0.0
(0)
Developer

Luca S.
Maintained by Community
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Share
📞 Phone Number Normalizer (Apify Actor)
Normalize, validate, and format phone numbers in bulk. Paste a list of numbers, choose your default region and output formats, and the actor returns a clean dataset item per token—ready for CRM imports, outreach tools, or data cleanup.
✨ What this actor does
- Extracts phone numbers from each line (also splits by comma, semicolon, pipe, or tab).
- Validates numbers using
libphonenumber-js. - Formats numbers into the output styles you choose (e.g.,
E164,INTERNATIONAL). - Keeps a stable output schema for downstream automation.
🧾 Input (Apify UI / API)
The actor accepts exactly these fields:
| Field | Type | Default | Description |
|---|---|---|---|
numbersText | string (textarea) | — | Multi-line text with phone numbers. Each line is split by comma (,), semicolon (;), pipe (|), or tab (\t). |
defaultRegion | string | US | ISO-2 country code used when numbers do not include a country calling code. |
outputFormats | array | ["E164"] | Output formats to include: E164, INTERNATIONAL, NATIONAL, RFC3966. |
Example input
{"numbersText": "+1 (212) 555-0100 x12\n0049 (0)30 1234567 ext 99\n030/1234567","defaultRegion": "US","outputFormats": ["E164", "INTERNATIONAL", "RFC3966"]}
📦 Output (Dataset items)
Each token produces one dataset item, even if it is empty after cleaning.
{"input": "0049 (0)30 1234567 ext 99","country": "DE","formats": {"E164": "+49301234567","INTERNATIONAL": "+49 30 1234567"}}
🧠 Parsing notes
- Default region behavior: If a token has no country calling code, it is parsed using
defaultRegion. - Extension handling: The actor extracts extensions from
ext 12,x12,#12,extension 12, andDurchwahl 12.
🔌 API usage
curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~YOUR_ACTOR/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"numbersText": "+1 (212) 555-0100 x12\n0049 (0)30 1234567 ext 99","defaultRegion": "US","outputFormats": ["E164", "INTERNATIONAL"]}'
✅ Typical user workflow
- Paste a list of phone numbers from spreadsheets or CRM exports.
- Run the actor in Apify.
- Download clean, normalized formats for imports or verification.
🛠️ Troubleshooting tips
- Make sure
numbersTextis not empty; every line is processed. - If numbers without country codes are mis-parsed, set the correct
defaultRegion. - Include
RFC3966if you needtel:URI output.