Validar una ID fiscal
La API Validar Identificación Fiscal lee un identificador tributario nacional (el RFC de México, el CPF o CNPJ de Brasil, el CUIT de Argentina, el EIN de Estados Unidos y decenas más) y confirma que cumple con la longitud, el patrón de caracteres y, cuando el país lo define, el dígito verificador propio de ese tipo de identificación. Está pensada para el momento anterior a que un identificador fiscal quede escrito en una factura, un registro de nómina o un expediente de KYC, cuando un error de formato todavía es barato de corregir.
Ejecutar — gratis
Corre en su navegador. Gratis y sin límite: sus datos no salen de esta página.
Por qué un patrón genérico no funciona
Cada país inventa su propia identificación fiscal desde cero, así que un validador que los trate a todos igual está condenado a equivocarse en algún lugar. El RFC mexicano combina letras del nombre de la persona con la fecha de nacimiento y una homoclave; el CPF y el CNPJ brasileños llevan cada uno dos dígitos verificadores calculados con su propio algoritmo ponderado; el CUIT argentino codifica un dígito verificador mediante módulo 11 sobre una cadena de once dígitos. Esta api validar identificacion fiscal mantiene un conjunto de reglas distinto por país y tipo de identificación, en lugar de forzar a todos los identificadores por la misma expresión regular, que es la única forma de atrapar un número realmente mal formado sin rechazar también uno válido que simplemente luce inusual.
Quién termina necesitando esto
Las plataformas de facturación que operan en América Latina deben acertar la identificación fiscal antes de generar siquiera el documento, ya que varias autoridades tributarias rechazan de plano el comprobante si el identificador está mal. Los sistemas de nómina y recursos humanos que dan de alta contratistas en distintos países necesitan la misma verificación para retenciones e informes. Los flujos de KYC y alta en fintechs y marketplaces la usan como primer filtro, barato, antes de un paso más pesado de verificación de identidad. Cualquiera que capture una identificación fiscal en un formulario y la guarde para usarla después está a un error de tecleo de un rechazo posterior que este endpoint está diseñado para prevenir.
El ciclo de la petición
Llame a POST /verify/tax-id con el identificador y el país, y la respuesta llega de inmediato con un task_id mientras la verificación en sí corre de forma asíncrona. El resultado indica si el formato es válido para el tipo de identificación de ese país, qué algoritmo de dígito verificador se aplicó cuando existe uno, y una razón clara cuando la validación falla. Una tarea que falla de plano se reintenta tres veces antes de devolver un error claro, y una tarea fallida jamás se cobra.
Un mosaico construido durante un siglo de administración tributaria
Las identificaciones fiscales nacionales no se diseñaron en conjunto; cada una se introdujo de forma independiente, muchas veces con décadas de diferencia, conforme las autoridades tributarias modernizaban sus propios registros, algunas desde mediados del siglo veinte y otras apenas en los últimos quince años con los mandatos de facturación digital. Esa historia independiente explica por qué los formatos divergen tanto en longitud, estructura y lógica de dígito verificador. Mantener reglas precisas para más de 40 países significa seguir la especificación propia de cada autoridad y no aproximar a partir de unos cuantos formatos conocidos.
Cómo encaja en flujos de alta y facturación
Como la respuesta es JSON estructurado entregado por webhook, se conecta directo a formularios de registro, motores de facturación y barridos periódicos de calidad de datos: validar una identificación fiscal en línea antes de generar un comprobante, condicionar el alta de un contratista a que la verificación pase, o correr la tabla de clientes existente contra el endpoint para marcar registros que conviene corregir antes de una auditoría. El acceso requiere saldo prepago, lo que mantiene el servicio rápido y libre de abuso, y cada verificación tiene un precio fijo publicado de $0.002 sin créditos empaquetados que conciliar.
Qué puede hacer con ella
Facturación en América Latina
Una plataforma de facturación valida el RFC o el CUIT de un cliente antes de generar el comprobante fiscal, evitando un rechazo de la autoridad tributaria por un identificador mal formado.
Alta de contratistas transfronterizos
Un sistema de nómina revisa el formato de la identificación fiscal nacional de un nuevo contratista en el registro, atrapando un dígito traspuesto antes de que llegue a un registro de retenciones.
Prefiltro de KYC en una fintech
Un flujo de alta valida el formato de la identificación fiscal como primer filtro rápido antes de enviar al solicitante a un paso más pesado de verificación de identidad, descartando temprano los casos obviamente mal capturados.
Limpieza de base de clientes
Un equipo financiero corre el campo de identificación fiscal almacenado contra el endpoint antes de la temporada de declaración, marcando registros que nunca coincidieron con el formato nacional correcto.
Preguntas frecuentes
¿Cómo valido una identificación fiscal con una API?
Envíe POST /verify/tax-id con el identificador y el país. La api validar identificacion fiscal devuelve un task_id de inmediato y entrega el resultado del formato a su webhook o a un enlace firmado al terminar la verificación.
¿Qué países y tipos de identificación cubre?
Más de 40 países, incluyendo el RFC de México, el CPF y el CNPJ de Brasil, el CUIT de Argentina, los formatos EIN y SSN de Estados Unidos y otras identificaciones fiscales nacionales, cada una revisada con sus propias reglas específicas.
¿Existe una capa gratuita para validar identificación fiscal?
La herramienta de arriba es gratis en su navegador. La API es de pago: cada llamada se descuenta de su saldo prepago de ForHosting KIT — se recarga desde $10.00 (no caduca), se paga el precio publicado de cada solicitud, y una llamada sin saldo devuelve HTTP 402. Sin suscripción, sin tokens, y una tarea fallida no se cobra.
¿Esto confirma que la identificación está registrada ante la autoridad fiscal?
No. Confirma que el identificador cumple el formato, la longitud y el dígito verificador correctos para su país y tipo. Confirmar el registro vigente ante una autoridad fiscal específica requiere el propio servicio de consulta de esa autoridad, que este endpoint no consulta.
¿Puedo validar identificaciones fiscales en lote?
Sí. Envíe cada identificador en su propio POST y las tareas corren en paralelo; cada petición se cobra por separado y una tarea fallida se reintenta y nunca se cobra.
¿Qué significa que falle el dígito verificador?
Significa que al menos un carácter del identificador no coincide con lo que espera el algoritmo de ese país dado el resto del número, casi siempre por un error de tecleo o un dígito copiado de la fuente equivocada.
¿Cómo se entregan los resultados?
De dos formas: un webhook firmado que enviamos a su servidor apenas termina la verificación, lo recomendado, o un enlace firmado válido por 24 horas que puede consultar cuando quiera.
¿Se conserva la identificación fiscal enviada después?
No. El identificador y su resultado se eliminan al cerrar la ventana de retención y jamás se usan para entrenar nada; los enlaces de entrega son firmados y caducan.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, y pronto desde nuestra app, el email y Telegram.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/verify/tax-id \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"items":["valor-1","valor-2"]}'const res = await fetch("https://api.kit.forhosting.com/verify/tax-id", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"items": [
"valor-1",
"valor-2"
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/verify/tax-id",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"items": [
"valor-1",
"valor-2"
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/verify/tax-id", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"items":["valor-1","valor-2"]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"items":["valor-1","valor-2"]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/verify/tax-id", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"items": [
"valor-1",
"valor-2"
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "verify.tax_id",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |