Intl Test Data Generator: UK NINO, BE RRN, DE Steuer-ID avatar

Intl Test Data Generator: UK NINO, BE RRN, DE Steuer-ID

Pricing

from $0.60 / 1,000 generated-identifiers

Go to Apify Store
Intl Test Data Generator: UK NINO, BE RRN, DE Steuer-ID

Intl Test Data Generator: UK NINO, BE RRN, DE Steuer-ID

Generate checksum-valid test identifiers for UK/BE/DE software QA: UK National Insurance Numbers (HMRC-reserved ZZ prefix), Belgian Rijksregisternummer, German Steuer-ID, mod-97 IBANs and Visa/Mastercard/Amex sandbox card numbers — each record labeled with an explicit guarantee level.

Pricing

from $0.60 / 1,000 generated-identifiers

Rating

0.0

(0)

Developer

Dennis

Dennis

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

International Test Data Generator: UK NINO, BE RRN, DE Steuer-ID

Generate checksum-valid test identifiers for UK, Belgian and German software QA: UK National Insurance Numbers using HMRC's officially never-issued ZZ prefix, Belgian Rijksregisternummer (mod-97), German Steuer-ID (ISO 7064 MOD 11,10), mod-97-valid IBANs, and the same Visa/Mastercard/American Express sandbox card numbers used across this portfolio. Every record includes an explicit guarantee level — this actor never claims a stronger safety guarantee than what could actually be verified per country. 100% deterministic, pure computation — no scraping, no external calls at runtime.

⚠️ For test/development purposes only. These identifiers must never be used as a substitute for a real national ID/IBAN/credit card in production, and never for identity fraud. See the Legal section below — read it carefully, the guarantee level differs meaningfully by country.

When should an AI agent use this?

  • "Give me 10 valid test UK National Insurance Numbers I can use in a payroll integration's unit tests."
  • "Generate a Belgian Rijksregisternummer and a German Steuer-ID for testing my EU-wide KYC form's country-specific validation logic."
  • "I need reproducible international test IBANs for BE, DE and GB fixtures — use seed 42."
  • "Build me a full international test identity: NINO, IBAN and credit card, for a UK customer record in my e2e test suite."
  • "Does my Steuer-ID checksum validator work correctly? Give me a known-good example."
  • "I need 100 fake Belgian national ID numbers for a load test, but I want to know exactly how confident I can be that none of them belong to a real person."

What this Actor does

  • UK — National Insurance Number (NINO): always uses the ZZ prefix, which HMRC's own National Insurance Manual (NIM39110) explicitly documents as "not to be used" — the strongest guarantee of the three countries.
  • Belgium — Rijksregisternummer (RRN/INSZ): uses a structurally impossible birth date (30 or 31 February, which never exists on the Gregorian calendar) combined with a correctly computed mod-97 check digit. Weaker guarantee than UK — no official Belgian reserved test range could be confirmed to exist (see Legal section).
  • Germany — Steuerliche Identifikationsnummer (Steuer-ID): a correctly computed ISO 7064 MOD 11,10 checksum over 10 random digits. Weakest guarantee of the three — no official German test range could be confirmed either; only checksum validity is guaranteed (see Legal section).
  • IBAN: full mod-97-valid IBANs for Belgium and Germany (Belgium additionally gets a correct national BBAN check digit); a UK/GB IBAN is also available but clearly labeled — the UK does not use IBANs for domestic payments.
  • Credit card: the same official, publicly documented Visa/Mastercard/American Express sandbox numbers used across this portfolio (not country-specific).
  • Optional seed parameter for fully reproducible runs.

Guarantee levels — read this before using the output for anything sensitive

Country / fieldguaranteeLevelWhat it actually means
🇬🇧 UK NINOofficial-reserved-rangeHMRC's own manual explicitly states the ZZ prefix is "not to be used" — never issued to a real person. Strongest guarantee.
🇧🇪 BE Rijksregisternummerstructurally-impossible-dateUses 30/31 February, a calendar date that never exists — a logically sound but not officially government-labeled test convention. No official Belgian reserved test range was found. Weaker than UK.
🇩🇪 DE Steuer-IDchecksum-valid-onlyThe checksum is correctly computed, but no confirmed official test range exists. A checksum-valid Steuer-ID is not proven to be unissued. Weakest guarantee of the three national IDs.
BE / DE IBANchecksum-valid-onlyMod-97-valid, but no officially reserved "never-issued" bank code was found.
UK/GB IBANchecksum-valid-onlySame caveat, plus: the UK does not normally use IBANs domestically — only relevant for international/SEPA-style contexts.
Credit cardofficial-reserved-rangePublicly documented official sandbox numbers (Visa/Mastercard/Amex via Stripe and other certified processors).

Input

FieldTypeDescription
countriesarrayWhich countries to generate nationalId/iban records for: UK, BE, DE. Default: all three. Does not affect creditCard (not country-specific).
typesarrayWhich identifier types to generate: nationalId, iban, creditCard. Default: all three.
countintegerHow many identifiers to generate per selected type per selected country (creditCard is generated once in total, not per country). Default 10, max 10000.
creditCardNetworkarrayWhich card networks to draw from: visa, mastercard, amex. Default: all three.
seedintegerOptional. Set a fixed number to make repeated runs produce the exact same identifiers.

Output

One flat JSON record per generated identifier:

{
"type": "nationalId",
"country": "UK",
"value": "ZZ123456A",
"isValidChecksum": true,
"guaranteeLevel": "official-reserved-range",
"sourceRangeNote": "UK NINO met het ZZ-prefix — HMRC National Insurance Manual NIM39110 ..."
}
{
"type": "nationalId",
"country": "DE",
"value": "48127395606",
"isValidChecksum": true,
"guaranteeLevel": "checksum-valid-only",
"sourceRangeNote": "Duits Steuer-ID-vormig nummer, checksum-geldig volgens het officiële ISO 7064 MOD 11,10-kettingalgoritme ..."
}
FieldDescription
typeOne of the requested identifier types: nationalId, iban, creditCard
countryUK, BE or DE — omitted for creditCard (not country-specific)
valueThe generated identifier itself
isValidChecksumWhether the value passes the relevant checksum/format check for that type
guaranteeLevelSee the "Guarantee levels" table above — read this before treating the value as "safe"
sourceRangeNoteTransparency field: exactly which source/reasoning this value's safety claim rests on, including any relevant disclaimer

Use cases

  • Populate a UK payroll or benefits form's automated test suite with a safely never-issued NINO
  • Test a KYC/onboarding flow's country-specific national ID validation for BE and DE, with clear disclosure of how confident each generated value is
  • Generate reproducible international fixture data for CI pipelines (seed parameter)
  • Give an AI coding agent a reliable "tool" for producing valid international test data instead of letting it invent (possibly incorrect, possibly unsafe) checksum logic itself
  • Stress-test bulk-import/validation pipelines with syntactically valid IBANs across three countries

Pricing

Pay-per-event: $0.0006 per generated identifier (generated-identifier event), plus Apify's standard actor-start fee. Generating 30 identifiers across three countries (10 national IDs each) costs roughly $0.018.

  • UK NINO: uses exclusively the ZZ prefix, which HMRC's own National Insurance Manual (gov.uk/hmrc-internal-manuals/national-insurance-manual/nim39110) explicitly documents as "not to be used" for a real NINO. Highest-confidence national ID in this Actor.
  • BE Rijksregisternummer: no officially published Belgian reserved test range could be confirmed to exist, unlike the UK NINO or the RvIG BSN range used in this portfolio's nl-testdata-generator. This Actor instead uses a structurally impossible birth date (30/31 February) — a logically sound argument (no real person can have that birth date) but not a government-labeled test convention. Treat BE output as lower-confidence than UK.
  • DE Steuer-ID: no officially published German reserved test range could be confirmed either. Only the checksum algorithm is guaranteed correct. Two frequently-cited "example" numbers (from an official ELSTER/ITZBund illustration document) are explicitly excluded from this Actor's output, because that same official source states they must never be used for test or live transmissions — but the generated values themselves carry no stronger guarantee than "passes the checksum". This is the lowest-confidence identifier type in this Actor.
  • IBAN: bank codes used (BE/DE numeric, UK TEST prefix) are not confirmed to be officially reserved "never-issued" codes. A valid mod-97 checksum does not prove the account exists — never use for a real payment. The UK/GB IBAN is provided for international/SEPA-style testing only; the UK does not use IBANs for domestic payments.
  • Credit card: only the literal, publicly documented official sandbox numbers from Visa/Mastercard/American Express are used — never a self-constructed Luhn-valid number.
  • This Actor is intended exclusively for software testing and development purposes. Never use generated identifiers as a substitute for a real national ID, IBAN, or credit card in a production system, in a real financial transaction, or for identity fraud.

FAQ

Is the Belgian or German output as safe as the UK output? No. Read the "Guarantee levels" table above. Only the UK NINO rests on an explicit official "never issued" statement. BE and DE are weaker, clearly labeled guarantees — see the Legal section for the full reasoning.

Why does DE only get checksum-valid-only and not a reserved range like BSN/NINO? Because no official German test range could be found during research, and the two publicly cited "example" Steuer-IDs are explicitly marked by the official ELSTER source as never to be used for test/live purposes — so this Actor deliberately avoids treating either as a safe convention, and instead only guarantees checksum correctness.

Can I get the same identifiers again later? Yes — set the seed input field to any fixed number.

Does a duplicate credit card number across records mean something is broken? No — there are only 5 official sandbox numbers in total (across all 3 networks combined), so duplicates are expected once you request more results than that.


Keywords

NINO generator, national insurance number test, UK national insurance number generator, rijksregisternummer generator, INSZ nummer generator, belgisch rijksregisternummer test, steuer-id generator, steuerliche identifikationsnummer test, german tax id generator, iban generator, mod 97 checksum, luhn algorithm, credit card test numbers, qa test data, fixture data generator, international test identifier, MCP tool test data

Changelog

  • v0.1 (2026-08-25) — Initial release: UK NINO (HMRC ZZ prefix), BE Rijksregisternummer (structurally impossible date), DE Steuer-ID (checksum-valid-only), BE/DE IBAN (full mod-97), UK/GB IBAN (labeled, SEPA-context only), credit card (Visa/Mastercard/Amex sandbox numbers). Optional seed for reproducible runs. Every record carries an explicit guaranteeLevel.