BYTETOOLS

BCRA Monetary Statistics API

Free Banco Central de la República Argentina API with no key: international reserves, policy rates, monetary base and exchange rate variables by id and date range.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the BCRA Monetary Statistics API?

The Banco Central de la República Argentina publishes its principal monetary variables through a free REST API with no key. Each variable has a numeric id and can be queried over a date range, returning dated values.

The BCRA's statistics API covers the numbers Argentine macro coverage actually revolves around — international reserves, the monetary base, policy rates, and the official exchange rate — behind one variable-id pattern. Listing every available variable takes a single call to the collection endpoint, which is the fastest way to discover ids rather than reading documentation.

Units are per-variable and are stated only in the variable catalogue, not in the data response, which is the main hazard. Variable 1, international reserves, is reported in **millions of US dollars**, so a value of 49,593 means roughly 49.6 billion. A number rendered without its unit is worse than no number, so fetch the catalogue once and cache the description alongside your series. Note also that the API is versioned aggressively: v3.0 now returns HTTP 410, and v4.0 is current.

Quick facts

Base URL
https://api.bcra.gob.ar/estadisticas/v4.0
Authentication
No key or registration required. Note that older API versions are retired with HTTP 410 rather than being redirected.
Rate limit
No documented limit. Most variables update daily on working days.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the BCRA Monetary Statistics API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. International reserves for the week to 20 August 2026

GET https://api.bcra.gob.ar/estadisticas/v4.0/monetarias/1?desde=2026-08-14&hasta=2026-08-20

curl
curl 'https://api.bcra.gob.ar/estadisticas/v4.0/monetarias/1?desde=2026-08-14&hasta=2026-08-20'
JavaScript (fetch)
const res = await fetch("https://api.bcra.gob.ar/estadisticas/v4.0/monetarias/1?desde=2026-08-14&hasta=2026-08-20");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://api.bcra.gob.ar/estadisticas/v4.0/monetarias/1?desde=2026-08-14&hasta=2026-08-20", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "status": 200,
  "metadata": {
    "resultset": {
      "count": 2,
      "offset": 0,
      "limit": 1000
    }
  },
  "results": [
    {
      "idVariable": 1,
      "detalle": [
        {
          "fecha": "2026-08-18",
          "valor": 49593.0
        },
        {
          "fecha": "2026-08-14",
          "valor": 49505.0
        }
      ]
    }
  ]
}

Parameters

ParameterTypeRequiredDescription
{idVariable}path segmentOptionalNumeric variable id. Omit it to list every available variable with its description and units. 1
desdequeryOptionalStart date in `YYYY-MM-DD`. 2026-08-14
hastaqueryOptionalEnd date in `YYYY-MM-DD`. 2026-08-20
limit / offsetqueryOptionalPaging controls. The default limit is 1000 records. 1000

Response fields

statusinteger
Application-level status code mirroring the HTTP status.
metadata.resultsetobject
`count`, `offset` and `limit` for the current page.
results[].idVariableinteger
The variable this block describes.
results[].detalle[].fechastring
Observation date in `YYYY-MM-DD`.
results[].detalle[].valornumber
The observation. Units come from the variable catalogue, not from this response — reserves are in millions of USD.

What you can build with the BCRA Monetary Statistics API

  • Track Argentine international reserves over a date range
  • Show the BCRA policy rate on a macro dashboard
  • Pull the official exchange rate variable alongside parallel-market quotes
  • Discover available series by calling the collection endpoint with no id

Common errors and how to fix them

410

You are calling a retired API version.

Fix: v3.0 is gone. Use `/estadisticas/v4.0/`; the BCRA removes old versions rather than redirecting them.

Empty `detalle` array

The date window covers only non-publication days.

Fix: Most variables publish on Argentine working days only. Widen the range.

Value looks implausible

The variable's unit was assumed rather than read.

Fix: Fetch the variable catalogue once and store `descripcion`, which states whether values are millions of dollars, percentages or index points.

TLS or certificate warnings

Some clients are strict about the government certificate chain.

Fix: Ensure your HTTP client has an up-to-date CA bundle rather than disabling verification.

BCRA Monetary Statistics API — frequently asked questions

Is the BCRA statistics API free?

Yes, it needs no key or registration. Be aware that the BCRA retires old versions outright — v3.0 returns HTTP 410 rather than redirecting to v4.0.

What units are the values in?

It varies by variable and is documented in the catalogue rather than in the data response. International reserves are in millions of US dollars; policy rates are annual percentages. Fetch the catalogue endpoint once and cache the descriptions.

How do I find the id for a variable?

Call the endpoint with no id. It returns every available variable with its id, description, category and series type, which is faster than searching the documentation.

How often do the series update?

Most update once per Argentine working day. Weekends and national holidays produce no observation at all, so a fixed seven-day window typically returns five rows or fewer.

Tools that pair with this API

BCRA Monetary Statistics is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.