✅ ValidaLatam Todas las guías · API docs · RapidAPI · EN

Cómo validar un RFC (México)

Cómo funciona el dígito verificador

El RFC tiene 13 caracteres (persona física) o 12 (persona moral): letras, fecha AAMMDD, homoclave de 2 caracteres y dígito verificador. La API valida formato y fecha, y calcula el DV:

  1. Tomá los primeros 11 o 12 caracteres; si es persona moral, agregá un espacio a la izquierda para llegar a 12.
  2. Convertí cada carácter con la tabla del SAT: 0–9 → 0–9, A–N → 10–23, & → 24, O–Z → 25–36, espacio → 37, Ñ → 38.
  3. Multiplicá por los pesos 13, 12, …, 2 y sumá.
  4. r = 11 − (suma mod 11): si r = 11 el DV es 0, si r = 10 es A, si no es r.

Los RFC genéricos XAXX010101000 y XEXX010101000 se aceptan.

Validar con la API

Uso directo gratis: 50 requests por IP por día, sin registro. Endpoints: POST /validate, POST /batch, GET /generate/{doc_type} (solo para pruebas: datos sintéticos, no son identidades reales).

curl

curl -X POST "https://validalatam.ia-latam.app/validate" -H "Content-Type: application/json" \
  -d '{"type":"MX_RFC","value":"UKUS790523S70"}'

# synthetic test data only / solo para pruebas
curl "https://validalatam.ia-latam.app/generate/MX_RFC"

Python

import requests

BASE = "https://validalatam.ia-latam.app"

r = requests.post(f"{BASE}/validate", json={"type": "MX_RFC", "value": "UKUS790523S70"})
print(r.json()["valid"], r.json()["formatted"])

Respuesta real de la API (valor sintético de /generate)

UKUS790523S70 (MX_RFC):

{"valid":true,"type":"MX_RFC","country":"MX","input":"UKUS790523S70","normalized":"UKUS790523S70","formatted":"UKUS790523S70","error":null,"details":{"entity":"person"}}

Planes

Para producción: Basic gratis (500 req), Pro US$ 9, Ultra US$ 29 y Mega US$ 99 por mes en RapidAPI.

Para asistentes de IA (MCP)

pip install validalatam-mcp

github.com/elmatis172/validalatam-mcp

← Todas las guías · Contacto: faucolabs@gmail.com