Este API REST remplaza la funcionalidad del servicio SOAP "DgieWS" ubicado en: http://www.banxico.org.mx/DgieWSWeb/DgieWS?WSDL Series de tiempo

El API del Sistema de Información Económica, establece un conjunto de límites al número de consultas que se puede realizar por token de consulta. Estos límites se establecen por ventana de tiempo y por consultas diarias. Existen 2 ventanas de tiempo: de 1 minuto, para consultas de datos oportunos y metadatos de las series, y de 5 minutos para consulta de datos históricos.


Tipo de consulta Ventana de tiempo Límite diario Recursos relacionados
Oportuna Máximo 80 consultas en 1 minuto 40,000 consultas por día GET series
GET series/:idSerie
GET series/:idSerie/datos/oportuno
Histórica Máximo 200 consultas en 5 minutos 10,000 consultas por día GET series/:idSerie/datos
GET series/:idSerie/datos/:fechaIni/:fechaFin

Por ejemplo si se requieren los metadatos de una serie, sólo se pueden realizar 80 consultas dentro de un periodo de un minuto. De forma similar aplica para las consultas históricas, si se solicitan todos los datos de un grupo de series, sólo se pueden realizar 200 peticiones en una ventana de 5 minutos. También se debe considerar que no se debe superar el límite diario establecido.


Bloqueo de token

En caso de que se supere el límite definido, ya sea para datos oportunos o históricos, el token utilizado para las consultas será bloqueado hasta que concluya la ventana de tiempo. En caso de superar el límite diario, el token será bloqueado hasta que concluya el día natural en que iniciaron las consultas (Hora de la CDMX). El bloqueo se lleva acabo sólo para la categoría en la cual se superaron los límites, es decir, si se superó el número de consultas para los datos históricos, el token en cuestión no podrá recuperar más datos históricos, pero si estarán disponibles los datos oportunos.


Cuando se supera el límite de consultas el API devuelve un código de estatus 400 y en el cuerpo de la respuesta se encuentran los campos "timeReset", que representa la fecha en segundos en la cual se desbloqueará el token, y "secondsToReset" que representa la cantidad de segundos que faltan para que se realice el desbloqueo del token. Adicionalmente se devuelven los encabezados "Bmx-timeReset" y "Bmx-secondsToReset", que contienen la misma información de los parámetros anteriormente mencionados.

A continuación se muestra un ejemplo de este tipo de respuesta.


Bmx-timeReset: 1482879987
Bmx-secondsToReset: 55
{
  "error": {
    "mensaje": "Límite de consultas superado.",
    "detalle": "El límite de consultas ha sido superado. Podrá volver a consultar el servicio a las 2022-12-27 17:06:27 America/Mexico_City",
    "timeReset": 1482879987,
    "secondsToReset": 54
  }
}

Para evitar bloqueos indeseados en la consulta de información, es recomendable que las aplicaciones cliente consulten la información deseada y la almacenen en un cache. No es recomendable, por ejemplo, que cada vez que se consulte una página web esta realice una petición al API, ya que de esta forma puede ser muy fácil que se superen los límites de consulta y que el sitio web cliente deje de funcionar correctamente.