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ódigo | HTTP | Quando acontece |
|---|---|---|
sem_chave | 401 | Cabeçalho Authorization ausente. |
chave_invalida | 401 | Chave inexistente ou já revogada. |
plano_sem_api | 403 | A chave é válida, mas o plano da conta não inclui a API. |
serie_inexistente | 404 | O slug não existe no catálogo. |
parametro_invalido | 400 | Data fora do formato AAAA-MM-DD. A API recusa em vez de ignorar em silêncio. |
cota_esgotada | 429 | Acabou 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"]
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.
Painel Econômico