Synthetic test records
Generate realistic fake records for software tests and demos: people, companies, addresses, invoices, bank transactions, products or orders, for one country.

Details
Countries: CH, DE, AT, FR, IT, GB, US, ES, NL. Names, towns, postcodes, phone formats, VAT rates and currencies follow the country.
Safe by design: emails use the reserved example.com/.org/.net domains; phone numbers use official fictional ranges where they exist (GB, US, FR); cards are public test card numbers; EAN codes use the in-store prefix 20; no national ID numbers. IBANs, Swiss QR references and RF references have valid check digits so validators accept them, but never send money to them.
Deterministic: the same seed returns the same records. Up to 1000 records per call.
Price: CHF 0.005 per call (first 100 calls per day free).
Example: {"type":"invoice","country":"CH","count":1,"seed":42} → one invoice in CHF with 8.1% VAT, a QR reference and 5-centime rounding.
Call it
RESTcurl -X POST https://api.tausendwerk.xyz/v1/test-data \
-H "Content-Type: application/json" \
-d '{"type":"invoice","country":"CH","count":1,"seed":42}'MCP tool nametest_dataAfter the free 100 calls per day, add a key: Authorization: Bearer tw_live_…. Pricing
Try it
Runs against the live API with the free allowance.
Input schema JSON Schema
{
"type": "object",
"additionalProperties": false,
"required": [
"type"
],
"properties": {
"type": {
"type": "string",
"enum": [
"person",
"company",
"address",
"invoice",
"transaction",
"product",
"order"
]
},
"country": {
"type": "string",
"enum": [
"CH",
"DE",
"AT",
"FR",
"IT",
"GB",
"US",
"ES",
"NL"
],
"default": "CH"
},
"count": {
"type": "integer",
"minimum": 1,
"maximum": 1000,
"default": 10
},
"seed": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295,
"description": "Same seed, same records. Omit for random."
}
},
"examples": [
{
"type": "invoice",
"country": "CH",
"count": 1,
"seed": 42
}
]
}