A marca de dados do PIRANOTDados públicos do Brasil, com a fonte oficial

DataX PIRANOT / Documentação

A API,
passo a passo.

Uma chave, um cabeçalho e JSON com fonte e data em toda resposta. Versão v1, de 27/10/2026.

Autenticação

Envie a chave no cabeçalho X-Api-Key em toda chamada a /api/v1/*. Chaves são pessoais; não as publique nem as compartilhe. Para obter uma, veja os planos.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/catalog"

Franquias por dia

PlanoRequisições por dia
Aberto100
Pro1.000
Business10.000

A franquia zera à meia-noite UTC. Passou do limite: a API responde 429 com o cabeçalho Retry-After (segundos até zerar). Toda resposta traz X-RateLimit-Limit e X-RateLimit-Remaining.

Catálogo

GET /api/v1/catalog

Lista os datasets com cobertura, fonte, licença, status, data da última atualização e endpoints.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/catalog"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/catalog", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/catalog",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "produto": "DataX PIRANOT",
  "versao": "v1",
  "datasets": [
    {
      "id": "eleicoes-2026-secoes",
      "nome": "Eleições 2026: locais de votação e seções",
      "cobertura": "5.757 municípios, 499.248 seções, 28 UFs",
      "fonte": "TSE, processamento PIRANOT",
      "licenca": "CC-BY, processamento PIRANOT",
      "status": "disponivel",
      "last_updated": "2026-10-25T20:59:01.625Z",
      "endpoints": ["/datax/api/v1/eleicoes/secoes/{uf}/{municipio}"]
    }
  ]
}

Preços (IPCA por grupos)

GET /api/v1/precos

IPCA geral e por grupos de consumo, mês a mês, com o peso oficial de cada grupo (IBGE, SIDRA 7060).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/precos"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/precos", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/precos",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Instituto Brasileiro de Geografia e Estatística (IBGE) — IPCA — Variação por grupos e pesos mensais (Tabela 7060)",
  "source_url": "https://apisidra.ibge.gov.br/values/t/7060/...",
  "last_updated": "2026-10-27T20:23:42.239Z",
  "periodo": { "primeiro": "2025-10", "ultimo": "2026-09" },
  "geral": {
    "code": "7169", "name": "Índice geral",
    "observations": [{ "month": "2026-09", "monthlyRate": 0.82, "twelveMonthRate": 4.58, "weight": 100 }]
  },
  "grupos": [
    { "code": "7170", "name": "Alimentação e bebidas",
      "observations": [{ "month": "2026-09", "monthlyRate": 0.83, "twelveMonthRate": 4.66, "weight": 21.509 }] }
  ],
  "ressalvas": ["A ponderação dos nove grupos reflete a média de consumo das famílias ..."]
}

Indicadores (Selic, IPCA, dólar)

GET /api/v1/indicadores

Séries de Selic, IPCA e dólar (PTAX) do Banco Central, com metadados e estado de cada fonte.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/indicadores"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/indicadores", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/indicadores",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": ["Banco Central do Brasil — BCB — SGS 432", "..."],
  "source_url": ["https://api.bcb.gov.br/dados/serie/bcdata.sgs.432/dados?formato=json&...", "..."],
  "last_updated": "2026-10-27T20:23:41.551Z",
  "indicadores": [
    {
      "id": "selic", "title": "Taxa Selic — meta", "unit": "percent-per-year",
      "points": [{ "date": "2026-10-26", "value": 13.75 }, { "date": "2026-10-27", "value": 13.75 }],
      "source": { "provider": "Banco Central do Brasil", "frequency": "daily", "status": "fresh" }
    }
  ]
}

Eleições: locais de votação e seções

GET /api/v1/eleicoes/secoes/{uf}/{municipio}

Locais de votação e seções de um município. A UF vai em minúsculas e o município pelo slug (ex.: piracicaba).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/eleicoes/secoes/sp/piracicaba"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/eleicoes/secoes/sp/piracicaba", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/eleicoes/secoes/sp/piracicaba",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "TSE, processamento PIRANOT (CC-BY)",
  "source_url": "https://www.piranot.com.br/eleicoes/secoes/sp/piracicaba/",
  "last_updated": "2026-10-25T20:59:01.620Z",
  "uf": "sp",
  "municipio": { "slug": "piracicaba", "nome": "PIRACICABA", "cod_tse": "68756", "secoes": 907, "locais": 112, "eleitores": 310331 },
  "locais": [
    {
      "slug": "etec-coronel-fernando-febeliano-da-costa",
      "nome": "ETEC. CORONEL FERNANDO FEBELIANO DA COSTA",
      "endereco": "RUA MONSENHOR MANOEL FRANCISCO ROSA, 433",
      "bairro": "CENTRO", "zona": "0093", "lat": -22.7188226, "lon": -47.649441, "eleitores": 3893,
      "secoes": [{ "secao": "0001", "principal": "0001", "eleitores": 285 }, "..."]
    }
  ]
}

Loterias: concurso

GET /api/v1/loterias/{modalidade}

Último concurso da modalidade, ou um concurso específico com ?concurso=N. Modalidades: megasena, quina, lotofacil, lotomania, duplasena, timemania, diadesorte, supersete, maismilionaria, federal, loteca.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/loterias/megasena"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/loterias/megasena", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/loterias/megasena",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Caixa Econômica Federal (dado público), processamento PIRANOT",
  "source_url": "https://www.piranot.com.br/loterias/mega-sena/",
  "last_updated": "2026-10-27T21:09:18.752Z",
  "modalidade": "megasena", "nome": "Mega-Sena",
  "concurso": {
    "concurso": 3075, "data": "2026-10-26",
    "dezenas": ["07", "10", "14", "27", "36", "55"],
    "acumulado": true, "valor_acumulado_proximo": 294165361.1, "proximo_concurso": 3076,
    "rateio": [
      { "faixa": 1, "descricao": "6 acertos", "ganhadores": 0, "premio": 0 },
      { "faixa": 2, "descricao": "5 acertos", "ganhadores": 182, "premio": 19433.12 }
    ]
  }
}

Loterias: estatísticas

GET /api/v1/loterias/{modalidade}/estatisticas

Frequência das dezenas, acumulado, concursos sem ganhador na faixa principal e ganhadores por UF, sobre o histórico coletado.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/loterias/megasena/estatisticas"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/loterias/megasena/estatisticas", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/loterias/megasena/estatisticas",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Caixa Econômica Federal (dado público), processamento PIRANOT",
  "source_url": "https://www.piranot.com.br/loterias/mega-sena/",
  "last_updated": "2026-10-27T21:09:18.752Z",
  "modalidade": "megasena", "nome": "Mega-Sena",
  "estatisticas": {
    "concursos_analisados": 300, "primeiro_concurso": 2776, "ultimo_concurso": 3075,
    "periodo": { "inicio": "2024-09-19", "fim": "2026-10-26" },
    "mais_sorteadas": [{ "dezena": "27", "vezes": 41 }, { "dezena": "15", "vezes": 38 }],
    "acumulado": { "acumulado": true, "valor_acumulado_proximo": 294165361.1, "concursos_sem_ganhador_faixa1": 16 }
  }
}

Crédito imobiliário: juros por banco

GET /api/v1/credito-imobiliario

Taxa de juros do financiamento imobiliário por instituição, em 6 modalidades (mercado e reguladas; prefixado, TR, IPCA), da menor para a maior, e a taxa média do mercado (BCB). Parâmetros: mes=AAAA-MM, modalidade, instituicao (CNPJ-base de 8 dígitos; devolve o histórico) e de=AAAA-MM.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/credito-imobiliario"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/credito-imobiliario", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/credito-imobiliario",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Banco Central do Brasil (SGS e Olinda/Taxas de juros), processamento PIRANOT",
  "source_url": ["https://www.bcb.gov.br/estabilidadefinanceira/txjuros", "..."],
  "last_updated": "2026-10-27T20:36:00.000Z",
  "referencia": { "mes": "2026-09", "meses_disponiveis": { "primeiro": "2012-01", "ultimo": "2026-09", "total": 177 } },
  "modalidades": [{
    "id": "mercado-prefixado", "grupo": "mercado", "indexador": "prefixado", "instituicoes": 4,
    "menor": { "rank": 1, "instituicao": "CAIXA ECONOMICA FEDERAL", "cnpj8": "00360305", "taxa_mes": 0.87, "taxa_ano": 10.94 },
    "ranking": ["..."]
  }],
  "serie_media": [{ "id": "mercado-ao-ano", "sgs": 20772, "unidade": "% a.a.", "ultimo": { "data": "2026-08-01", "valor": 14.24 }, "pontos": ["..."] }],
  "ressalvas": ["..."]
}

Rios: nível, vazão e chuva

GET /api/v1/ambiente/rios

Série horária de uma estação da telemetria da ANA (nível em cm, vazão em m³/s, chuva em mm), ou o rio Piracicaba em Piracicaba (SAISP/DAEE, via coleta do portal) sem parâmetros. Parâmetros: estacao (código ANA ou piracicaba-saisp), uf (lista as estações), de e ate (AAAA-MM-DD).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/ambiente/rios?estacao=62707500"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/ambiente/rios?estacao=62707500", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/ambiente/rios?estacao=62707500",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Agência Nacional de Águas e Saneamento Básico (ANA), Telemetria, processamento PIRANOT",
  "last_updated": "2026-10-28T00:21:00.000Z",
  "estacao": { "cod": "62707500", "nome": "PCH LUIZ QUEIROZ JUSANTE", "rio": "RIO PIRACICABA", "municipio": "PIRACICABA", "uf": "SP" },
  "janela": { "de": "2026-10-21", "ate": "2026-10-27" },
  "resumo": { "atual": { "nivel_cm": { "hora": "2026-10-27T20", "valor": 347.5 }, "vazao_m3s": { "hora": "2026-10-27T20", "valor": 704.21 } }, "chuva_mm": { "ultimas_24h": 0, "ultimos_7_dias": 76.8 } },
  "serie": [{ "hora": "2026-10-27T20", "nivel_cm": 347.5, "vazao_m3s": 704.21, "chuva_mm": 0, "leituras": 2 }]
}

Rios: inventário das estações

GET /api/v1/ambiente/rios/estacoes

Inventário das estações telemétricas da ANA (código, nome, rio, município, UF, coordenadas), com a marca da bacia do Piracicaba e se há série coletada. Parâmetro: uf.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/ambiente/rios/estacoes?uf=SP"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/ambiente/rios/estacoes?uf=SP", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/ambiente/rios/estacoes?uf=SP",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "total": 447, "com_dados": 20,
  "estacoes": [{ "cod": "62707500", "nome": "PCH LUIZ QUEIROZ JUSANTE", "rio": "RIO PIRACICABA", "municipio": "PIRACICABA", "uf": "SP", "lat": -22.7003, "lon": -47.7108, "bacia_piracicaba": true, "com_dados": true }]
}

Clima: ESALQ/USP

GET /api/v1/ambiente/clima-esalq

Estação Meteorológica da ESALQ/USP em Piracicaba: a leitura mais recente de 15 min, as leituras do período, o resumo diário e os recordes. Parâmetros: de e ate (AAAA-MM-DD).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/ambiente/clima-esalq"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/ambiente/clima-esalq", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/ambiente/clima-esalq",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "agora": { "t": "2026-10-27T21:15:00", "temp": 18.94, "umidade": 72, "vento_kmh": 10.6, "chuva_mm": 0, "pressao_kpa": 95.4 },
  "ultimo_dia_fechado": { "dia": "2026-10-26", "temp_max": 25.05, "temp_min": 13.78, "chuva_mm": 0 },
  "recorde_do_dia": { "temp_max": { "valor": 37.64, "dia": "2025-10-06" }, "chuva_dia": { "valor": 101.6, "dia": "2025-12-09" }, "serie_desde": "2025-08-22" },
  "quinze_min": ["..."], "diario": ["..."]
}

Clima: previsão de Piracicaba (INMET)

GET /api/v1/ambiente/previsao-piracicaba

Última previsão oficial do INMET para Piracicaba (poucos dias, os primeiros por manhã, tarde e noite), com a hora de emissão; cada emissão é guardada, a cada 6 horas. Parâmetro: emitida_em (instante ISO) devolve a emissão vigente naquele momento.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/ambiente/previsao-piracicaba"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/ambiente/previsao-piracicaba", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/ambiente/previsao-piracicaba",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "emissoes": { "total": 1, "primeira": "2026-10-28T18:00:00.000Z", "ultima": "2026-10-28T18:00:00.000Z" },
  "previsao": { "emitida_em": "2026-10-28T18:00:00.000Z", "ibge": "3538709", "dias": [{ "data": "2026-10-28", "temp_min": 15, "temp_max": 29, "periodos": { "manha": { "resumo": "Muitas nuvens" } } }] }
}

Segurança pública: Sinesp VDE

GET /api/v1/seguranca/sinesp

Eventos de segurança pública por mês (homicídio doloso, feminicídio, roubo e furto de veículo e outros), total do ano e variação percentual simples contra o mesmo período do ano anterior, para o município, a UF e o Brasil (Sinesp VDE/MJSP). Parâmetros: uf, municipio (exige uf), evento, de=AAAA-MM e ate=AAAA-MM (padrão: os 12 meses até o último coletado).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/seguranca/sinesp?uf=SP&municipio=PIRACICABA"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/seguranca/sinesp?uf=SP&municipio=PIRACICABA", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/seguranca/sinesp?uf=SP&municipio=PIRACICABA",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Sinesp VDE/MJSP (Ministério da Justiça e Segurança Pública), processamento PIRANOT",
  "last_updated": "2026-10-28T00:15:29.671Z",
  "referencia": { "ultimo_mes": "2026-09", "de": "2025-10", "ate": "2026-09", "ano": 2026 },
  "metodo_variacao": "Variação percentual simples: ...",
  "quadros": [{
    "escopo": "municipio", "rotulo": "PIRACICABA/SP", "ano": 2026, "ate_mes": "2026-09",
    "eventos": [{ "evento": "Homicídio doloso", "meses": [{ "mes": "2025-10", "valor": 1 }, "..."], "total_ano": 8, "mesmo_periodo_ano_anterior": 5, "variacao_pct": 60 }]
  }],
  "ressalvas": ["..."]
}

Segurança pública em SP: ocorrências por município

GET /api/v1/seguranca/sp

Ocorrências e produtividade policial da SSP-SP por natureza e mês, acumulado do ano contra o mesmo período do ano anterior e, com natureza, o ranking dos municípios em números absolutos. Parâmetros: municipio (id da SSP ou nome; padrão Piracicaba), natureza (id ou slug), de e ate (AAAA-MM). Rota extra, /api/v1/seguranca/ssp-sp/dp: as mesmas ocorrências por delegacia (DP), só da capital e de Piracicaba, desde 2022; parâmetros municipio (São Paulo ou Piracicaba), dp (id da SSP ou nome), natureza, de e ate; sem dp nem natureza lista as DPs. A resposta traz leitura_editorial: registro de ocorrência não é o mesmo que crime, depende de quem registra.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/seguranca/sp?municipio=Piracicaba&natureza=homicidio-doloso"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/seguranca/sp?municipio=Piracicaba&natureza=homicidio-doloso", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/seguranca/sp?municipio=Piracicaba&natureza=homicidio-doloso",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Secretaria da Segurança Pública do Estado de São Paulo (SSP-SP), processamento PIRANOT",
  "municipio": { "id": 436, "nome": "Piracicaba", "regiao": 11 },
  "referencia": { "ultimo_mes_publicado": "2026-08", "periodo": { "de": "2025-09", "ate": "2026-08" }, "meses": ["2025-09", "..."] },
  "cobertura": { "municipios_coletados": 30, "municipios_total": 645, "municipios_no_periodo": 30 },
  "naturezas": [{
    "id": 38, "slug": "homicidio-doloso", "nome": "HOMICÍDIO DOLOSO", "grupo": "ocorrencias",
    "valores": [3, 0, 1, 3, 0, 0, 1, 0, 1, 2, 0, 5],
    "acumulado": { "ano": 2026, "periodo": "jan-ago", "atual": 9, "ano_anterior": 2025, "anterior": 17, "variacao_pct": -47.1 }
  }],
  "ranking": { "natureza": { "id": 38, "slug": "homicidio-doloso", "nome": "HOMICÍDIO DOLOSO" }, "municipios": 30, "posicao_do_municipio": 22, "linhas": ["..."] },
  "ressalvas": ["..."]
}

Mercado de imóveis: IVG-R e pesquisa do CRECI-SP

GET /api/v1/imobiliario/creci-sp

Duas rotas. /api/v1/imobiliario/ivg-r: série mensal do IVG-R do Banco Central (parâmetro de=AAAA-MM). /api/v1/imobiliario/creci-sp: pesquisa mensal do CRECI-SP sobre imóveis usados, com participação dos negócios por faixa de preço de venda e de aluguel, tipo, dormitórios, pagamento, garantia, desconto e localização, e variação do número de negócios (volume, não preço). Parâmetros: recorte (estadual ou capital), mes=AAAA-MM (24 meses) e tabela (id, por exemplo venda.faixa, locacao.faixa, venda.pagamento).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/imobiliario/creci-sp?recorte=estadual&tabela=venda.pagamento"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/imobiliario/creci-sp?recorte=estadual&tabela=venda.pagamento", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/imobiliario/creci-sp?recorte=estadual&tabela=venda.pagamento",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "CRECI-SP, Pesquisa de Mercado (imóveis usados, Estado de São Paulo), processamento PIRANOT",
  "referencia": { "recorte": "estadual", "mes": "2026-06", "titulo_pdf": "Junho/2026", "meses_disponiveis": { "primeiro": "2024-07", "ultimo": "2026-06", "total": 24 } },
  "variacao_numero_de_negocios": {
    "pagina": 12, "vendas": { "mes": 6, "mes_pct": 1.55, "acumulado_pct": 9.32 }, "locacoes": { "mes": 6, "mes_pct": -2.79, "acumulado_pct": 11.93 },
    "acumulado_12_meses_pct": { "vendas": 1.98, "locacoes": 2.84 }
  },
  "tabelas": [{
    "id": "venda.pagamento", "titulo": "Vendas, por forma de pagamento", "pagina": 7, "pagina_fim": 7,
    "fonte": "CRECI-SP, pesquisa de 06/2026, p. 7",
    "linhas": [{ "rotulo": "Financiamento CAIXA", "pct": 53.9 }, "..."]
  }],
  "ressalvas": ["..."]
}

IPVA de São Paulo: valor venal dos veículos

GET /api/v1/veiculos/ipva-sp

Valor venal da tabela da Secretaria da Fazenda de SP e o IPVA estimado (valor venal × alíquota do tipo). Parâmetros: marca, modelo, ano (ano-modelo), tipo (automovel, camioneta, caminhao, onibus, moto), exercicio=AAAA e limite (1 a 200). Exige ao menos um filtro.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/veiculos/ipva-sp?marca=honda&modelo=civic&ano=2020"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/veiculos/ipva-sp?marca=honda&modelo=civic&ano=2020", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/veiculos/ipva-sp?marca=honda&modelo=civic&ano=2020",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Secretaria da Fazenda e Planejamento do Estado de São Paulo (Resolução SFP, Anexo I; pesquisa contratada à Fipe), processamento PIRANOT",
  "referencia": { "exercicio": 2026, "mes_base": "SETEMBRO/2025", "resolucao": "Resolução SFP 40, de 10/12/2025", "modelos_e_versoes": 13571 },
  "total_encontrado": 1, "truncado": false,
  "resultados": [{
    "tipo": "automovel", "marca": "FERRARI", "modelo": "I/FERRARI DAYTONA SP3", "codigo_ipva": "1008810", "codigo_complementar": "0000",
    "ano_modelo": 2023, "valor_venal": 18291927, "aliquota_pct": 4, "ipva_estimado": 731677.08
  }],
  "ressalvas": ["..."]
}

Combustíveis: preço semanal por município

GET /api/v1/combustiveis

Preço de revenda por produto no município na última semana pesquisada pela ANP (média, mínimo, máximo e nº de postos), variação contra 4 e 12 semanas antes, média da UF e do Brasil, ranking dos 10 municípios mais baratos e mais caros da UF e a série semanal. Parâmetros: uf (sigla; padrão SP), municipio (padrão Piracicaba), produto (gasolina-comum, gasolina-aditivada, etanol, diesel-s10, diesel, gnv, glp), de e ate (AAAA-MM-DD) e min_postos (ranking).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/combustiveis?uf=SP&municipio=Piracicaba"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/combustiveis?uf=SP&municipio=Piracicaba", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/combustiveis?uf=SP&municipio=Piracicaba",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "Agência Nacional do Petróleo, Gás Natural e Biocombustíveis (ANP), Levantamento de Preços de Combustíveis, processamento PIRANOT",
  "source_url": ["https://www.gov.br/anp/...", "..."],
  "last_updated": "2026-10-27T23:10:00.000Z",
  "referencia": { "semana": { "inicio": "2026-10-18", "fim": "2026-10-24" }, "uf": "SP", "municipio": "Piracicaba" },
  "produtos": [{
    "id": "gasolina-comum", "postos": 16, "preco_medio": 6.17, "preco_minimo": 5.49, "preco_maximo": 6.79,
    "variacao_4_semanas": { "semana_referencia": "2026-09-20", "absoluta": 0.05, "percentual": 0.82 },
    "media_uf": { "postos": 1288, "preco_medio": 6.35 }, "media_brasil": { "postos": 4600, "preco_medio": 6.49 }
  }],
  "ranking": { "produto": "gasolina-comum", "mais_baratos": [{ "posicao": 1, "municipio": "...", "postos": 8, "preco_medio": 5.9 }], "mais_caros": ["..."] },
  "serie": [{ "semana_inicio": "2026-10-18", "produto": "gasolina-comum", "preco_medio": 6.17 }],
  "ressalvas": ["..."]
}

Saúde: dengue, chikungunya e zika por município

GET /api/v1/saude/arboviroses

Casos notificados e estimados, incidência por 100 mil, nível de alerta (1 a 4) e Rt por município e semana epidemiológica (InfoDengue, Fiocruz e FGV-EMAp), com o acumulado do ano contra o anterior e o ranking da UF. Parâmetros: municipio (geocódigo IBGE, padrão Piracicaba), doenca (dengue, chikungunya, zika), de e ate (AAAASS) e uf (só o ranking).

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/saude/arboviroses?municipio=3538709&doenca=dengue"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/saude/arboviroses?municipio=3538709&doenca=dengue", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/saude/arboviroses?municipio=3538709&doenca=dengue",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "InfoDengue (Fiocruz e FGV-EMAp), processamento PIRANOT",
  "doenca": "dengue",
  "municipio": { "geocode": "3538709", "nome": "Piracicaba", "uf": "SP" },
  "referencia": { "ultima_semana": 202642, "municipios_coletados": 671 },
  "semanas": [{ "semana": 202642, "inicio": "2026-10-18", "casos": 5, "casos_est": 129, "incidencia_100k": 29.69, "nivel": 1, "rt": 0.65 }],
  "acumulado": { "ate_semana": 42, "ano": 2026, "atual": { "casos": 9024 }, "ano_anterior": { "ano": 2025 } },
  "ranking_uf": { "uf": "SP", "semana": 202642, "municipios": [{ "rank": 1, "nome": "...", "nivel": 3, "inc100k": 80.1 }] },
  "ressalvas": ["..."]
}

Preços agropecuários (CEPEA/ESALQ-USP)

GET /api/v1/agro/cepea

Indicadores de preço do CEPEA/ESALQ-USP em reais (brl) e dólares (usd), com praça e notas. Sem indicador: todas as séries com o último dia. Com indicador (boi-gordo, soja, milho, cafe, acucar, etanol, algodao, trigo, frango, suino, leite, ovos, mandioca, arroz, bezerro) ou id de série: as linhas, filtradas por de e ate (AAAA-MM-DD); limite até 5000 linhas, as mais recentes. Licença CC BY-NC 4.0 do CEPEA: uso não comercial.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/agro/cepea?indicador=soja&de=2026-10-20"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/agro/cepea?indicador=soja&de=2026-10-20", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/agro/cepea?indicador=soja&de=2026-10-20",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "CEPEA/ESALQ-USP",
  "licenca": "CEPEA (CC BY-NC 4.0) ...",
  "indicador": "soja",
  "series": [{
    "id": "indicador-da-soja-cepea-esalq-paranagua",
    "titulo": "INDICADOR DA SOJA CEPEA/ESALQ - PARANAGUÁ",
    "periodicidade": "diaria", "colunas": ["brl", "usd"], "dim": null,
    "source_url": "https://www.cepea.org.br/br/indicador/soja.aspx",
    "notas": ["Nota 1: Reais por saca de 60 kg."],
    "truncado": false,
    "linhas": [{ "data": "2026-10-27", "brl": 157.41, "usd": 29.5 }]
  }],
  "ressalvas": ["..."]
}

Correção monetária (8 índices)

GET /api/v1/correcao

Corrige um valor entre dois meses por IPCA, INPC, IPCA-15, IGP-M, IGP-DI, INCC, IPC-Fipe ou Selic acumulada, com fator, percentual e memória mês a mês (método da Calculadora do Cidadão do BCB). Atalho de aluguel: ?indice=igpm&valor=1000&aniversario=2025-06.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/v1/correcao?indice=ipca&valor=1000&de=2024-01&ate=2024-12"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/v1/correcao?indice=ipca&valor=1000&de=2024-01&ate=2024-12", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/v1/correcao?indice=ipca&valor=1000&de=2024-01&ate=2024-12",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "fonte": "IBGE, via Banco Central do Brasil (SGS 433)",
  "indice": "ipca",
  "indice_nome": "IPCA (IBGE)",
  "valor": 1000,
  "de": "2024-01",
  "ate": "2024-12",
  "meses": 12,
  "fator": 1.0483,
  "percentual": 4.83,
  "corrigido": 1048.3,
  "memoria": [{ "mes": "2024-01", "taxa": 0.42, "fator": 1.0042, "acumulado": 1.0042, "valor": 1004.2 }],
  "metodo": "Calculadora do Cidadão (Banco Central do Brasil): produto dos fatores mensais (1 + taxa/100) do mês inicial ao mês final, inclusive.",
  "last_updated": "2026-10-28T00:19:21.174Z"
}

Contas municipais (Siconfi/DCA)

GET /api/municipio/{ibge}

Receita realizada, despesa empenhada e liquidada e as linhas dos anexos I-C e I-D da Declaração de Contas Anuais do município (código IBGE de 7 dígitos; recorte atual: Piracicaba). Também em CSV com ?format=csv. Rota aberta, sem chave.

curl

curl -H "X-Api-Key: SUA_CHAVE" \
  "https://www.piranot.com.br/datax/api/municipio/3538709"

JavaScript

const res = await fetch("https://www.piranot.com.br/datax/api/municipio/3538709", {
  headers: { "X-Api-Key": "SUA_CHAVE" },
});
const dados = await res.json();

Python

import requests

res = requests.get(
    "https://www.piranot.com.br/datax/api/municipio/3538709",
    headers={"X-Api-Key": "SUA_CHAVE"},
)
dados = res.json()

Resposta (trecho real, abreviado)

{
  "municipality": "Piracicaba",
  "ibgeCode": "3538709",
  "uf": "SP",
  "year": 2025,
  "metrics": [{ "id": "receita-realizada", "label": "Receitas brutas realizadas", "value": 3012345678.9, "stage": "realizada", "accountCode": "1.0.0.0.0.00.0.0", "column": "Receitas Brutas Realizadas" }],
  "rows": [{ "accountCode": "1.1.0.0.0.00.0.0", "accountName": "Impostos, Taxas e Contribuições de Melhoria", "column": "Receitas Brutas Realizadas", "value": 1234567.89, "period": "2025" }],
  "sources": [{ "provider": "Tesouro Nacional / Siconfi", "url": "https://apidatalake.tesouro.gov.br/ords/siconfi/tt/dca?an_exercicio=2025&id_ente=3538709", "fetchedAt": "2026-10-27T23:46:37.254Z" }]
}

MCP: ferramenta consultar

Todo dataset do catálogo chega às IAs pelo MCP (https://www.piranot.com.br/datax/mcp) na ferramenta consultar: dataset (id do catálogo), parametros (objeto com os mesmos parâmetros da rota /api/v1 do dataset) e, onde há mais de um, recurso. Usa a mesma leitura e as mesmas validações da rota, devolve o mesmo envelope (fonte, source_url, licença, last_updated, qualidade e aviso) e conta 1 operação por chamada. A lista abaixo é gerada do mesmo mapa que o servidor usa.

datasetrecursoparametrosexemplo
eleicoes-2026-secoes—uf: sigla da UF (obrigatório); municipio: slug do município (obrigatório){"dataset":"eleicoes-2026-secoes","parametros":{"uf":"sp","municipio":"piracicaba"}}
loterias-caixaconcursomodalidade: slug da modalidade (obrigatório); concurso: número do concurso{"dataset":"loterias-caixa","recurso":"concurso","parametros":{"modalidade":"megasena"}}
loterias-caixaestatisticasmodalidade: slug da modalidade (obrigatório){"dataset":"loterias-caixa","recurso":"estatisticas","parametros":{"modalidade":"megasena"}}
precos-inflacao-cambioprecosnenhum{"dataset":"precos-inflacao-cambio","recurso":"precos","parametros":{}}
precos-inflacao-cambioindicadoresnenhum{"dataset":"precos-inflacao-cambio","recurso":"indicadores","parametros":{}}
credito-imobiliario—mes: AAAA-MM (padrão: o mais recente); modalidade: id da modalidade; instituicao: CNPJ-8 (devolve o histórico dela); de: AAAA-MM (início das séries){"dataset":"credito-imobiliario","parametros":{}}
imoveisivg-rde: AAAA-MM (início da série){"dataset":"imoveis","recurso":"ivg-r","parametros":{"de":"2024-01"}}
imoveiscreci-sprecorte: estadual (padrão) ou capital; mes: AAAA-MM (padrão: o mais recente; 24 meses); tabela: id de uma tabela (venda.faixa, locacao.faixa, venda.pagamento...){"dataset":"imoveis","recurso":"creci-sp","parametros":{"recorte":"estadual"}}
ipva-sp—marca: parte do nome da marca; modelo: palavras da descrição do modelo; ano: ano-modelo (AAAA); tipo: automovel, camioneta, caminhao, onibus ou moto; exercicio: AAAA (padrão: o mais recente); limite: 1 a 200 (padrão 50){"dataset":"ipva-sp","parametros":{"marca":"honda","modelo":"civic","ano":"2020"}}
riosserieestacao: código ANA ou piracicaba-saisp; uf: sigla; de: AAAA-MM-DD; ate: AAAA-MM-DD{"dataset":"rios","recurso":"serie","parametros":{}}
riosestacoesuf: sigla{"dataset":"rios","recurso":"estacoes","parametros":{"uf":"SP"}}
clima-piracicabaclima-esalqde: AAAA-MM-DD; ate: AAAA-MM-DD{"dataset":"clima-piracicaba","recurso":"clima-esalq","parametros":{}}
clima-piracicabaprevisaoemitida_em: instante ISO 8601 (emissão vigente naquele momento){"dataset":"clima-piracicaba","recurso":"previsao","parametros":{}}
sinesp-vde—uf: sigla; municipio: nome (exige uf); evento: nome do evento; de: AAAA-MM; ate: AAAA-MM{"dataset":"sinesp-vde","parametros":{"uf":"SP"}}
seguranca-ssp-spprincipalmunicipio: id da SSP ou nome (padrão Piracicaba); natureza: id ou slug (devolve também o ranking); de: AAAA-MM; ate: AAAA-MM{"dataset":"seguranca-ssp-sp","recurso":"principal","parametros":{"municipio":"Piracicaba"}}
seguranca-ssp-spdpmunicipio: São Paulo ou Piracicaba (padrão Piracicaba); dp: id da SSP ou nome da DP; natureza: id ou slug; de: AAAA-MM; ate: AAAA-MM{"dataset":"seguranca-ssp-sp","recurso":"dp","parametros":{"municipio":"Piracicaba","natureza":"roubo-de-veiculo"}}
combustiveis—uf: sigla; municipio: nome; produto: id do produto; de: AAAA-MM-DD; ate: AAAA-MM-DD; min_postos: N (ranking){"dataset":"combustiveis","parametros":{"uf":"SP","municipio":"Piracicaba"}}
saude-arboviroses—municipio: geocódigo IBGE de 7 dígitos; doenca: dengue | chikungunya | zika; de: AAAASS; ate: AAAASS; uf: sigla (só o ranking da UF){"dataset":"saude-arboviroses","parametros":{"municipio":"3538709","doenca":"dengue"}}
agro-cepea—indicador: slug (boi-gordo, soja, cafe...) ou id da série; de: AAAA-MM-DD; ate: AAAA-MM-DD; limite: N{"dataset":"agro-cepea","parametros":{}}
indices-correcao—indice: ipca | inpc | ipca15 | igpm | igpdi | incc | ipcfipe | selic (obrigatório); valor: valor a corrigir (obrigatório); de: AAAA-MM; ate: AAAA-MM; aniversario: AAAA-MM (atalho de aluguel, no lugar de de/ate){"dataset":"indices-correcao","parametros":{"indice":"ipca","valor":"1000","de":"2024-01","ate":"2024-12"}}
contas-municipais—ibge: código IBGE de 7 dígitos (obrigatório){"dataset":"contas-municipais","parametros":{"ibge":"3538709"}}

JSON-RPC

curl -X POST https://www.piranot.com.br/datax/mcp -H "X-Api-Key: SUA_CHAVE" -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"consultar","arguments":{"dataset":"credito-imobiliario"}}}'

Erros

CódigoQuandoCorpo
401Chave ausente, inválida ou revogada.{"error": "Chave ausente. Envie o cabeçalho X-Api-Key.", "planos": "...", "info": "..."}
404Município, modalidade ou concurso inexistente.{"error": "Modalidade desconhecida."}
429Franquia diária do plano excedida. Veja Retry-After.{"error": "Franquia diária excedida (100 requisições/dia no plano Aberto)."}

Também: 400 para parâmetro inválido e 503 quando a fonte do dataset está indisponível.

Atribuição obrigatória

Ao publicar dados obtidos por esta API, cite: Fonte: DataX PIRANOT. Dados do TSE também exigem “TSE, processamento PIRANOT” (CC-BY). Detalhes nos termos de uso.

Changelog

v1 · 27/10/2026
Primeira versão pública: catalog, precos, indicadores, eleicoes/secoes, loterias/{modalidade} e loterias/{modalidade}/estatisticas. Chave por cabeçalho e franquia diária por plano.