Synthetic test records

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

CHF 0.005 / callCall itTry it
Nested cup weights, 1652–1698
Nested cup weights1652–1698

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

REST
curl -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 name
test_data

After 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
    }
  ]
}

More in Test data