Pular para o conteúdo
Painel Econômico
API

As 52 séries do Painel,
direto no seu código.

REST, JSON, autenticação por chave. A mesma coleta diária que alimenta o painel — com a série histórica completa, a fonte de cada número e a marca de quando a fonte revisou um valor já publicado.

Primeira chamada

A chave vai no cabeçalho Authorization. Você a gera dentro do painel, em Ferramentas → Chaves de API, e ela aparece uma única vez.

curl https://painelmacro.com.br/api/v1/series/cambio_usd/observacoes/ \
  -H "Authorization: Bearer pm_live_sua_chave_aqui"
{
  "slug": "cambio_usd",
  "nome": "Câmbio",
  "unidade": "R$",
  "frequencia": "mensal",
  "fonte": "Banco Central do Brasil",
  "total": 560,
  "observacoes": [
    { "data": "1980-01-01", "valor": 6.62, "revisado": false },
    { "data": "1980-02-01", "valor": 4.62, "revisado": false }
  ]
}

Endpoints

Caminho O que devolve
GET /api/v1/ Mapa dos endpoints e o estado da sua cota. Serve para conferir a chave.
GET /api/v1/series/ As 52 séries com metadados. Aceita ?categoria=.
GET /api/v1/series/{slug}/ Ficha de uma série: fonte, sistema de origem, unidade, periodicidade, início.
GET /api/v1/series/{slug}/observacoes/ A série histórica completa. Aceita ?inicio= e ?fim= em AAAA-MM-DD.
GET /api/v1/uso/ Quanto da cota do dia já foi usado.

Os slugs saem de /api/v1/series/. Alguns exemplos: cambio_usd, ipca, selic. Cada um tem também página pública com o valor atual.

Erros

Todo erro é JSON, nunca página HTML. O campo erro é um código estável, pensado para o seu código ler; mensagem é para quem está depurando.

CódigoHTTPQuando acontece
sem_chave401Cabeçalho Authorization ausente.
chave_invalida401Chave inexistente ou já revogada.
plano_sem_api403A chave é válida, mas o plano da conta não inclui a API.
serie_inexistente404O slug não existe no catálogo.
parametro_invalido400Data fora do formato AAAA-MM-DD. A API recusa em vez de ignorar em silêncio.
cota_esgotada429Acabou a cota do dia. Volta à meia-noite, horário de Brasília.

Toda resposta traz X-RateLimit-Limit e X-RateLimit-Remaining, para você desacelerar antes de tomar o 429.

Em Python, com pandas

import pandas as pd, requests

CHAVE = "pm_live_sua_chave_aqui"
BASE  = "https://painelmacro.com.br/api/v1"

r = requests.get(
    f"{BASE}/series/cambio_usd/observacoes/",
    headers={"Authorization": f"Bearer {CHAVE}"},
    params={"inicio": "2015-01-01"},
    timeout=30,
)
r.raise_for_status()

serie = pd.DataFrame(r.json()["observacoes"])
serie["data"] = pd.to_datetime(serie["data"])
serie = serie.set_index("data")["valor"]
Acesso

A API está no plano Empresarial.

Até 5000 requisições por dia, até 6 chaves ativas, todas as 52 séries com histórico completo. A chave para de funcionar no instante em que a assinatura é cancelada.

Precisa de volume maior, SLA ou séries sob medida? Escreva para suportepaineleconomico@gmail.com.