GET https://api.veriko.mx/v1/public/bin-lookup/{bin}

Resolver el banco emisor de un BIN

Audiencia
public

Resuelve el banco emisor SPEI de una tarjeta a partir de su BIN, contra el catálogo local bin_directory. Es una lectura pura (una consulta indexada a la base de datos, sin ninguna llamada de red externa): un BIN que no esté en el catálogo devuelve 404, nunca dispara una búsqueda contra servicios externos.

Acepta de 6 a 16 dígitos. Solo se usan los primeros 6-8 (estrategia de prefijo más largo: se intenta 8, luego 7, luego 6, y gana la coincidencia más específica). El BIN que aparece en la respuesta (data.id / data.attributes.bin) es el prefijo de 6-8 dígitos que coincidió — nunca el número completo que enviaste.

Privacidad: por conveniencia el endpoint acepta un número de tarjeta completo, pero solo necesita el BIN. Envía únicamente los primeros 6-8 dígitos siempre que puedas: un número de tarjeta completo (PAN) en la URL puede quedar registrado en logs intermedios (CDN, proxy) fuera del control de la API. El servicio nunca registra el valor recibido y la respuesta solo devuelve el BIN de 6-8 dígitos.

Anónimo permitido (mismo tipo de lectura de catálogo público, con rate-limit, que GET /v1/public/banks). El banxico_code devuelto es el código de 5 dígitos que va en bank_code al crear beneficiarios o en receptor al validar; es null cuando el emisor no es enrutable por SPEI (p. ej. Amex).

Parámetros
Parámetro Ubicación Tipo Obligatorio Descripción
bin * path string obligatorio

BIN o número de tarjeta (6 a 16 dígitos). Solo se usan los primeros 6-8; envía solo el BIN cuando sea posible.

Petición
curl -X GET 'https://api.veriko.mx/v1/public/bin-lookup/{bin}' \
  -H 'Authorization: Bearer mxcep_••••'

Ejemplo en Python — próximamente.

Ejemplo en JavaScript — próximamente.

Ejemplo en PHP — próximamente.

Respuesta 200 BinLookupResponse — BIN resuelto: banco emisor y metadatos de la tarjeta.
Campo Tipo Descripción
type * string

Tipo del recurso JSON:API.

id * string

BIN (6-8 dígitos) que coincidió en el catálogo.

attributes * object

Banco emisor y metadatos de la tarjeta asociados al BIN.

bin * string

BIN que coincidió (mismo valor que `id`; 6-8 dígitos).

bank_name * string

Nombre canónico Banxico del banco emisor.

banxico_code * string anulable

Código Banxico SPEI de 5 dígitos del banco emisor, o `null` cuando el emisor no es enrutable por SPEI (p. ej. Amex, vales).

card_brand string anulable

Red de la tarjeta (VISA, MASTERCARD, …), o `null` si se desconoce.

card_type string anulable

Tipo de tarjeta (CREDIT, DEBIT, PREPAID, …), o `null` si se desconoce.

card_level string anulable

Nivel/tier de la tarjeta (GOLD, PLATINUM, …), o `null` si se desconoce.

country_iso * string

País emisor en ISO-3166 alpha-2.

Códigos de respuesta GET /v1/public/bin-lookup/{bin}
Código Clase Descripción Cuerpo
200 2xx BIN resuelto: banco emisor y metadatos de la tarjeta. BinLookupResponse
404 4xx El recurso no existe o no es visible para el llamador Error
422 4xx Falló la validación de la petición ErrorResponse
429 4xx Límite de tasa excedido ErrorResponse
Errores de GET /v1/public/bin-lookup/{bin}
Código Clave Detalle
422 validation_error

The fecha field is required.

Envelope
source.pointer
/data/attributes/fecha
meta.request_id
e6f7a8b9c0d1
429 rate_limit_exceeded

Rate limit exceeded. Try again in 45 seconds.

Envelope
meta.request_id
f7a8b9c0d1e2
Cabeceras de respuesta
  • Retry-After : integer — Segundos a esperar antes de reintentar. Coincide con la ventana de rate-limit del endpoint (típicamente 60s para listas, 1-5s para operaciones idempotentes en vuelo).
  • X-RateLimit-Limit : integer — Límite de solicitudes configurado para este bucket (emitido sólo en 429).
  • X-RateLimit-Remaining : integer — Solicitudes restantes en la ventana actual — siempre 0 en el momento del 429 (emitido sólo en 429).
  • X-RateLimit-Reset : integer — Unix epoch absoluto (segundos) en que se reinicia la ventana. Emitido sólo en 429, junto con Retry-After. Puede existir sobreescritura por endpoint (p. ej. `rate_limited_login`).