MT2 Datalake · data API
Brazil's economic and market data, one API away
Validated time series from the central bank, IBGE, foreign trade, energy and more. Collected, checked and kept current, so your models start from clean data.
Get API accessBrowse the catalog
- 2195open series in the catalog
- 11public sources
- 1API, one auth, one format
$ curl datalake.mt2data.cloud/catalog -H "Authorization: Bearer …"
{
"files": [
{ "Symbol": "BcbSelicMensalAnualizada",
"Description": "Interest rate - Selic accumulated in the month annualized base 252",
"Source": "BCB" },
{ "Symbol": "BcbFocusIpcaExp12MAhead",
"Description": "BCB Focus Survey - Median Expectation - IPCA (12 Months Ahead, % p.a.)",
"Source": "BCB" }
],
"count": 2195
}- BCB
- IBGE
- IPEA
- Comexstat
- EPE
- ANP
- ONS
- Senatran
- ANTT
- World Bank
- INMET
Why a datalake
Stop rebuilding the same downloads
- 01
Collected
Each source fetched on its own schedule. No scrapers to maintain, no broken spreadsheets.
- 02
Validated
Every new value goes through a validation gate before it's published. Gaps and breaks are flagged, not passed on.
- 03
Indexed
One catalog with a stable symbol, description and source for every series, in English and Portuguese.
- 04
In production
The same data feeds MT2's forecasting models for steel, automotive and agricultural machinery manufacturers.
Catalog
Explore the series
Search by name, symbol or topic. These are the series available today; values come through the API.
2195 series
BcbSelicMensalAnualizadaBCBBcbFocusIpcaExp12MAheadBCBIbgeInflationIpcaClothingMoMIBGEIbgeInflationIpcaComunicMoMIBGEBcbInflationIgpmIpcm12MAccummBCBBcbInflationIgpmIpcmMoMBCBBcbInflationIpcaCoreDoubleWeightedMoMBCBIbgeInflationIpcaEducMoMIBGEBcbInflationIpcaCoreEx0MoMBCBBcbInflationIpcaCoreEx3MoMBCBBcbInflationIpcaCoreTrimmedMeansMoMBCBIbgeInflationIpcaFoodBvgMoMIBGEAPI
Three calls from credentials to data
- 1
Authenticate
OAuth 2.0 client credentials. A token lasts an hour.
- 2
Find the series
/catalog lists every symbol you can access, in about a second.
- 3
Download
/download/{symbol} returns the full history as CSV.
# 1 · token
TOKEN=$(curl -s https://datalake.mt2data.cloud/oauth/token \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"$ID","client_secret":"$SECRET"}' \
| jq -r .access_token)
# 2 · what can I read?
curl -s https://datalake.mt2data.cloud/catalog -H "Authorization: Bearer $TOKEN" | jq '.files[:3]'
# 3 · full history as CSV
curl -s https://datalake.mt2data.cloud/download/BcbSelicMensalAnualizada -H "Authorization: Bearer $TOKEN" -o BcbSelicMensalAnualizada.csvimport io, requests, pandas as pd
API = "https://datalake.mt2data.cloud"
token = requests.post(f"{API}/oauth/token", json={
"grant_type": "client_credentials",
"client_id": ID, "client_secret": SECRET,
}).json()["access_token"]
auth = {"Authorization": f"Bearer {token}"}
catalog = requests.get(f"{API}/catalog", headers=auth).json()["files"]
csv = requests.get(f"{API}/download/BcbSelicMensalAnualizada", headers=auth).text
df = pd.read_csv(io.StringIO(csv))library(httr2)
api <- "https://datalake.mt2data.cloud"
token <- request(paste0(api, "/oauth/token")) |>
req_body_json(list(grant_type = "client_credentials",
client_id = id, client_secret = secret)) |>
req_perform() |> resp_body_json()
auth <- \(req) req_auth_bearer_token(req, token$access_token)
catalog <- request(paste0(api, "/catalog")) |> auth() |> req_perform() |> resp_body_json()
df <- request(paste0(api, "/download/BcbSelicMensalAnualizada")) |> auth() |>
req_perform() |> resp_body_string() |> read.csv(text = _)using System.Net.Http.Json;
var api = new HttpClient { BaseAddress = new Uri("https://datalake.mt2data.cloud") };
var tok = await (await api.PostAsJsonAsync("/oauth/token", new {
grant_type = "client_credentials", client_id = id, client_secret = secret
})).Content.ReadFromJsonAsync<Dictionary<string, object>>();
api.DefaultRequestHeaders.Authorization = new("Bearer", tok!["access_token"].ToString());
var catalog = await api.GetStringAsync("/catalog");
var csv = await api.GetStringAsync("/download/BcbSelicMensalAnualizada");Pricing
Start free, scale when you need to
Free
$0
Evaluate the data and build a prototype.
- Full open catalog
- 1,000 API calls / month
- CSV downloads, full history
- Community support
- Most popular
Pro
$49/ month
For teams running models and dashboards on the data.
- Full open catalog
- 50,000 API calls / month
- Then $1 per 1,000 extra calls
- Commercial use
- Email support
Enterprise
Custom
Custom series, volume and delivery.
- Custom series and sources on request
- Volume pricing
- Delivery to your cloud (Azure, AWS, GCP)
- SLA and invoicing
- Python, R and .NET libraries
Prices in USD. Taxes may apply.
FAQ
Questions
Where does the data come from?
From official public sources: Banco Central do Brasil, IBGE, IPEA, Comexstat (Ministry of Development, Industry and Trade), ANP, ANTT, INMET, NOAA and the World Bank. Each series keeps its source in the catalog.
How fresh is it?
Each source is collected on its own release schedule, and new values are published once they pass validation, usually the same day the source releases them.
What format do I get?
CSV time series with the full history, by symbol. The catalog and metadata come as JSON.
Can I use it commercially?
Yes, on the Pro and Enterprise plans. The Free plan is for evaluation and prototypes. The underlying public data keeps its own terms of use, which allow reuse with attribution.
Do you have series not listed here?
The Datalake also holds industry series that we don't offer publicly. Enterprise clients can ask for specific series and sources; tell us what you need.
How do I get credentials?
Create a free account: confirm your email and your client ID and secret appear right away. Upgrade to Pro from your account page whenever you need more.
Get API access
Create your account, get your keys in a minute
Confirm your email and your API credentials appear right away, on the Free plan. Choose Pro to upgrade straight after; Enterprise starts with a conversation.