API de Generador de Documentos

Genera DNI, NIE, NIF, CIF e IBAN de forma programática para tus aplicaciones

¿Qué es esta API?

Esta API te permite generar documentos de identidad españoles (DNI, NIE, NIF, CIF) e IBAN de forma programática para tus aplicaciones. Es ideal para:

  • Desarrollo y pruebas de aplicaciones que requieren estos documentos
  • Generación de datos de prueba para bases de datos
  • Validación de formularios y sistemas de verificación
  • Educación sobre los algoritmos de validación de documentos oficiales
Límites de uso

Para garantizar un servicio estable para todos los usuarios, se aplica un límite de 100 llamadas diarias.

Endpoints disponibles
GET POST /api/generate.php?type=generador-dni

Genera un DNI español válido.

GET POST /api/generate.php?type=generador-nie

Genera un NIE (Número de Identidad de Extranjero) válido.

GET POST /api/generate.php?type=generador-nif

Genera un NIF (Número de Identificación Fiscal) válido.

GET POST /api/generate.php?type=generador-cif

Genera un CIF (Código de Identificación Fiscal) válido para empresas.

GET POST /api/generate.php?type=generador-iban

Genera un IBAN (International Bank Account Number) válido.

Ejemplos de uso
Ejemplo básico (GET)
curl "https://tudominio.com/api/generate.php?type=generador-dni"
Con opciones (POST)
curl -X POST "https://tudominio.com/api/generate.php" \
    -H "Content-Type: application/json" \
    -d '{
        "type": "generador-dni",
        "options": {
            "initialLetter": "Z",
            "excludeLetters": ["A", "B", "C"],
            "format": "spaces",
            "quantity": 3
        }
    }'
Ejemplo con PHP
<?php
// Método GET
$url = 'https://tudominio.com/api/generate.php?type=generador-dni';
$response = file_get_contents($url);
$data = json_decode($response, true);
echo $data['result'];

// Método POST con opciones
$url = 'https://tudominio.com/api/generate.php';
$options = [
    'type' => 'generador-dni',
    'options' => [
        'initialLetter' => 'Z',
        'excludeLetters' => ['A', 'B', 'C'],
        'format' => 'spaces',
        'quantity' => 3
    ]
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($options));
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);
?>
Ejemplo con Python
import requests
import json

# Método GET
url = "https://tudominio.com/api/generate.php"
params = {"type": "generador-dni"}
response = requests.get(url, params=params)
data = response.json()
print(data["result"])

# Método POST con opciones
url = "https://tudominio.com/api/generate.php"
payload = {
    "type": "generador-dni",
    "options": {
        "initialLetter": "Z",
        "excludeLetters": ["A", "B", "C"],
        "format": "spaces",
        "quantity": 3
    }
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, data=json.dumps(payload), headers=headers)
data = response.json()
print(data)
Ejemplo con JavaScript (Fetch API)
// Método GET
fetch('https://tudominio.com/api/generate.php?type=generador-dni')
    .then(response => response.json())
    .then(data => {
        console.log(data.result);
    })
    .catch(error => console.error('Error:', error));

// Método POST con opciones
const options = {
    method: 'POST',
    headers: {
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        type: 'generador-dni',
        options: {
            initialLetter: 'Z',
            excludeLetters: ['A', 'B', 'C'],
            format: 'spaces',
            quantity: 3
        }
    })
};

fetch('https://tudominio.com/api/generate.php', options)
    .then(response => response.json())
    .then(data => {
        console.log(data);
    })
    .catch(error => console.error('Error:', error));
Parámetros disponibles
Parámetros para generador-dni
Parámetro Tipo Descripción
initialLetter String Letra deseada para el DNI (opcional)
excludeLetters Array Letras a excluir del resultado (opcional)
format String Formato de salida: "none", "spaces", "dashes" (opcional)
quantity Integer Cantidad de DNIs a generar (opcional, por defecto 1)
Parámetros para generador-iban
Parámetro Tipo Descripción
country String Código de país (opcional, por defecto "ES")
Respuestas de la API
Respuesta exitosa
{
    "result": "12345678Z",
    "details": {
        "number": "12345678",
        "letter": "Z",
        "algorithm": "MOD23",
        "validity": "Válido para pruebas"
    }
}
Respuesta con múltiples resultados
{
    "results": [
        {
            "result": "12345678Z",
            "details": {
                "number": "12345678",
                "letter": "Z",
                "algorithm": "MOD23",
                "validity": "Válido para pruebas"
            }
        },
        {
            "result": "87654321X",
            "details": {
                "number": "87654321",
                "letter": "X",
                "algorithm": "MOD23",
                "validity": "Válido para pruebas"
            }
        }
    ]
}
Respuesta de error
{
    "error": "Tipo de generador no válido"
}