Skip to main content

dadosimob

Dados públicos do mercado imobiliário brasileiro, prontos para análise. Brazilian public real estate data, ready for analysis. English below.

PyPI CI Licença: MIT

Prefeituras e órgãos públicos publicam dados valiosos sobre imóveis, mas cada fonte tem seu formato: planilhas com uma aba por mês, cabeçalhos que mudam de um ano para outro, números no formato brasileiro e links que trocam de endereço. O dadosimob resolve isso e entrega um pandas.DataFrame limpo e padronizado.

Instalação

pip install dadosimob

Para a versão em desenvolvimento: pip install git+https://github.com/Rafaxdz-1000/dadosimob.

Fontes disponíveis

Módulo Dado Cobertura Origem
dadosimob.itbi.sp Transações com ITBI pago Cidade de São Paulo, 2006 até hoje (atualização mensal) Secretaria Municipal da Fazenda

Os 21 arquivos anuais publicados até agora (2006 a julho de 2026, 2.736.208 transações) são lidos por inteiro: todos os meses, com valor e data preenchidos em pelo menos 99,99% das linhas de cada ano. Próximas fontes no roadmap.

Uso rápido

from dadosimob.itbi import sp

df = sp.read(2024)                    # baixa (com cache) e padroniza o ano inteiro
vendas = sp.clean(df, only_sales=True) # remove valores implausíveis e mantém só compra e venda

vendas.groupby("tipo_imovel")["preco_m2"].median()

Outras formas:

sp.list_files()                 # anos publicados e seus links atuais
sp.read(2024, months=[1, 2, 3]) # só o primeiro trimestre
sp.read("meu_arquivo.xlsx")     # planilha que você já baixou

Pela linha de comando:

dadosimob itbi-sp --listar
dadosimob itbi-sp --ano 2024 --limpar --apenas-vendas -o itbi_2024.csv

Colunas

Cada linha é uma Declaração de Transação Imobiliária (DTI) paga no mês de referência. As colunas originais viram nomes padronizados (sql, logradouro, numero, bairro, cep, natureza_transacao, valor_transacao, data_transacao, valor_venal_referencia, base_calculo, tipo_financiamento, valor_financiado, area_terreno_m2, area_construida_m2, descricao_uso, descricao_padrao, entre outras), e a biblioteca acrescenta:

  • mes_referencia: mês em que o imposto foi pago (a aba de origem)
  • tipo_imovel: apartamento, casa, terreno, comercial, industrial, garagem ou outro
  • preco_m2: valor da transação dividido pela área construída (ou pela área do terreno, no caso de terrenos), só quando o imóvel inteiro é transmitido
  • codigo_ibge: código IBGE do município

Números no formato brasileiro (1.234,56) e datas em texto ou no formato do Excel são convertidos automaticamente. cep (8 dígitos) e sql (11 dígitos) voltam como texto, com os zeros à esquerda que o Excel apaga.

Algumas abas do arquivo oficial vêm sem a linha de cabeçalho (em 2024, janeiro e outubro). Nesses casos a biblioteca usa o cabeçalho das outras abas do mesmo arquivo. Se uma aba mensal não puder ser lida, ela gera um aviso (logging.WARNING) em vez de sumir em silêncio. Nos arquivos de 2019 a 2022, a descrição do padrão vem rotulada como um segundo "ACC (IPTU)"; a biblioteca devolve cada dado na sua coluna.

Boas práticas com o dado

  • A data de pagamento do ITBI (mes_referencia) pode ser meses depois da data_transacao. Para séries de preço, prefira data_transacao.
  • valor_transacao é declarado pelo contribuinte. clean() remove extremos, mas vale olhar a distribuição antes de concluir algo.
  • Em 2024, quase metade das compras e vendas transmitiu só uma fração do imóvel (proporcao_transmitida abaixo de 100), como a unidade na planta registrada no lote-mãe, que pode aparecer como terreno. O arquivo não traz a área da fração, então preco_m2 fica vazio nesses casos.
  • A área é a área construída do cadastro do IPTU, não a área útil dos anúncios. Não compare preco_m2 direto com preço de portal.
  • bairro é texto livre e vem vazio em boa parte das linhas. Para recortes geográficos, prefira o CEP.
  • Os arquivos oficiais não trazem transações de imóveis rurais nem as pagas via PPI.
  • Os arquivos oficiais não contêm CPF ou CNPJ das partes.

Roadmap

  • ITBI de outras capitais que publicam uma linha por transação: Porto Alegre, Recife, Belo Horizonte, Fortaleza e Rio de Janeiro
  • Renda domiciliar por setor censitário (IBGE, Censo 2022)
  • Base CNPJ da Receita Federal com geocodificação por bairro
  • Admissões e desligamentos por município (CAGED)

Contribua

Cada cidade é um módulo independente: dá para contribuir sem conhecer o resto do código.

Conhece uma fonte pública que deveria estar aqui? Sugira.

Licença

Código sob MIT. Os dados pertencem aos órgãos que os publicam; consulte os termos de cada fonte.


English

dadosimob downloads Brazilian public real estate datasets and returns clean, standardized pandas DataFrames.

The first source is ITBI São Paulo: the property transfer tax declarations paid in the city of São Paulo since 2006, published monthly by the city's Finance Department as yearly Excel files with one sheet per month and headers that drift over time. dadosimob finds the current file links, caches downloads, detects header rows (and reuses them for sheets published without one), maps columns to stable snake_case names, parses Brazilian number and date formats, keeps the leading zeros of zip codes and property IDs, classifies property types and computes price per m² for whole-property transfers.

pip install dadosimob
from dadosimob.itbi import sp

df = sp.clean(sp.read(2024), only_sales=True)
df.groupby("tipo_imovel")["preco_m2"].median()

Column names are kept in Portuguese to match the source documentation. The area behind preco_m2 is the built area from the property tax registry, not the usable area quoted in listings, and bairro is free text that is often empty.

Each city is a self-contained module, so adding one needs no knowledge of the rest of the code. See the good first issues and the contributing guide (in Portuguese; issues and pull requests in English are welcome).

Metadata

Release files for dadosimob 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dadosimob 0.1.0
File Size Uploaded
dadosimob-0.1.0.tar.gz 21.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dadosimob 0.1.0
File Interpreter ABI Platform
dadosimob-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.4 kB

Release files / dadosimob-0.1.0.tar.gz

Download URL dadosimob-0.1.0.tar.gz
Size 21.5 kB
Tags Source
SHA-256 checksum
How to use checksums
31d3b4529f14fbda06cd88243321895b7e4aed48b93c86b575c4eb03a201f693
BLAKE2b-256 checksum
How to use checksums
19e8bbd6644bcaa2006abcc96d1f431481be211d21bcbd7fbada5713655ade05
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / dadosimob-0.1.0-py3-none-any.whl

Download URL dadosimob-0.1.0-py3-none-any.whl
Size 16.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb5f1ae03734a11f8c5961ea43362c3c4ca1547e27fb2f9de68978cbc618af52
BLAKE2b-256 checksum
How to use checksums
f8e83d435d54fd1b9cfc8e624000d3219fb6a36c28d9e8c51c15a40b723fa9fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page