bcb-br-mcp 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.pt-BR.md CHANGED
@@ -35,7 +35,7 @@ As respostas vêm ao vivo da API SGS do Banco Central — valores exatos com pro
35
35
  - **Consulta de séries históricas** - Busca valores de séries por código com filtro de datas
36
36
  - **Últimos valores** - Obtém os N valores mais recentes de uma série
37
37
  - **Metadados** - Informações detalhadas sobre séries (periodicidade, fonte, etc.)
38
- - **Catálogo de séries populares** - Lista de 150+ indicadores econômicos organizados em 12 categorias
38
+ - **Catálogo de séries populares** - 139 indicadores econômicos verificados contra a origem, organizados por categoria
39
39
  - **Busca inteligente** - Encontra séries por termo de busca (com ou sem acentos)
40
40
  - **Indicadores atuais** - Valores mais recentes dos principais indicadores econômicos
41
41
  - **Períodos longos resolvidos** - A API do BCB limita séries diárias a uma janela
@@ -67,7 +67,7 @@ Catálogos de referência que o servidor expõe como **recursos** MCP (dados con
67
67
 
68
68
  | URI | Descrição |
69
69
  |-----|-----------|
70
- | `bcb://series/populares` | Catálogo de 150+ séries econômicas populares do BCB, organizadas por categoria (JSON) |
70
+ | `bcb://series/populares` | Catálogo de 139 séries econômicas do BCB verificadas contra a origem, organizadas por categoria (JSON) |
71
71
  | `bcb://series/categorias` | Lista de categorias disponíveis no catálogo de séries (JSON) |
72
72
  | `bcb://series/principais` | Códigos dos indicadores mais usados — Selic, IPCA, Dólar, PIB, etc. (JSON) |
73
73
 
@@ -174,143 +174,213 @@ Compare IPCA, IGP-M e INPC em 2024
174
174
  → Usa bcb_comparar com códigos [433, 189, 188], dataInicial 2024-01-01, dataFinal 2024-12-31
175
175
  ```
176
176
 
177
- ## Catálogo de Séries (150+)
178
-
179
- O servidor inclui um catálogo com mais de 150 séries organizadas em 12 categorias.
180
-
181
- ### Juros e Taxas
182
-
183
- | Código | Descrição |
184
- |--------|-----------|
185
- | 11 | Taxa Selic acumulada no mês |
186
- | 432 | Taxa Selic anualizada base 252 |
187
- | 1178 | Taxa Selic - Meta definida pelo Copom |
188
- | 12 | CDI diária |
189
- | 4389 | CDI anualizada base 252 |
190
- | 226 | Taxa Referencial (TR) - diária |
191
- | 256 | Taxa de Juros de Longo Prazo (TJLP) |
192
-
193
- ### Inflação (30+ séries)
194
-
195
- | Código | Descrição |
196
- |--------|-----------|
197
- | 433 | IPCA - Variação mensal |
198
- | 13522 | IPCA - Acumulado 12 meses |
199
- | 7478 | IPCA-15 - Variação mensal |
200
- | 188 | INPC - Variação mensal |
201
- | 189 | IGP-M - Variação mensal |
202
- | 190 | IGP-DI - Variação mensal |
203
- | 7447 | IGP-10 - Variação mensal |
204
- | 10841-10850 | IPCA por grupo (Alimentação, Habitação, Transportes, etc.) |
205
- | 4449 | IPCA - Preços administrados |
206
- | 11428 | IPCA - Preços livres |
207
- | 16121-16122 | IPCA - Núcleos |
208
-
209
- ### Câmbio (15+ séries)
210
-
211
- | Código | Descrição |
212
- |--------|-----------|
213
- | 1 | Dólar americano (venda) |
214
- | 10813 | Dólar americano (compra) |
215
- | 3698/3697 | Dólar PTAX (venda/compra) |
216
- | 21619/21620 | Euro (venda/compra) |
217
- | 21623/21624 | Libra Esterlina (venda/compra) |
218
- | 21621/21622 | Iene (venda/compra) |
219
- | 21637/21638 | Peso Argentino (venda/compra) |
220
- | 21639/21640 | Yuan Chinês (venda/compra) |
221
-
222
- ### Atividade Econômica (25+ séries)
223
-
224
- | Código | Descrição |
225
- |--------|-----------|
226
- | 4380 | PIB mensal (R$ milhões) |
227
- | 4382 | PIB acumulado 12 meses (R$ milhões) |
228
- | 4385 | PIB mensal em US$ |
229
- | 7324 | PIB anual em US$ |
230
- | 24363/24364 | IBC-Br (sem/com ajuste sazonal) |
231
- | 29601-29606 | IBC-Br setorial (Agropecuária, Indústria, Serviços) |
232
- | 22099 | PIB trimestral - Taxa de variação |
233
- | 21859 | Produção industrial - Variação mensal |
234
- | 21862 | Utilização da capacidade instalada |
235
-
236
- ### Emprego (10+ séries)
237
-
238
- | Código | Descrição |
239
- |--------|-----------|
240
- | 24369 | Taxa de desocupação - PNAD Contínua |
241
- | 24370 | Taxa de participação na força de trabalho |
242
- | 24380 | Rendimento médio real |
243
- | 24381 | Massa de rendimento real |
244
- | 28561 | CAGED - Saldo de empregos formais |
245
-
246
- ### Fiscal (10+ séries)
247
-
248
- | Código | Descrição |
249
- |--------|-----------|
250
- | 4503 | Dívida líquida do setor público (% PIB) |
251
- | 4513 | Dívida bruta do governo geral (% PIB) |
252
- | 4537 | Resultado primário (% PIB) |
253
- | 4539 | Resultado nominal (% PIB) |
254
- | 5364 | Receita total do governo central |
255
-
256
- ### Setor Externo (15+ séries)
257
-
258
- | Código | Descrição |
259
- |--------|-----------|
260
- | 3546 | Reservas internacionais - diário |
261
- | 22707 | Balança comercial - Saldo mensal |
262
- | 22708 | Exportação de bens - mensal |
263
- | 22709 | Importação de bens - mensal |
264
- | 22701 | Transações correntes - Saldo |
265
- | 22846 | Investimento direto no país |
266
- | 13690 | Dívida externa total |
267
-
268
- ### Crédito (30+ séries)
269
-
270
- | Código | Descrição |
271
- |--------|-----------|
272
- | 20539 | Saldo de crédito - Total |
273
- | 20540/20541 | Saldo de crédito - PF/PJ |
274
- | 20714 | Taxa média de juros - Total |
275
- | 20749 | Taxa média - Aquisição de veículos |
276
- | 20772 | Taxa média - Financiamento imobiliário |
277
- | 20783 | Spread médio - Total |
278
- | 21082 | Inadimplência - Total |
279
- | 21128/21129 | Inadimplência - Cartão de crédito |
280
-
281
- ### Agregados Monetários
282
-
283
- | Código | Descrição |
284
- |--------|-----------|
285
- | 1788 | Base monetária |
286
- | 27788-27791 | Meios de pagamento M1, M2, M3, M4 |
287
- | 27815 | Multiplicador monetário |
288
-
289
- ### Poupança
290
-
291
- | Código | Descrição |
292
- |--------|-----------|
293
- | 25 | Poupança - Rendimento mensal |
294
- | 195 | Poupança - Saldo total |
295
- | 7165 | Poupança - Captação líquida |
296
-
297
- ### Índices de Mercado
298
-
299
- | Código | Descrição |
300
- |--------|-----------|
301
- | 12466 | IMA-B |
302
- | 12467 | IMA-B5 |
303
- | 12468 | IMA-B5+ |
304
- | 7832 | Ibovespa mensal |
305
-
306
- ### Expectativas (Focus)
307
-
308
- | Código | Descrição |
309
- |--------|-----------|
310
- | 29033/29034 | Expectativa IPCA (ano corrente/próximo) |
311
- | 29035/29036 | Expectativa Selic (ano corrente/próximo) |
312
- | 29037/29038 | Expectativa PIB (ano corrente/próximo) |
313
- | 29039/29040 | Expectativa Câmbio (ano corrente/próximo) |
177
+ ## Catálogo de Séries (139)
178
+
179
+ O catálogo curado tem **139 séries, cada uma verificada contra a origem** em 13/08/2026.
180
+
181
+ O campo `fonteNome` de cada entrada diz de onde vem o nome dela:
182
+
183
+ - **`portal`** (82 séries) — o nome é transcrito do dataset da série no Portal de Dados
184
+ Abertos do BCB, e `unidade` traz a unidade de medida publicada.
185
+ - **`medido`** (57 séries) — a série não tem dataset no portal, então o nome é herdado;
186
+ o que foi verificado contra a origem é a periodicidade e a ordem de grandeza.
187
+
188
+ A periodicidade é sempre a **medida** (pelo espaçamento entre observações), nunca um rótulo
189
+ herdado. Expectativas de mercado **não** estão aqui — use `bcb_focus_expectativas`.
190
+
191
+ ### Juros (14)
192
+
193
+ | Código | Nome | Periodicidade | Fonte do nome |
194
+ |--------|------|---------------|---------------|
195
+ | 11 | Taxa de juros - Selic | Diária | `portal` |
196
+ | 432 | Taxa de juros - Meta Selic definida pelo Copom | Diária | `portal` |
197
+ | 1178 | Taxa de juros - Selic anualizada base 252 | Diária | `portal` |
198
+ | 4189 | Taxa de juros - Selic acumulada no mês anualizada base 252 | Mensal | `portal` |
199
+ | 4390 | Taxa de juros - Selic acumulada no mês | Mensal | `portal` |
200
+ | 12 | Taxa de juros - CDI diária | Diária | `medido` |
201
+ | 4389 | Taxa de juros - CDI anualizada base 252 | Diária | `medido` |
202
+ | 4391 | Taxa de juros - CDI acumulada no mês | Mensal | `medido` |
203
+ | 4392 | Taxa de juros - CDI acumulada no mês anualizada | Mensal | `medido` |
204
+ | 226 | Taxa Referencial (TR) - diária | Diária | `medido` |
205
+ | 7811 | Taxa Referencial (TR) - mensal | Mensal | `medido` |
206
+ | 7812 | Taxa Referencial (TR) - anualizada | Mensal | `medido` |
207
+ | 256 | Taxa de Juros de Longo Prazo (TJLP) | Mensal | `medido` |
208
+ | 253 | Taxa de juros - CDB pré-fixado - 30 dias | Diária | `medido` |
209
+
210
+ ### Inflação (28)
211
+
212
+ | Código | Nome | Periodicidade | Fonte do nome |
213
+ |--------|------|---------------|---------------|
214
+ | 433 | IPCA - Variação mensal | Mensal | `medido` |
215
+ | 13522 | IPCA - Variação acumulada em 12 meses | Mensal | `medido` |
216
+ | 7478 | IPCA-15 - Variação mensal | Mensal | `medido` |
217
+ | 10764 | IPCA-E - Variação mensal | Mensal | `medido` |
218
+ | 16121 | Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo por exclusão - ex2 | Mensal | `portal` |
219
+ | 16122 | Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo de dupla ponderação | Mensal | `portal` |
220
+ | 11426 | Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo médias aparadas sem suavização | Mensal | `portal` |
221
+ | 11427 | Índice nacional de preços ao consumidor - Amplo (IPCA) - Núcleo por exclusão - Sem monitorados e alimentos no domicílio | Mensal | `portal` |
222
+ | 10841 | Índice de Preços ao Consumidor-Amplo (IPCA) - Bens não-duráveis | Mensal | `portal` |
223
+ | 10842 | Índice de Preços ao Consumidor-Amplo (IPCA) - Bens semi-duráveis | Mensal | `portal` |
224
+ | 10843 | Índice de Preços ao Consumidor-Amplo (IPCA) - Duráveis | Mensal | `portal` |
225
+ | 10844 | Índice de Preços ao Consumidor-Amplo (IPCA) - Serviços | Mensal | `portal` |
226
+ | 4449 | Índice nacional de preços ao consumidor-Amplo (IPCA) - Preços monitorados - Total | Mensal | `portal` |
227
+ | 11428 | Índice nacional de preços ao consumidor - Amplo (IPCA) - Itens livres | Mensal | `portal` |
228
+ | 188 | INPC - Variação mensal | Mensal | `medido` |
229
+ | 189 | IGP-M - Variação mensal | Mensal | `medido` |
230
+ | 7447 | IGP-10 - Variação mensal | Mensal | `medido` |
231
+ | 7448 | IGP-M - 1ª prévia | Mensal | `medido` |
232
+ | 7449 | IGP-M - 2ª prévia | Mensal | `medido` |
233
+ | 190 | IGP-DI - Variação mensal | Mensal | `medido` |
234
+ | 7450 | IPA-M - Variação mensal | Mensal | `medido` |
235
+ | 225 | IPA-DI - Geral - Variação mensal | Mensal | `medido` |
236
+ | 7459 | IPA-DI - Produtos industriais | Mensal | `medido` |
237
+ | 7460 | IPA-DI - Produtos agrícolas | Mensal | `medido` |
238
+ | 191 | IPC-DI - Variação mensal | Mensal | `medido` |
239
+ | 193 | IPC-Fipe - Variação mensal | Mensal | `medido` |
240
+ | 17679 | IPC-3i - Variação mensal | Mensal | `medido` |
241
+ | 17680 | IPC-C1 - Variação mensal | Mensal | `medido` |
242
+
243
+ ### Câmbio (13)
244
+
245
+ | Código | Nome | Periodicidade | Fonte do nome |
246
+ |--------|------|---------------|---------------|
247
+ | 1 | Taxa de câmbio - Livre - Dólar americano (venda) - diário | Diária | `portal` |
248
+ | 10813 | Taxa de câmbio - Livre - Dólar americano (compra) | Diária | `portal` |
249
+ | 3698 | Taxa de câmbio - PTAX - Dólar americano (venda) | Mensal | `medido` |
250
+ | 3697 | Taxa de câmbio - PTAX - Dólar americano (compra) | Mensal | `medido` |
251
+ | 3695 | Taxa de câmbio - PTAX - Dólar americano (média) | Mensal | `medido` |
252
+ | 21619 | Taxa de câmbio - Euro (venda) | Diária | `medido` |
253
+ | 21620 | Taxa de câmbio - Euro (compra) | Diária | `medido` |
254
+ | 21623 | Taxa de câmbio - Libra Esterlina (venda) | Diária | `medido` |
255
+ | 21624 | Taxa de câmbio - Libra Esterlina (compra) | Diária | `medido` |
256
+ | 21621 | Taxa de câmbio - Iene (venda) | Diária | `medido` |
257
+ | 21622 | Taxa de câmbio - Iene (compra) | Diária | `medido` |
258
+ | 21625 | Taxa de câmbio - Franco Suíço (venda) | Diária | `medido` |
259
+ | 21626 | Taxa de câmbio - Franco Suíço (compra) | Diária | `medido` |
260
+
261
+ ### Atividade Econômica (21)
262
+
263
+ | Código | Nome | Periodicidade | Fonte do nome |
264
+ |--------|------|---------------|---------------|
265
+ | 4380 | PIB mensal - Valores correntes (R$ milhões) | Mensal | `medido` |
266
+ | 4381 | PIB acumulado no ano - Valores correntes (R$ milhões) | Mensal | `medido` |
267
+ | 4382 | PIB acumulado dos últimos 12 meses - Valores correntes (R$ milhões) | Mensal | `medido` |
268
+ | 4385 | PIB mensal em US$ (milhões) | Mensal | `medido` |
269
+ | 4386 | PIB acumulado no ano em US$ (milhões) | Mensal | `medido` |
270
+ | 7324 | PIB anual em US$ (milhões) | Anual | `medido` |
271
+ | 24363 | Índice de Atividade Econômica do Banco Central - IBC-Br | Mensal | `portal` |
272
+ | 24364 | Índice de Atividade Econômica do Banco Central (IBC-Br) - com ajuste sazonal | Mensal | `portal` |
273
+ | 29601 | Índice de Atividade Econômica do Banco Central (IBC-Br) Agropecuária | Mensal | `portal` |
274
+ | 29602 | Índice de Atividade Econômica do Banco Central (IBC-Br) Agropecuária - com ajuste sazonal | Mensal | `portal` |
275
+ | 29603 | Índice de Atividade Econômica do Banco Central (IBC-Br) Indústria | Mensal | `portal` |
276
+ | 29604 | Índice de Atividade Econômica do Banco Central (IBC-Br) Indústria - com ajuste sazonal | Mensal | `portal` |
277
+ | 29605 | Índice de Atividade Econômica do Banco Central (IBC-Br) Serviços | Mensal | `portal` |
278
+ | 29606 | Índice de Atividade Econômica do Banco Central (IBC-Br) Serviços - com ajuste sazonal | Mensal | `portal` |
279
+ | 22103 | Exportação de bens e serviços - Trimestral | Trimestral | `medido` |
280
+ | 22104 | Importação de bens e serviços - Trimestral | Trimestral | `medido` |
281
+ | 22109 | Consumo das famílias - Trimestral | Trimestral | `medido` |
282
+ | 22110 | Consumo do governo - Trimestral | Trimestral | `medido` |
283
+ | 22111 | Formação bruta de capital fixo - Trimestral | Trimestral | `medido` |
284
+ | 21859 | Produção industrial - Geral - Variação mensal | Mensal | `medido` |
285
+ | 21862 | Utilização da capacidade instalada - Indústria | Mensal | `medido` |
286
+
287
+ ### Emprego (4)
288
+
289
+ | Código | Nome | Periodicidade | Fonte do nome |
290
+ |--------|------|---------------|---------------|
291
+ | 24369 | Taxa de desocupação - PNAD Contínua | Mensal | `medido` |
292
+ | 24380 | Rendimento médio real habitual - Todos os trabalhos | Mensal | `medido` |
293
+ | 24381 | Massa de rendimento real habitual | Mensal | `medido` |
294
+ | 28561 | CAGED - Saldo de empregos formais | Mensal | `medido` |
295
+
296
+ ### Fiscal (7)
297
+
298
+ | Código | Nome | Periodicidade | Fonte do nome |
299
+ |--------|------|---------------|---------------|
300
+ | 4503 | Dívida Líquida do Setor Público (% PIB) - Total - Governo Federal e Banco Central | Mensal | `portal` |
301
+ | 4513 | Dívida Líquida do Setor Público (% PIB) - Total - Setor público consolidado | Mensal | `portal` |
302
+ | 4505 | Dívida Líquida do Setor Público (% PIB) - Total - Banco Central | Mensal | `portal` |
303
+ | 4536 | Dívida líquida do governo geral (% PIB) | Mensal | `portal` |
304
+ | 4537 | Dívida bruta do governo geral (% PIB) - Metodologia utilizada até 2007 | Mensal | `portal` |
305
+ | 5364 | Receita total do governo central | Mensal | `medido` |
306
+ | 5793 | NFSP sem desvalorização cambial (% PIB) - Fluxo acumulado em 12 meses - Resultado primário - Total - Setor público consolidado | Mensal | `portal` |
307
+
308
+ ### Setor Externo (12)
309
+
310
+ | Código | Nome | Periodicidade | Fonte do nome |
311
+ |--------|------|---------------|---------------|
312
+ | 3546 | Reservas internacionais - Conceito liquidez - Total | Mensal | `medido` |
313
+ | 13621 | Reservas internacionais - Conceito caixa - Total - diária | Diária | `portal` |
314
+ | 22707 | Balança comercial - Balanço de Pagamentos - mensal - saldo | Mensal | `portal` |
315
+ | 22708 | Exportação de bens - Balanço de Pagamentos - mensal | Mensal | `portal` |
316
+ | 22709 | Importação de bens - Balanço de Pagamentos - mensal | Mensal | `portal` |
317
+ | 22714 | Bens exportados sob merchanting - exportações positivas - mensal | Mensal | `portal` |
318
+ | 22701 | Transações correntes - mensal - saldo | Mensal | `portal` |
319
+ | 22704 | Balança comercial e Serviços - mensal - saldo | Mensal | `portal` |
320
+ | 22715 | Bens importados sob merchanting - exportações negativas - mensal | Mensal | `portal` |
321
+ | 22716 | Balança comercial - ouro não monetário - Balanço de Pagamentos - mensal - saldo | Mensal | `portal` |
322
+ | 22846 | Renda secundária - Demais setores - Transferências pessoais - mensal - receita | Mensal | `portal` |
323
+ | 22885 | Investimentos diretos no país - IDP - mensal - líquido | Mensal | `portal` |
324
+
325
+ ### Crédito (30)
326
+
327
+ | Código | Nome | Periodicidade | Fonte do nome |
328
+ |--------|------|---------------|---------------|
329
+ | 20539 | Saldo da carteira de crédito - Total | Mensal | `portal` |
330
+ | 20540 | Saldo da carteira de crédito - Pessoas jurídicas - Total | Mensal | `portal` |
331
+ | 20541 | Saldo da carteira de crédito - Pessoas físicas - Total | Mensal | `portal` |
332
+ | 20542 | Saldo da carteira de crédito com recursos livres - Total | Mensal | `portal` |
333
+ | 20570 | Saldo da carteira de crédito com recursos livres - Pessoas físicas - Total | Mensal | `portal` |
334
+ | 20592 | Saldo da carteira de crédito com recursos livres - Pessoas físicas - Outros créditos livres | Mensal | `portal` |
335
+ | 20615 | Saldo da carteira de crédito com recursos direcionados - Pessoas físicas - Financiamento agroindustrial com recursos do BNDES | Mensal | `portal` |
336
+ | 20631 | Concessões de crédito - Total | Mensal | `portal` |
337
+ | 20665 | Concessões de crédito com recursos livres - Pessoas físicas - Cheque especial | Mensal | `portal` |
338
+ | 20714 | Taxa média de juros das operações de crédito - Total | Mensal | `portal` |
339
+ | 20716 | Taxa média de juros das operações de crédito - Pessoas físicas - Total | Mensal | `portal` |
340
+ | 20740 | Taxa média de juros das operações de crédito com recursos livres - Pessoas físicas - Total | Mensal | `portal` |
341
+ | 20749 | Taxa média de juros das operações de crédito com recursos livres - Pessoas físicas - Aquisição de veículos | Mensal | `portal` |
342
+ | 20772 | Taxa média de juros das operações de crédito com recursos direcionados - Pessoas físicas - Financiamento imobiliário com taxas de mercado | Mensal | `portal` |
343
+ | 25497 | Taxa média mensal de juros das operações de crédito com recursos direcionados - Pessoas físicas - Financiamento imobiliário com taxas de mercado | Mensal | `portal` |
344
+ | 20783 | Spread médio das operações de crédito - Total | Mensal | `portal` |
345
+ | 20785 | Spread médio das operações de crédito - Pessoas físicas - Total | Mensal | `portal` |
346
+ | 20786 | Spread médio das operações de crédito com recursos livres - Total | Mensal | `portal` |
347
+ | 21082 | Inadimplência da carteira de crédito - Total | Mensal | `portal` |
348
+ | 21084 | Inadimplência da carteira de crédito - Pessoas físicas - Total | Mensal | `portal` |
349
+ | 21085 | Inadimplência da carteira de crédito com recursos livres - Total | Mensal | `portal` |
350
+ | 21128 | Inadimplência da carteira de crédito com recursos livres - Pessoas físicas - Cartão de crédito parcelado | Mensal | `portal` |
351
+ | 21129 | Inadimplência da carteira de crédito com recursos livres - Pessoas físicas - Cartão de crédito total | Mensal | `portal` |
352
+ | 13685 | Inadimplência da carteira de crédito das instituições financeiras sob controle privado - Total | Mensal | `portal` |
353
+ | 29033 | Comprometimento de renda das famílias com juros da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF) | Mensal | `portal` |
354
+ | 29034 | Comprometimento de renda das famílias com o serviço da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF) | Mensal | `portal` |
355
+ | 29035 | Comprometimento de renda das famílias com o serviço da dívida com o Sistema Financeiro Nacional exceto crédito habitacional - Com ajuste sazonal (RNDBF) | Mensal | `portal` |
356
+ | 29036 | Comprometimento de renda das famílias com amortização da dívida com o Sistema Financeiro Nacional - Com ajuste sazonal (RNDBF) | Mensal | `portal` |
357
+ | 29037 | Endividamento das famílias com o Sistema Financeiro Nacional em relação à renda acumulada dos últimos doze meses (RNDBF) | Mensal | `portal` |
358
+ | 29038 | Endividamento das famílias com o Sistema Financeiro Nacional exceto crédito habitacional em relação à renda acumulada dos últimos 12 meses (RNDBF) | Mensal | `portal` |
359
+
360
+ ### Agregados Monetários (8)
361
+
362
+ | Código | Nome | Periodicidade | Fonte do nome |
363
+ |--------|------|---------------|---------------|
364
+ | 1788 | BM - Base monetária restrita (saldo em final de período) | Mensal | `portal` |
365
+ | 1833 | Base Monetária Ampliada (saldo em final de período) | Mensal | `portal` |
366
+ | 27788 | Meios de pagamento - M1 (média dos dias úteis do mês) - Novo | Mensal | `portal` |
367
+ | 27789 | Meios de pagamento - Papel moeda em poder do público (saldo em final de período) - Novo | Mensal | `portal` |
368
+ | 27790 | Meios de pagamento - Depósitos à vista (saldo em final de período) - Novo | Mensal | `portal` |
369
+ | 27791 | Meios de pagamento - M1 (saldo em final de período) - Novo | Mensal | `portal` |
370
+ | 27815 | Meios de pagamento amplos - M4 (saldo em final de periodo) - Novo | Mensal | `portal` |
371
+ | 7530 | Comportamento monetário - Comportamento do público - C | Mensal | `portal` |
372
+
373
+ ### Poupança (2)
374
+
375
+ | Código | Nome | Periodicidade | Fonte do nome |
376
+ |--------|------|---------------|---------------|
377
+ | 25 | Depósitos de poupança até 03.05.2012 - Rentabilidade no período | Diária | `portal` |
378
+ | 195 | Depósitos de poupança a partir de 04.05.2012 - Rentabilidade no período | Diária | `portal` |
379
+
380
+
381
+ O catálogo completo, legível por máquina, é servido no recurso `bcb://series/populares` e pela
382
+ `bcb_series_populares`. Milhares de outras séries são alcançáveis pela `bcb_buscar_serie`, que
383
+ também consulta o índice do Portal de Dados Abertos do BCB.
314
384
 
315
385
  ## Encontrar Outras Séries
316
386
 
@@ -425,7 +495,7 @@ Este servidor utiliza a API pública do Banco Central do Brasil:
425
495
 
426
496
  - 🎉 Lançamento inicial
427
497
  - 6 ferramentas básicas
428
- - Catálogo com 150+ séries
498
+ - Catálogo com 139 séries verificadas
429
499
 
430
500
  ## Contribuição
431
501
 
package/dist/catalog.d.ts CHANGED
@@ -27,7 +27,7 @@
27
27
  * atual isso mantém a ordem de grandeza prometida (unidades de requisição por
28
28
  * dia), e é a única forma de cache que não introduz armazenamento persistente.
29
29
  */
30
- import { type SeriePopular } from "./shared.js";
30
+ import { type ProcedenciaNome, type SeriePopular } from "./shared.js";
31
31
  export declare const CKAN_PACKAGE_LIST = "https://dadosabertos.bcb.gov.br/api/3/action/package_list";
32
32
  export declare const CKAN_DATASET_BASE = "https://dadosabertos.bcb.gov.br/dataset";
33
33
  /** Validade do catálogo em cache: 24 h (decisão do decisor). */
@@ -89,8 +89,14 @@ export interface SerieEncontrada {
89
89
  nome: string;
90
90
  categoria?: string;
91
91
  periodicidade?: string;
92
- /** `curado` = catálogo local com nome/categoria revisados; `indice` = portal. */
92
+ /** `curado` = catálogo local verificado contra a origem; `indice` = portal. */
93
93
  origem: OrigemSerie;
94
+ /**
95
+ * Só nos achados do catálogo curado: se o nome foi transcrito do dataset do
96
+ * BCB (`portal`) ou herdado, com apenas periodicidade e magnitude medidas
97
+ * (`medido`). Ver `SeriePopular` — a distinção é publicada de propósito.
98
+ */
99
+ fonteNome?: ProcedenciaNome;
94
100
  /** Página do dataset no portal (só para achados do índice). */
95
101
  dataset?: string;
96
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,EAAgC,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAE9E,eAAO,MAAM,iBAAiB,8DAA8D,CAAC;AAC7F,eAAO,MAAM,iBAAiB,4CAA4C,CAAC;AAE3E,gEAAgE;AAChE,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAkBvG;AAwBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+BvG;AAID,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,MAAM,EAAE,WAAW,CAAC;IACpB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAqBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,YAAY,EAAE,EACzB,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,EAClC,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CA6B9C"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAKH,OAAO,EAAgC,KAAK,eAAe,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEpG,eAAO,MAAM,iBAAiB,8DAA8D,CAAC;AAC7F,eAAO,MAAM,iBAAiB,4CAA4C,CAAC;AAE3E,gEAAgE;AAChE,eAAO,MAAM,eAAe,QAAsB,CAAC;AAEnD,8EAA8E;AAC9E,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAClC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,iDAAiD;AACjD,wBAAgB,cAAc,IAAI,IAAI,CAGrC;AAED,6EAA6E;AAC7E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAE9D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQxD;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ/C;AAED,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG;IAAE,QAAQ,EAAE,eAAe,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,CAkBvG;AAwBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA+BvG;AAID,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,MAAM,EAAE,WAAW,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsBD;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,YAAY,EAAE,EACzB,QAAQ,EAAE,eAAe,EAAE,GAAG,IAAI,EAClC,MAAM,EAAE,MAAM,GACb;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,eAAe,EAAE,CAAA;CAAE,CA6B9C"}
package/dist/catalog.js CHANGED
@@ -162,7 +162,8 @@ function comoEncontrada(serie) {
162
162
  nome: serie.nome,
163
163
  categoria: serie.categoria,
164
164
  periodicidade: serie.periodicidade,
165
- origem: "curado"
165
+ origem: "curado",
166
+ fonteNome: serie.fonteNome
166
167
  };
167
168
  }
