Skip to main content
Banxico requiere que las consultas de CEP incluyan el código de banco emisor y receptor (5 dígitos cada uno). Para evitar que tengas que mantener esa tabla, los endpoints terminados en _auto infieren ambos valores automáticamente.

Reglas

1

Receptor desde la cuenta

Si la cuenta es CLABE de 18 dígitos, los 3 primeros dígitos identifican el banco con precisión 100% (catálogo clabe.BANKS).
2

Emisor desde la clave de rastreo

Algunos prefijos de clave_rastreo están mapeados a CLABE → código Banxico (EMISOR_PREFIX_TO_CLABE). Si hay match, lo usamos directamente.
3

Fallback: lista de candidatos

Si no podemos deducir el emisor por prefijo, probamos contra una lista corta de bancos comunes (CANDIDATE_EMISOR_CLABES) y devolvemos el primero que responda con un CEP válido.
4

Si nada funciona

Devolvemos 400 INFERENCE_FAILED indicando qué pieza falta. Tu cliente debe llamar el endpoint sin _auto con emisor (y opcionalmente receptor) explícitos.

Cuándo usar cada modo

CasoEndpoint recomendado
Tienes la CLABE del receptor (lo más común)/v1/cep/xml_auto o /v1/cep/pdf_auto
Tienes tarjeta (no CLABE)_auto igual; intentamos por candidatos
Conoces emisor + receptor (por integración previa)Versión sin _auto (más rápida, no hace reintentos)
Quieres PDF + XML en un solo request/v1/cep/zip_auto

Headers de trazabilidad

Las respuestas exitosas de _auto incluyen:
HeaderSignificado
X-Inferred-EmisorCódigo Banxico que dedujimos como emisor
X-Inferred-ReceptorCódigo Banxico que dedujimos como receptor
X-AttemptsCuántos candidatos probamos antes del hit (útil para debugging)
X-Date-UsedFecha exacta usada en la consulta a Banxico

Tabla de prefijos comunes

BANXICO 002  → BANAMEX
BANXICO 012  → BBVA
BANXICO 014  → SANTANDER
BANXICO 021  → HSBC
BANXICO 030  → BAJÍO
BANXICO 036  → INBURSA
BANXICO 058  → BANREGIO
BANXICO 072  → BANORTE
BANXICO 127  → AZTECA
BANXICO 137  → BANCOPPEL
BANXICO 138  → STP
BANXICO 646  → STP CLABE
El catálogo completo se mantiene en el backend Python; cualquier banco con prefijo CLABE estándar es soportado.