Vietnamese Fake Data API
Realistic Vietnamese test data: names, addresses on the 2025 map, mobile numbers by network, CCCD and tax codes with a valid structure, companies, bank accounts.
The fake data API generates realistic Vietnamese records for tests, demos and seeding databases: full names split into family, middle and given name (family names weighted by their real frequency, gender-appropriate middle names), birthdays, emails, mobile numbers with real prefixes of Viettel, Vinaphone, MobiFone, Vietnamobile and Gmobile, and addresses made of a street with a real phường / xã and province of the 2025 administrative map, with postal codes.
fields=all adds CCCD numbers consistent with the person (province code, century and gender digit, birth year), 10-digit tax codes with a correct check digit, companies, job titles, bank accounts at real banks with the account name in capitals, usernames and UUIDs. Up to 1,000 records per call; format=csv downloads them as CSV. The same seed always gives the same data, so tests stay reproducible.
Nothing is copied from real people. Emails use the reserved example.com / .net / .org domains; CCCD numbers and tax codes only have a valid structure and are labelled as fake. Do not use them as real identity documents.
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
count | body|query | number | no | 10 | Number of records (1–1000). |
fields | body|query | string | no | name,gender,birthday,email,phone,address | Comma list: name, gender, birthday, email, phone, address, cccd, tax_code, company, job, bank_account, username, uuid, or all. |
seed | body|query | string | no | Seed for reproducible data. | |
gender | body|query | string | no | any | any, male or female. |
min_age | body|query | number | no | 18 | Minimum age. |
max_age | body|query | number | no | 65 | Maximum age. |
format | body|query | string | no | json | json or csv. |
Example
curl "https://apibox.io.vn/v1/fake-data?count=1&seed=abc" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/fake-data?count=1&seed=abc', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/fake-data?count=1&seed=abc",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/fake-data?count=1&seed=abc');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"seed": "abc",
"count": 1,
"fields": [
"name",
"gender",
"birthday",
"email",
"phone",
"address"
],
"note": "Fake data for testing. Emails use reserved example domains; CCCD and tax codes only have a valid structure and must not be used as real documents.",
"data": [
{
"name": "Nguyễn Minh Hà",
"family_name": "Nguyễn",
"middle_name": "Minh",
"given_name": "Hà",
"gender": "female",
"birthday": "2003-12-18",
"age": 23,
"email": "ha.nguyen26@example.com",
"phone": "0923091759",
"phone_e164": "+84923091759",
"carrier": "Vietnamobile",
"address": {
"street": "269/30 Nguyễn Thị Minh Khai",
"ward": "Xã Tân Đông",
"ward_code": "25522",
"province": "Tỉnh Tây Ninh",
"province_code": "80",
"postal_code": "80311",
"full": "269/30 Nguyễn Thị Minh Khai, Xã Tân Đông, Tỉnh Tây Ninh"
}
}
]
}
Use cases
- Seed staging databases with realistic Vietnamese records
- UI demos and screenshots without real customer data
- Test validation of names, phones, addresses and IDs
- Load tests with reproducible datasets (seed)
FAQ
Are the CCCD numbers real?
They are random numbers with a valid structure (they pass the vn-id check) and are consistent with the generated person. They are not looked up anywhere; a random number can by chance match a real one, so never treat them as real documents.
Can I get the same data again?
Yes: pass the same seed, count and fields. Without a seed a random one is generated and returned in the response.
Are addresses real?
Wards, provinces and postal codes are real (after the 2025 merger); street names are common street names and house numbers are random, so the combination is usually not a real address.
Related APIs
Webhook Tester
Create a unique URL that captures every HTTP request sent to it – method, headers, query and body – then inspect them in the browser or via API.
{?}JSON Schema Mock Data
Generate realistic sample JSON from a JSON Schema (types, formats, enums, patterns, ranges, $ref, oneOf / allOf), validated against the schema.
◧Image Diff
Compare two images pixel by pixel (perceptual colour distance, anti-aliasing aware) and get the share of changed pixels, the changed area and a highlighted diff image.