Brazil Economic Calendar: IBGE IPCA, GDP & Jobs Release Dates
Pricing
from $1.40 / 1,000 calendar entry returneds
Brazil Economic Calendar: IBGE IPCA, GDP & Jobs Release Dates
Brazil's official statistics release schedule from the IBGE calendar service: IPCA, IPCA-15, INPC, GDP, unemployment, retail, services and industry releases with date, UTC moment, reference period, English indicator name and release type. A next-release mode answers when the next one lands.
Pricing
from $1.40 / 1,000 calendar entry returneds
Rating
0.0
(0)
Developer
Samat Makatov
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Brazil's official statistics release schedule from the IBGE calendar service: IPCA, IPCA-15, INPC, GDP, unemployment, retail, services and industry releases with date, UTC moment, reference period, English indicator name and release type. A next-release mode answers when the next one lands.
The actor reads the keyless JSON calendar service of Brazil's national statistics institute and writes one row per scheduled or already published release: what is published, on which Brasília date, at which moment in UTC, for which reference month or quarter. It answers the scheduling question ("when does the next inflation number print?"), not the number itself. No API key, no proxy and no browser are needed.
Use cases
- A Brazilian macro calendar in a trading dashboard — pull the coming quarter of price, activity and labour releases with their UTC moments and render them next to your US and European events;
withinDaysandreleaseTypesdecide how far ahead and how noisy the list is. - An agent that answers "when is the next IPCA?" —
mode: "nextRelease"returns exactly one row per indicator you watch, withdaysUntilandreleaseAtUtc, so a model never has to read a calendar page. - Event studies and backtests — a fixed
dateFrom/dateTowindow gives the dates on which a number actually hit the market, back to 2015; that is the timestamp an event study aligns its returns on. - Sector and agribusiness teams — the activity block (retail, services, industrial output) and the agricultural block (crop survey, harvest forecast, livestock, stocks) each have their own codes, so a team follows only its own surveys.
- A daily "what changed in the schedule" feed — a scheduled task with
onlyNew: truewrites rows only when an entry is new or has been moved, which is the whole reason to watch a statistics calendar. - Building a bilingual release table — every mapped product carries an English indicator name next to the Portuguese title, so a non-Portuguese desk can label the rows without a translation step.
Input
Nothing is required: with no input at all the actor returns the next 90 days of the whole calendar.
| Field | Type | Default | Allowed values / notes |
|---|---|---|---|
mode | string | calendar | calendar = one row per release in the window; nextRelease = one row per indicator with the next date still ahead. See Modes |
indicators | string[] | empty = every product | Short codes from the indicator table, e.g. ["ipca", "gdp"]. Required in nextRelease |
query | string | empty | Keyword filter on the Portuguese title, the product name and the English indicator name, case- and accent-insensitive |
releaseTypes | string[] | empty = every type | indicators, studies, geosciences, experimental. See Release types |
dateFrom | string | empty | Earliest release date, YYYY-MM-DD. The archive starts on 2015-01-01 |
dateTo | string | empty | Latest release date, YYYY-MM-DD |
withinDays | integer | 90 | 1–1825. Used only when both dates are empty: today up to N days ahead |
onlyUpcoming | boolean | false | Drop releases whose moment has already passed. Always on in nextRelease |
onlyNew | boolean | false | Write only entries that were absent or dated differently in the previous run of the same filter set |
includeProductDescription | boolean | false | Add productDescriptionHtml and productDescriptionText (the institute's own survey description, Portuguese) |
sortOrder | string | soonest | soonest = earliest release moment first; latest = newest first (use it on a history window) |
maxItems | integer | 50 | 1–1000 rows |
fields | string[] | all | Keep only these output fields, in this order |
Filters combine with AND. A code you mistype is corrected when the intent is obvious (ipca15 → ipca-15) and the correction is logged in the run status; a code nobody can map ends the run with an error instead of quietly returning the whole calendar.
Reference
Modes
| Mode | What one run returns | Requests |
|---|---|---|
calendar | Every release inside the date window that passes the filters, sorted by sortOrder, cut at maxItems | One per selected indicator (one for the whole calendar when none is selected), plus a page more when the window is larger than 100 entries |
nextRelease | One row per selected indicator: the earliest release whose moment is still ahead, or a row with found: false when nothing is scheduled yet | One per indicator |
Indicator codes
The calendar is organised by statistical product. These 18 products are the recurring releases markets watch; the English names are ours, the Portuguese titles are the source's.
| Code | Indicator | Portuguese product | Product id |
|---|---|---|---|
ipca | Consumer price index, headline | Índice Nacional de Preços ao Consumidor Amplo | 9256 |
ipca-15 | Consumer price index, mid-month preview | Índice Nacional de Preços ao Consumidor Amplo 15 | 9260 |
ipca-e | Consumer price index, special series | Índice Nacional de Preços ao Consumidor Amplo Especial | 9262 |
inpc | Consumer price index for lower incomes | Índice Nacional de Preços ao Consumidor | 9258 |
ipp | Producer price index, mining and manufacturing | Índice de Preços ao Produtor - Indústrias Extrativas e de Transformação | 9282 |
gdp | GDP, quarterly national accounts | Sistema de Contas Nacionais Trimestrais | 9300 |
unemployment-monthly | Labour force survey, monthly | Pesquisa Nacional por Amostra de Domicílios Contínua Mensal | 9171 |
unemployment-quarterly | Labour force survey, quarterly | Pesquisa Nacional por Amostra de Domicílios Contínua Trimestral | 9173 |
retail | Retail trade survey, monthly | Pesquisa Mensal de Comércio | 9227 |
services | Services survey, monthly | Pesquisa Mensal de Serviços | 9229 |
industry | Industrial output, Brazil | Pesquisa Industrial Mensal: Produção Física - Brasil | 9294 |
industry-regional | Industrial output, by region | Pesquisa Industrial Mensal: Produção Física - Regional | 9296 |
construction-costs | Construction costs and indices | Sistema Nacional de Pesquisa de Custos e Índices da Construção Civil | 9270 |
crops | Agricultural production survey, monthly | Levantamento Sistemático da Produção Agrícola | 9201 |
harvest-forecast | Harvest forecast | Prognóstico da Safra | 19068 |
livestock | Livestock, milk, leather and eggs, quarterly | Pesquisas Trimestrais do Abate de Animais, do Leite, do Couro e da Produção de Ovos de Galinha | 19111 |
livestock-first | Livestock, milk, leather and eggs, first results | Pesquisas Trimestrais do Abate de Animais… (first results; same title as 19111, slug primeiros-resultados-…) | 19120 |
stocks | Stocks survey | Pesquisa de Estoques | 9199 |
The code, the English name, the Portuguese title and the numeric product id are all accepted as input values.
A product that has no code. The calendar also carries annual surveys, census products, atlases and one-off studies. Reach them with query (search in Portuguese — "censo", "contas nacionais", "atlas"), then read productId from the row; that id is accepted in indicators on the next run and turns the search into a single cheap request.
Release types
| Code | Source label | What it is |
|---|---|---|
indicators | Divulgação de Indicadores | The recurring monthly and quarterly numbers — everything a market calendar needs |
studies | Estudos e Pesquisas Estruturais e Especiais | Annual surveys, structural studies, special publications |
geosciences | Produtos da Geociências | Maps, relief, territory and environment products |
experimental | Investigações Experimentais | Experimental statistics the institute publishes outside its regular programme |
Dates and the window
dateFrom/dateTo beat withinDays: set both to read a fixed window, leave both empty to read from today up to withinDays ahead. Set only dateFrom and the window ends withinDays later; set only dateTo and it starts at 2015-01-01, the first date the archive carries. Dates are the Brasília calendar dates the source prints; releaseAtUtc converts the printed moment from UTC−03:00.
Examples
Inflation dates for the eight months ahead — the FX and rates desk view.
{ "mode": "calendar", "indicators": ["ipca", "ipca-15", "inpc", "ipp"], "withinDays": 240, "maxItems": 20 }
When is the next one? — one row per indicator, nothing else.
{ "mode": "nextRelease", "indicators": ["ipca", "gdp", "unemployment-monthly", "unemployment-quarterly"] }
GDP release-date history of 2025 — for event studies and backtests.
{ "mode": "calendar", "indicators": ["gdp"], "dateFrom": "2025-01-01", "dateTo": "2025-12-31", "sortOrder": "latest", "maxItems": 20 }
Everything scheduled in the next 30 days, recurring numbers only.
{ "mode": "calendar", "releaseTypes": ["indicators"], "withinDays": 30, "maxItems": 25 }
The activity block for the year ahead — retail, services and industrial output.
{ "mode": "calendar", "indicators": ["retail", "services", "industry", "industry-regional"], "withinDays": 365, "maxItems": 25 }
Keyword search over the whole calendar — the way to reach products without a short code.
{ "mode": "calendar", "query": "pesquisa", "withinDays": 365, "maxItems": 25 }
A daily watch task — only what changed since yesterday, four fields per row.
{ "mode": "calendar", "indicators": ["ipca", "gdp"], "withinDays": 365, "onlyNew": true, "fields": ["indicatorCode", "releaseDate", "releaseAtUtc", "referencePeriod"] }
Output
One row per release. A real row from the cloud run of the first example above (run ZqKRp3Af1KnQw5Ywc, 16 rows in 5 seconds):
{"releaseId": 4305,"title": "Índice de Preços ao Produtor - Indústrias Extrativas e de Transformação","titleEn": "Producer price index, mining and manufacturing","indicatorCode": "ipp","productId": 9282,"productName": "Índice de Preços ao Produtor - Indústrias Extrativas e de Transformação","productAlias": "indice-de-precos-ao-produtor-industrias-extrativas-e-de-transformacao","releaseTypeCode": "indicators","releaseType": "Divulgação de Indicadores","releaseDate": "2026-09-30","releaseLocalTime": "12:00:00","releaseAtUtc": "2026-09-30T15:00:00.000Z","daysUntil": 2,"isUpcoming": true,"referenceStart": "2026-08","referenceEnd": null,"referencePeriod": "August 2026","description": null,"sourceLink": null,"url": "https://servicodados.ibge.gov.br/api/v3/calendario/9282","fetchedAt": "2026-09-28T21:03:23.447Z"}
| Field | Type | Meaning |
|---|---|---|
releaseId | number | The source's own id of the calendar entry |
title | string | Release title as published, Portuguese |
titleEn | string | null | Our English name of the indicator; null for products outside the code table |
indicatorCode | string | null | Short code from the indicator table; null outside it |
productId | number | The statistical product the release belongs to |
productName | string | Product name of the source, internal suffix removed |
productAlias | string | The source's slug for the product |
releaseTypeCode | string | indicators, studies, geosciences or experimental |
releaseType | string | The type as the source labels it, Portuguese |
releaseDate | string | Release date, YYYY-MM-DD, Brasília calendar |
releaseLocalTime | string | null | Scheduled hour as printed (12:00:00); null when the entry carries none |
releaseAtUtc | string | The same moment in UTC, ISO 8601 |
daysUntil | number | Whole days from today to the release date; negative for past releases |
isUpcoming | boolean | true while the moment is still ahead |
referenceStart | string | null | First reference month, YYYY-MM (or YYYY when the source gives a year only) |
referenceEnd | string | null | Last reference month of a quarter or season; null for a single month |
referencePeriod | string | null | The same period as a phrase, e.g. October–December 2026 |
description | string | null | Free text of the entry; the source usually leaves it empty |
sourceLink | string | null | Release page the source links to, when it publishes one |
url | string | sourceLink when set, otherwise the calendar endpoint of the product |
fetchedAt | string | Fetch time, ISO 8601 UTC |
productDescriptionHtml / productDescriptionText | string | null | Only with includeProductDescription |
requestedIndicator, found | string, boolean | nextRelease only: the code asked for, and whether anything is scheduled |
Dataset views: Release calendar (the full picture), Indicator schedule (code, product, dates, reference period), Next release per indicator (the watch-list view).
The run also writes a SUMMARY record to the key-value store: window, filters, requests made, entries read, rows written, the last date the institute has published (coverageEnd) and any indicator with nothing scheduled.
Use it from code / agents
curl -X POST "https://api.apify.com/v2/acts/yadroo~ibge-release-calendar/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"mode":"nextRelease","indicators":["ipca","gdp"]}'
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('yadroo/ibge-release-calendar').call({mode: 'calendar',indicators: ['ipca', 'ipca-15'],withinDays: 180,fields: ['indicatorCode', 'releaseDate', 'releaseAtUtc', 'referencePeriod'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();
from apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("yadroo/ibge-release-calendar").call(run_input={"mode": "calendar", "indicators": ["gdp"], "dateFrom": "2025-01-01", "dateTo": "2025-12-31"})items = client.dataset(run["defaultDatasetId"]).list_items().items
MCP: add https://mcp.apify.com to Claude / Cursor / any MCP client and call the yadroo/ibge-release-calendar tool with the same JSON input — for example "call yadroo/ibge-release-calendar with mode nextRelease and indicators ipca, gdp, and tell me which lands first".
Pricing
Pay per event: $0.001 per run start + $0.002 per dataset row. Every run is charged the start event, also a run that returns nothing.
| Run | Rows | Cost |
|---|---|---|
Next release for 4 indicators (nextRelease) | 4 | $0.001 + 4 × $0.002 = $0.009 |
| Price block for the eight months ahead | 20 | $0.001 + 20 × $0.002 = $0.041 |
| A quarter of the whole calendar | 60 | $0.001 + 60 × $0.002 = $0.121 |
A daily watch task with onlyNew usually writes 0–3 rows, so it costs the start event plus what actually changed.
Limits & FAQ
- Dates, not figures. The calendar says when something is published. It carries no actual, forecast or previous value and no market consensus — for the numbers themselves, read the institute's statistics after the release.
- How far the schedule reaches. Back to 2015 in the archive, and forward as far as the institute has published — roughly two quarters for the recurring indicators, less for irregular products. The run logs
coverageEnd, the last date it actually saw, so a window that reaches beyond it is visible rather than silently empty. - Language. Titles, product names and release types come from the source in Portuguese. Only the 18 mapped products get an English name (
titleEn);querysearches Portuguese and English text and ignores accents, so"indice"findsÍndice. - The clock time. The feed prints a scheduled publication hour — we saw only 11:00, 12:00 and 13:00 — which we convert from UTC−03:00 into
releaseAtUtc. Treat it as the institute's scheduled hour, not a market timestamp: trustreleaseDatefirst. Brazil abolished summer time in 2019, so rows dated before that may be an hour off. - Schedules move. A release can be postponed; that is exactly what
onlyNewreports, because the memory key includes the moment. - Rate limits and blocks. The calendar service answers without a key and without throttling in normal use; requests retry with backoff on 429 and 5xx. The public portal of the institute refuses automated requests, so the actor never fetches it — a release page appears in
urlonly when the calendar itself links to it, and otherwiseurlpoints at the calendar endpoint of the product, which always resolves. - Empty is never silent. An unknown indicator code ends the run with a message naming the valid codes; an indicator with nothing scheduled comes back as a
found: falserow innextReleaseand is listed in the run status andSUMMARYincalendarmode. - Cost of a wide window. One request returns 100 entries. A window with more than that costs one request per extra page, read from the end your
sortOrderasks for, and stops as soon asmaxItemsrows are in.
Made by Yadroo. Sibling actors: bls-release-calendar, ons-release-calendar, statcan-release-calendar, fed-fomc-calendar, world-bank-indicators.