A Base dos Dados é uma organização sem fins lucrativos (ONG) que mantém o maior repositório de dados públicos brasileiros já tratados, limpos e padronizados. O projeto tem como objetivo reduzir o custo de acesso a dados públicos, oferecendo:
Data lake público no Google BigQuery com centenas de tabelas tratadas
Padronização de variáveis — nomes de colunas, formatos de data, códigos IBGE, etc. seguem um dicionário unificado
Pacote Python (basedosdados) para acesso simplificado
Pacote R (basedosdados) com as mesmas funcionalidades
Catálogo online com busca por tema, órgão e palavra-chave
API CKAN para consultar metadados do catálogo
Entre os dados disponíveis estão: RAIS, CAGED, Censo Escolar, SINASC, SIM, CNPJ, Candidaturas TSE, PIB Municipal, Transferências do Tesouro, entre centenas de outras bases.
# 1. Instalar o pacote Pythonpip install basedosdados# 2. Na primeira execução, será solicitada autenticação Google# e criação de um projeto no Google Cloud
import basedosdados as bd# Consultar PIB per capita dos municípios de SP em 2020query = """SELECT m.nome AS municipio, p.pib / p.populacao AS pib_per_capita, p.pib, p.populacaoFROM `basedosdados.br_ibge_pib.municipio` AS pJOIN `basedosdados.br_bd_diretorios_brasil.municipio` AS m ON p.id_municipio = m.id_municipioWHERE p.ano = 2020 AND m.sigla_uf = 'SP'ORDER BY pib_per_capita DESCLIMIT 20"""df = bd.read_sql(query, billing_project_id="seu-projeto-google-cloud")print(df.head(20))
import basedosdados as bd# Verificar se sócios de empresas foram candidatos em 2022query = """SELECT s.cnpj, s.nome_socio, s.cpf_cnpj_socio, c.nome_urna, c.sigla_partido, c.descricao_cargo, c.resultadoFROM `basedosdados.br_rf_cnpj.socios` AS sJOIN `basedosdados.br_tse_eleicoes.candidatos` AS c ON s.cpf_cnpj_socio = c.cpfWHERE c.ano = 2022 AND c.sigla_uf = 'SP'LIMIT 100"""df = bd.read_sql(query, billing_project_id="seu-projeto-google-cloud")print(f"Sócios-candidatos encontrados: {len(df)}")print(df.head())
import basedosdados as bdquery = """SELECT m.nome AS municipio, m.sigla_uf, p.pib / p.populacao AS pib_per_capita, e.nome_urna AS prefeito_eleito, e.sigla_partidoFROM `basedosdados.br_ibge_pib.municipio` AS pJOIN `basedosdados.br_bd_diretorios_brasil.municipio` AS m ON p.id_municipio = m.id_municipioJOIN `basedosdados.br_tse_eleicoes.resultados_candidato_municipio` AS e ON m.id_municipio_tse = e.id_municipio_tseWHERE p.ano = 2020 AND e.ano = 2020 AND e.descricao_cargo = 'PREFEITO' AND e.resultado = 'eleito'ORDER BY pib_per_capita DESCLIMIT 50"""df = bd.read_sql(query, billing_project_id="seu-projeto-google-cloud")print(df.head(20))
O acesso ao BigQuery exige criar um projeto no Google Cloud. O free tier permite até 1 TB de consultas por mês gratuitamente.
Custo potencial
Consultas que excedam 1 TB/mês no BigQuery geram cobrança. Queries em tabelas muito grandes (RAIS, CNPJ) podem consumir volume significativo.
Defasagem nos dados
A Base dos Dados depende da publicação oficial pelos órgãos e do trabalho voluntário de tratamento. Pode haver atraso de semanas a meses em relação à fonte original.
Cobertura parcial
Nem todas as bases públicas brasileiras estão disponíveis. O catálogo está em constante expansão, mas pode não incluir dados muito recentes ou de nicho.
API CKAN limitada
A API CKAN permite consultar apenas metadados do catálogo, não os dados em si. Para acessar dados, é necessário usar BigQuery ou download.
Dependência do BigQuery
A principal forma de acesso é via BigQuery (Google). Não há alternativa open-source equivalente para consultas SQL sobre todo o data lake.
Tabelas em desenvolvimento
Algumas tabelas estão em status "em desenvolvimento" e podem conter dados incompletos ou com erros. Verificar o status no catálogo.
Dicionário de variáveis
Embora a padronização seja um diferencial, o dicionário completo de variáveis nem sempre está disponível para todas as tabelas.