Free Developer Data API
Generate and validate developer utilities, country-specific test data, text transforms, hashes, dates, math helpers and QA fixtures. No API key required.
https://www.4devtool.com/apiQuick start
Public endpoints return JSON and are designed for QA, demos, testing, automation, fixtures, country-specific form testing and browser-based development workflows.
curl "https://www.4devtool.com/api/generate/uuid?count=3"const response = await fetch("https://www.4devtool.com/api/generate/uuid?count=3");
const data = await response.json();
console.log(data);Authentication
Authentication is not required. All public endpoints can be used without an API key.
Rate limits
Rate limits may be applied to protect service availability. Avoid excessive automated requests and cache responses when possible.
Responsible use
The API is intended for testing, QA, demos, development and automation. Generated values are for controlled test workflows, not real registrations, impersonation, financial activity or illegal use.
Examples by use case
- Generate UUIDs for test records
- Generate country-specific test documents for form QA
- Validate local identifier and banking formats before saving test data
- Build profile, company and address fixtures for demos
- Convert and transform text for development workflows
- Create hashes for QA fixtures
- Encode and decode Base64
- Calculate date differences for workflows
Argentina
8GET/generate/cbuGenerate Argentine CBU
Generate Argentine CBU
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cuilGenerate Argentine CUIL
Generate Argentine CUIL
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cuitGenerate Argentine CUIT
Generate Argentine CUIT
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/dni-arGenerate Argentine DNI
Generate Argentine DNI
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/cbuValidate Argentine CBU checksum
Validate Argentine CBU checksum
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/cuilValidate Argentine CUIL
Validate Argentine CUIL
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/cuitValidate Argentine CUIT
Validate Argentine CUIT
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/dni-arValidate Argentine DNI format
Validate Argentine DNI format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Brazil
12GET/generate/cepGenerate Brazilian CEP
Generate Brazilian CEP
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cnhGenerate Brazilian CNH-like value
Generate Brazilian CNH-like value
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cnpjGenerate Brazilian CNPJ
Generate Brazilian CNPJ
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cnpj-alphaGenerate Brazilian alphanumeric CNPJ (new format)
Generates a CNPJ with alphanumeric characters (A–Z, 0–9) in the 8-character base, as required by the new Brazilian legislation effective 2026. Check digits are computed with the same modulo-11 algorithm.
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/cpfGenerate Brazilian CPF
Generate Brazilian CPF
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/pisGenerate Brazilian PIS/PASEP-like value
Generate Brazilian PIS/PASEP-like value
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/rgGenerate Brazilian RG
Generate Brazilian RG
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/cepValidate Brazilian CEP format
Validate Brazilian CEP format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/cnhValidate Brazilian CNH format
Validate Brazilian CNH format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/cnpjValidate Brazilian CNPJ
Validate Brazilian CNPJ
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/cpfValidate Brazilian CPF
Validate Brazilian CPF
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/rgValidate Brazilian RG format
Validate Brazilian RG format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}France
6GET/generate/nirGenerate French NIR
Generate French NIR
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/sirenGenerate French SIREN
Generate French SIREN
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/siretGenerate French SIRET
Generate French SIRET
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/nirValidate French NIR key
Validate French NIR key
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/sirenValidate French SIREN
Validate French SIREN
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/siretValidate French SIRET
Validate French SIRET
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Germany
3GET/generate/plzGenerate German postal code
Generate German postal code
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/steueridGenerate German Steuer-ID
Generate German Steuer-ID
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/steueridValidate German Steuer-ID
Validate German Steuer-ID
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}India
12GET/generate/aadhaarGenerate Indian Aadhaar
Generate Indian Aadhaar
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/gstinGenerate Indian GSTIN-like value
Generate Indian GSTIN-like value
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/ifscGenerate Indian IFSC
Generate Indian IFSC
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/panGenerate Indian PAN
Generate Indian PAN
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/pin-codeGenerate Indian PIN code
Generate Indian PIN code
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/upiGenerate Indian UPI ID
Generate Indian UPI ID
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/aadhaarValidate Indian Aadhaar
Validate Indian Aadhaar
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/gstinValidate Indian GSTIN format
Validate Indian GSTIN format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/ifscValidate Indian IFSC format
Validate Indian IFSC format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/panValidate Indian PAN
Validate Indian PAN
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/pin-codeValidate Indian PIN code format
Validate Indian PIN code format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/upiValidate Indian UPI ID format
Validate Indian UPI ID format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Italy
4GET/generate/codicefiscaleGenerate Italian Codice Fiscale
Generate Italian Codice Fiscale
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/pivaGenerate Italian Partita IVA
Generate Italian Partita IVA
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/codicefiscaleValidate Italian Codice Fiscale
Validate Italian Codice Fiscale
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/pivaValidate Italian Partita IVA
Validate Italian Partita IVA
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Mexico
8GET/generate/clabeGenerate Mexican CLABE
Generate Mexican CLABE
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/curpGenerate Mexican CURP
Generate Mexican CURP
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/mx-postal-codeGenerate Mexican postal code
Generate Mexican postal code
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/rfcGenerate Mexican RFC
Generate Mexican RFC
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/clabeValidate Mexican CLABE checksum
Validate Mexican CLABE checksum
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/curpValidate Mexican CURP
Validate Mexican CURP
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/mx-postal-codeValidate Mexican postal code format
Validate Mexican postal code format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/rfcValidate Mexican RFC
Validate Mexican RFC
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Portugal
6GET/generate/ccptGenerate Portuguese citizen card-like value
Generate Portuguese citizen card-like value
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nifptGenerate Portuguese NIF
Generate Portuguese NIF
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nissGenerate Portuguese NISS-like value
Generate Portuguese NISS-like value
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/ccptValidate Portuguese citizen card format
Validate Portuguese citizen card format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/nifptValidate Portuguese NIF
Validate Portuguese NIF
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/nissValidate Portuguese NISS format
Validate Portuguese NISS format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Spain
6GET/generate/cifGenerate Spanish CIF
Generate Spanish CIF
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nieGenerate Spanish NIE
Generate Spanish NIE
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nifGenerate Spanish NIF
Generate Spanish NIF
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/cifValidate Spanish CIF format
Validate Spanish CIF format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/nieValidate Spanish NIE
Validate Spanish NIE
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/nifValidate Spanish NIF
Validate Spanish NIF
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Synthetic profiles
4GET/generate/addressGenerate a synthetic address by country
Generate a synthetic address by country
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/companyGenerate a synthetic company by country
Generate a synthetic company by country
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nameGenerate a localized name by country
Generate a localized name by country
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/personGenerate a synthetic person by country
Generate a synthetic person by country
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}UK
7GET/generate/ninoGenerate UK National Insurance Number
Generate UK National Insurance Number
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/postcodeGenerate UK postcode
Generate UK postcode
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/sort-codeGenerate UK sort code
Generate UK sort code
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/utrGenerate UK UTR
Generate UK UTR
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/ninoValidate UK National Insurance Number
Validate UK National Insurance Number
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/sort-codeValidate UK sort code format
Validate UK sort code format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/utrValidate UK UTR format
Validate UK UTR format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}Universal
27GET/calculate/gcd-lcmCalculate GCD and LCM
Calculate GCD and LCM
{
"value": 10,
"result": 5
}{
"success": false,
"error": "Invalid value"
}GET/calculate/percentageCalculate percentage values
Calculate percentage values
{
"success": true,
"data": {
"base": 200,
"percentage": 15,
"result": 30
}
}{
"success": false,
"error": "Invalid value"
}GET/date/addAdd days to a date
Add days to a date
{
"value": 10,
"result": 5
}{
"success": false,
"error": "Invalid value"
}GET/date/differenceCalculate difference between dates
Calculate difference between dates
{
"success": true,
"data": {
"startDate": "2026-05-01",
"endDate": "2026-05-18",
"days": 17,
"weeks": 2
}
}{
"success": false,
"error": "Invalid value"
}GET/decode/base64Decode Base64 to a string
Decode Base64 to a string
{
"value": "hello world"
}{
"success": false,
"error": "Invalid value"
}GET/decode/urlURL-decode a string
URL-decode a string
{
"value": "caf? com leite"
}{
"success": false,
"error": "Invalid value"
}GET/encode/base64Encode a string to Base64
Encode a string to Base64
{
"value": "aGVsbG8gd29ybGQ="
}{
"success": false,
"error": "Invalid value"
}GET/encode/urlURL-encode a string
URL-encode a string
{
"value": "caf%C3%A9%20com%20leite"
}{
"success": false,
"error": "Invalid value"
}GET/generate/credit-cardGenerate test credit card details
Generate test credit card details
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/ibanGenerate IBAN by country
Generate IBAN by country
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/loremGenerate placeholder text
Generate placeholder text
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/nicknameGenerate usernames or nicknames
Generate usernames or nicknames
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/passwordGenerate secure passwords
Generate secure passwords
{
"value": "f8V#pL29qTz4mA1s"
}{
"success": false,
"error": "Invalid value"
}GET/generate/random-numberGenerate random numbers in a range
Generate random numbers in a range
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/random-stringGenerate random strings
Generate random strings
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/ulidGenerate ULID identifiers
Generate ULID identifiers
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/uuidGenerate UUID v4
Generate UUID v4
{
"values": [
"6f1f4f70-7f1d-4c4c-9f65-9d7a7d2b4c11",
"0f3b2c8a-7f3e-4ad1-9c77-0c14a0f1d7ab",
"a2f3c9d4-12d1-43d0-8b3f-9dbfe1a1c204"
]
}{
"success": false,
"error": "Invalid value"
}GET/hashHash a value with SHA algorithms
Hash a value with SHA algorithms
{
"algorithm": "sha256",
"value": "b94d27b9934d3e08a52e52d7da7dabfade..."
}{
"success": false,
"error": "Invalid value"
}GET/transform/caseConvert text case
Convert text case
{
"value": "converted-result"
}{
"success": false,
"error": "Invalid value"
}GET/transform/html-entitiesEscape or unescape HTML entities
Escape or unescape HTML entities
{
"value": "converted-result"
}{
"success": false,
"error": "Invalid value"
}GET/transform/remove-accentsRemove accents from text
Remove accents from text
{
"value": "Integracoes e automacao"
}{
"success": false,
"error": "Invalid value"
}GET/transform/reverseReverse text
Reverse text
{
"value": "converted-result"
}{
"success": false,
"error": "Invalid value"
}GET/transform/slugConvert text to a URL slug
Convert text to a URL slug
{
"value": "guia-de-testes-de-api"
}{
"success": false,
"error": "Invalid value"
}GET/transform/sort-linesSort lines alphabetically
Sort lines alphabetically
{
"value": "converted-result"
}{
"success": false,
"error": "Invalid value"
}GET/transform/truncateTruncate text
Truncate text
{
"value": "converted-result"
}{
"success": false,
"error": "Invalid value"
}GET/validate/credit-cardValidate credit card number with Luhn
Validate credit card number with Luhn
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/ibanValidate IBAN with MOD-97
Validate IBAN with MOD-97
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}USA
6GET/generate/einGenerate US EIN
Generate US EIN
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/itinGenerate US ITIN
Generate US ITIN
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/generate/ssnGenerate US SSN
Generate US SSN
{
"values": [
"generated-value-1",
"generated-value-2"
]
}{
"success": false,
"error": "Invalid value"
}GET/validate/einValidate US EIN
Validate US EIN
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/itinValidate US ITIN format
Validate US ITIN format
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}GET/validate/ssnValidate US SSN
Validate US SSN
{
"value": "123456789",
"valid": true
}{
"success": false,
"error": "Invalid value"
}API FAQ
Is the 4DevTool API free?
Yes. Public endpoints are free to use for QA, demos, development, testing and automation.
Does the API require an API key?
No. Authentication is not required for the public endpoints documented on this page.
Can I use the API from the browser?
Yes. CORS is enabled so browser-based prototypes and QA utilities can call the API directly.
What can I generate with the API?
You can generate identifiers, hashes, text transformations, dates, country-specific test values, profiles, companies, addresses and validation responses for development workflows.
Should I use real secrets or production data?
No. Use safe examples, placeholders or non-production values when calling public endpoints from a browser, script or shared documentation.
Is there an OpenAPI specification?
Yes. The public OpenAPI JSON is available at /api-docs/openapi-public.json.