168
169
  function comoEncontradaDoIndice(entrada) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
package/dist/series.d.ts CHANGED
@@ -63,6 +63,26 @@ export declare function inferirPeriodicidade(observacoes: Array<{
63
63
  * pode derrubar a consulta que o usuário pediu de verdade.
64
64
  */
65
65
  export declare function sondarPeriodicidade(codigo: number, timeoutMs?: number, maxRetries?: number): Promise<Periodicidade | null>;
66
+ /**
67
+ * Ordena observações da origem em ordem cronológica crescente.
68
+ *
69
+ * **A origem NÃO garante ordem em `ultimos/N`.** Medido em 12/08/2026 sobre as
70
+ * 169 séries do catálogo: 22 delas devolvem do mais NOVO para o mais velho
71
+ * (entre outras 4513, 4503, 5364, 5793, 27788, 27791, 27815, 195), enquanto o
72
+ * caminho `dados?dataInicial=` veio crescente em todas as 151 medidas. Não há
73
+ * padrão declarado pelo BCB e não há como saber de antemão qual série é qual —
74
+ * então toda leitura passa por aqui.
75
+ *
76
+ * Não é preciosismo: `handleVariacao` toma `data[0]` como valor inicial e o
77
+ * último como final. Na 4513 isso publicava −7,40% onde a série subiu +8,00%,
78
+ * com `dataInicial` posterior à `dataFinal`. Falha silenciosa, resposta
79
+ * bem-formada — a mesma classe que a fase já encontrou quatro vezes.
80
+ *
81
+ * Observação sem data parseável vai para o fim, preservando a ordem relativa:
82
+ * é a convenção que `fundir` já usava, e mantê-la evita descartar dado que a
83
+ * origem mandou.
84
+ */
85
+ export declare function ordenarPorData(observacoes: SerieValor[]): SerieValor[];
66
86
  export interface Janela {
67
87
  /** `dd/MM/yyyy` */
68
88
  inicio: string;
@@ -1 +1 @@
1
- {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../src/series.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../src/series.ts"],"names":[],"mappings":"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"}
package/dist/series.js CHANGED
@@ -126,6 +126,38 @@ export async function sondarPeriodicidade(codigo, timeoutMs, maxRetries) {
126
126
  return null;
127
127
  }
128
128
  }
129
+ /**
130
+ * Ordena observações da origem em ordem cronológica crescente.
131
+ *
132
+ * **A origem NÃO garante ordem em `ultimos/N`.** Medido em 12/08/2026 sobre as
133
+ * 169 séries do catálogo: 22 delas devolvem do mais NOVO para o mais velho
134
+ * (entre outras 4513, 4503, 5364, 5793, 27788, 27791, 27815, 195), enquanto o
135
+ * caminho `dados?dataInicial=` veio crescente em todas as 151 medidas. Não há
136
+ * padrão declarado pelo BCB e não há como saber de antemão qual série é qual —
137
+ * então toda leitura passa por aqui.
138
+ *
139
+ * Não é preciosismo: `handleVariacao` toma `data[0]` como valor inicial e o
140
+ * último como final. Na 4513 isso publicava −7,40% onde a série subiu +8,00%,
141
+ * com `dataInicial` posterior à `dataFinal`. Falha silenciosa, resposta
142
+ * bem-formada — a mesma classe que a fase já encontrou quatro vezes.
143
+ *
144
+ * Observação sem data parseável vai para o fim, preservando a ordem relativa:
145
+ * é a convenção que `fundir` já usava, e mantê-la evita descartar dado que a
146
+ * origem mandou.
147
+ */
148
+ export function ordenarPorData(observacoes) {
149
+ const comData = [];
150
+ const semData = [];
151
+ for (const obs of observacoes) {
152
+ const t = parseDataSgs(obs.data);
153
+ if (t === null)
154
+ semData.push(obs);
155
+ else
156
+ comData.push({ t, obs });
157
+ }
158
+ comData.sort((a, b) => a.t - b.t);
159
+ return [...comData.map(x => x.obs), ...semData];
160
+ }
129
161
  /** Dias que uma observação ocupa, por periodicidade — dimensiona janelas. */
130
162
  const DIAS_POR_OBSERVACAO = {
131
163
  diaria: 1.45, // dias corridos por dia útil (252 úteis / 365 corridos)
@@ -272,7 +304,9 @@ export async function buscarSerieSgs(pedido, timeoutMs, maxRetries, concorrencia
272
304
  try {
273
305
  const dados = (await fetchBcbApi(urlSerie(codigo, pedido.dataInicial, pedido.dataFinal), timeoutMs, maxRetries));
274
306
  requisicoes += 1;
275
- const observacoes = Array.isArray(dados) ? dados : [];
307
+ // Medido crescente em todas as janelas de data, mas a garantia não é da
308
+ // origem: normalizar aqui também custa um sort e fecha a classe inteira.
309
+ const observacoes = ordenarPorData(Array.isArray(dados) ? dados : []);
276
310
  return { observacoes, periodicidade: inferirPeriodicidade(observacoes), requisicoes };
277
311
  }
278
312
  catch (erro) {
@@ -313,7 +347,9 @@ export async function buscarUltimosSgs(codigo, quantidade, timeoutMs, maxRetries
313
347
  if (quantidade <= TETO_ULTIMOS) {
314
348
  const url = `${BCB_SGS_BASE}.${codigo}/dados/ultimos/${quantidade}?formato=json`;
315
349
  const dados = (await fetchBcbApi(url, timeoutMs, maxRetries));
316
- const observacoes = Array.isArray(dados) ? dados : [];
350
+ // `ultimos/N` é o caminho onde a origem devolve descendente em parte das
351
+ // séries — ver `ordenarPorData`.
352
+ const observacoes = ordenarPorData(Array.isArray(dados) ? dados : []);
317
353
  return { observacoes, periodicidade: inferirPeriodicidade(observacoes), requisicoes: 1 };
318
354
  }
319
355
  const periodicidade = (await sondarPeriodicidade(codigo, timeoutMs, maxRetries)) ?? "mensal";