Generate random, valid-format fake phone numbers for 30+ countries with a single GET request. Perfect for test fixtures, seed data and QA — no signup, no API key, no rate-limit gymnastics.
curl "https://freephonenum.com/api/generate-phone-numbers?country=us&count=3&format=e164"
| Param | Default | Description |
|---|---|---|
| country | US | 2-letter ISO code (US, GB, IN, DE, BR…). 30+ supported. |
| count | 5 | How many numbers to return (1-100). |
| format | e164 | e164 (+14155550132), intl, national, or plain. |
{
"country": "United States",
"country_code": "+1",
"format": "e164",
"count": 3,
"numbers": ["+14155550132", "+12027550148", "+13105550199"],
"disclaimer": "Randomly generated dummy data for testing only..."
}const res = await fetch(
'https://freephonenum.com/api/generate-phone-numbers?country=gb&count=10'
);
const { numbers } = await res.json();
console.log(numbers);import requests
r = requests.get("https://freephonenum.com/api/generate-phone-numbers",
params={"country": "in", "count": 20, "format": "national"})
print(r.json()["numbers"])$data = json_decode(file_get_contents( "https://freephonenum.com/api/generate-phone-numbers?country=de&count=5" ), true); print_r($data["numbers"]);
Prefer a widget over the API? Paste this snippet to embed the live generator on any page — your readers get a working tool, no code required:
<iframe src="https://freephonenum.com/embed/number-generator" width="100%" height="380" frameborder="0" loading="lazy" title="Fake Phone Number Generator"></iframe> <p>Free <a href="https://freephonenum.com/fake-phone-number-generator">Fake Phone Number Generator</a> by FreePhoneNum</p>
Live preview: