{"uid":"cap_0fBHH0XCMoUxfQEAwLtvQ","slug":"duo-data-utilities-national-id-tax-company-number-validator-5987daac","name":"Duo Data Utilities – National ID / Tax / Company Number Validator","description":"Validate a national identity, tax or company registration number against its country's official checksum rule. Covers 23 countries including NL BSN, ES NIF/NIE/CIF, IT codice fiscale, FR SIREN/SIRET, DE Steuer-ID, BE/PL/CZ national numbers, SE/NO/DK/FI personal numbers, BR CPF/CNPJ, AU ABN/TFN, UK NINo, IE PPS, US NPI/EIN. Structure and check digit only — no registry lookup; the number itself is never stored (logs keep only its length and character types).","url":"https://api.duoleads.com/v1/id/national?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["country","kind","value"],"properties":{"kind":{"type":"string","maxLength":32,"description":"Identifier type for that country, e.g. bsn, nif, cf, cpf."},"value":{"type":"string","maxLength":64,"description":"The identifier. Separators (space . - /) are stripped before checking."},"country":{"type":"string","maxLength":16,"description":"ISO 3166-1 alpha-2 country code, case-insensitive. One of the 23 supported countries; the United Kingdom is accepted as UK or GB (the response echoes what you sent)."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["ok","route","version","data","meta"],"properties":{"ok":{"const":true},"data":{"type":"object","required":["valid","country","kind","algorithm","normalised","formatted","reason","derived"],"properties":{"kind":{"type":"string"},"valid":{"type":"boolean"},"reason":{"type":["string","null"]},"country":{"type":"string"},"derived":{"type":"object","properties":{"sex":{"type":"string"},"birth_date":{"type":"string"},"birth_month":{"type":["number","null"]},"birth_year_yy":{"type":"string"},"birthplace_code":{"type":"string"},"century_assumed":{"type":"boolean"},"department_code":{"type":"string"}}},"algorithm":{"type":"string"},"formatted":{"type":["string","null"]},"normalised":{"type":["string","null"]}}},"meta":{"type":"object","required":["request_id","computed_at","price_usd","deterministic","disclaimer"],"properties":{"sources":{"type":"array","items":{"type":"object","required":["id","version","published"]}},"price_usd":{"type":"string"},"disclaimer":{"type":"string"},"request_id":{"type":"string"},"computed_at":{"type":"string","description":"RFC 3339 UTC with milliseconds"},"deterministic":{"type":"boolean"}}},"route":{"const":"/v1/id/national"},"version":{"type":"string"}}}}}}},"responseSchema":{"type":"json","example":{"ok":true,"data":{"kind":"bsn","valid":true,"reason":null,"country":"NL","derived":{},"algorithm":"elfproef-11","formatted":"111.222.333","normalised":"111222333"},"meta":{"price_usd":"0.05","disclaimer":"Factual output of a deterministic computation over public data. Provided as is, with no warranty of accuracy, completeness or availability. Not investment, financial, legal, tax, medical or any other professional advice, and not a recommendation. Verify before relying on it. Terms: https://api.duoleads.com/terms","request_id":"01K6B7Q4ZC8H3F2M9WXR5TYN0D","computed_at":"2026-09-28T12:00:00.000Z","deterministic":true},"route":"/v1/id/national","version":"1.0.0"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_yNsk0oDPkMpZclKtS219O","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates a national identity, tax, or company registration number against its country's official checksum algorithm — structure and check-digit only, no registry lookup or personal data stored.","exampleAgentPrompt":"Can you check whether the Dutch BSN number '111222333' is structurally valid — just the checksum, no registry lookup?","exampleUseCases":[{"title":"KYC onboarding form validation","prompt":"A user just entered their Italian codice fiscale 'RSSMRA85M01H501Z' on our signup form — can you validate whether it passes the official checksum rules before we submit the form?"},{"title":"Tax ID compliance check for invoicing","prompt":"Before I generate this invoice, can you verify that the French SIRET number '73282932000074' is structurally correct using the official Luhn check?"},{"title":"Bulk CPF validation in Brazil","prompt":"I have a Brazilian CPF '123.456.789-09' from a new supplier — can you run it through the CPF checksum algorithm and tell me if it's valid and what the normalised form looks like?"}],"resultDescription":"Returns a JSON object with a `valid` boolean, optional `reason` string explaining any failure, the `normalised` (stripped) form, the `formatted` canonical form, the `algorithm` name used (e.g. elfproef-11), any `derived` fields extracted from the number, plus standard `meta` including request ID, timestamp, price, and deterministic flag.","failureModes":["Unsupported country code returns an error indicating the country is not in the 23 supported list","Unknown `kind` for a given country returns a validation error","Malformed or empty `value` field returns a structural error before checksum evaluation","Network or gateway errors return HTTP 4xx/5xx with no validation result","Payment failure (x402) blocks the request before any computation"],"whenToPreferThis":"Choose this endpoint when you need a fast, deterministic, offline-style checksum validation of a national ID or tax number — it covers 23 countries and explicitly makes no registry call, stores no personal data, and returns a normalised and formatted form alongside the validity result. Prefer it over full KYC or registry-lookup services when you only need structural correctness (e.g. for form validation, deduplication, or pre-screening before an expensive registry call).","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-02T03:53:54.787Z","isFirstParty":false,"canonicalSlug":"duo-data-utilities-national-id-tax-company-number-validator-5987daac"}