ipea
geobr
R

Easy access to official spatial data sets of Brazil in R and Python

Last updated Jul 7, 2026
932
Stars
129
Forks
18
Issues
+2
Stars/day
Attention Score
70
Language breakdown
R 55.7%
Python 44.3%
Files click to expand
README

geobr: Download Official Spatial Data Sets of Brazil

logo logo

geobr is a computational package to download official spatial data sets of Brazil. The package covers a wide range of spatial data sets, available at various geographic scales and for various years with harmonized attributes, projection and fixed topology (see detailed list of available data sets below).

The package is currently available in R and Python.

| R | Python | Repo | |----|----|----| | CRAN/METACRAN Version
CRAN/METACRAN Total downloads
CRAN/METACRAN downloads per month
Codecov test coverage
Lifecycle: stable
R build status | PyPI version
Downloads
Downloads
Python Codecov test coverage
Lifecycle: stable
Python build status | GitHub stars

Project Status: Active – The project has reached a stable, usable state and is being actively developed. |

Installation R

r

From CRAN

install.packages("geobr")

or use the development version with latest features

utils::remove.packages('geobr') remotes::install_github("ipea/geobr", subdir = "r-package")

obs. If you use Linux, you need to install a couple dependencies before installing the libraries sf and geobr. More info here.

Installation Python

uv is the recommended installer. From your project directory (run uv init first if you don’t have a pyproject.toml yet):

bash
uv add geobr

Alternatively, with pip:

bash
pip install geobr

Windows users:

bash
conda create -n geo_env
conda activate geo_env  
conda config --env --add channels conda-forge  
conda config --env --set channel_priority strict  
conda install python=3 geopandas  
uv add geobr

Basic Usage

The syntax of all geobr functions operate on the same logic so it becomes intuitive to download any data set using a single line of code. Like this:

R, reading the data as an sf object

r
library(geobr)

Read specific municipality at a given year

mun <- readmunicipality(codemuni = 1200179, year = 2022)

Read all municipalities of given state at a given year

mun <- readmunicipality(codemuni = "RJ", year = 2022) # or mun <- readmunicipality(codemuni = 33, year = 2022)

Read all municipalities in the country at a given year

mun <- readmunicipality(codemuni="all", year = 2022)

More examples in the intro Vignette

Python, reading the data as a geopandas object

python
from geobr import read_municipality

Read specific municipality at a given year

mun = readmunicipality(codemuni=1200179, year=2017)

Read all municipalities of given state at a given year

mun = readmunicipality(codemuni=33, year=2010) # or mun = readmunicipality(codemuni="RJ", year=2010)

Read all municipalities in the country at a given year

mun = readmunicipality(codemuni="all", year=2018)

Since v1.0.0, the Python package uses a GeoParquet pipeline. For DuckDB workflows, use query() to load and analyze snapshots directly in SQL.

Python, DuckDB SQL and spatial analysis

Run SQL across geobr snapshots. Missing views are downloaded automatically on first use.

python
from geobr import query, to_geopandas

Filter a snapshot (auto-downloads states_2020 on first use)

query(""" SELECT namestate, abbrevstate FROM states_2020 WHERE abbrev_state = 'RJ' """).df()

Spatial join across datasets

query(""" SELECT count(*) AS schoolsinamazon FROM schools_2020 s JOIN biomes2019 b ON STWithin(s.geometry, b.geometry) WHERE b.name_biome ILIKE '%Amaz%' """).df()

Round-trip to GeoPandas for plotting

gdf = togeopandas("states2020")

More examples in python-package/examples, including duckdb_demo.ipynb.

Available datasets:

You can check all the data sets available with \`list_geobr()

| Function | Geographies available | Source | Years available | |:---|:---|:---|:---| | read_amazon | Brazil’s Legal Amazon | MMA | 2019, 2020, 2021, 2022, 2024 | | read_biomes | Biomes | IBGE | 2006, 2019, 2025 | | readcensustract | Census tract (setor censitário) | IBGE | 2000, 2010, 2022 | | readconservationunits | Environmental Conservation Units | MMA | 202402, 202503 | | read_country | Country | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | readdisasterrisk_area | Disaster risk areas | CEMADEN and IBGE | 2010 | | read_favelas | Favelas and urban communities | IBGE | 2022 | | readhealthfacilities | Health facilities | CNES, DataSUS | 201704, 201707, 201710, 201801, 201804, 201807, 201810, 201901, 201904, 201907, 201910, 202001, 202004, 202007, 202010, 202101, 202104, 202107, 202110, 202201, 202204, 202207, 202210, 202301, 202304, 202307, 202310, 202401, 202404, 202407, 202410, 202501, 202504, 202507, 202510, 202601, 202604 | | readhealthregion | Health regions and macro regions | DataSUS | 1991, 1994, 1997, 2001, 2005, 2013, 2023, 2024, 2025 | | readimmediateregion | Immediate region | IBGE | 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | readindigenousland | Indigenous lands | FUNAI | 2016, 2017, 2018, 2019, 2022, 2024, 2025 | | readintermediateregion | Intermediate region | IBGE | 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | readmesoregion | Meso region | IBGE | 2000, 2001, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 | | readmetroarea | Metropolitan areas | IBGE | 1970, 2001, 2002, 2003, 2005, 2008, 2009, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 | | readmicroregion | Micro region | IBGE | 2000, 2001, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022 | | read_municipality | Municipality | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2005, 2007, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | readmunicipalseat | Municipality seats (sedes municipais) | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2010, 2022 | | read_neighborhood | Neighborhood limits | IBGE | 2010, 2022 | | readpollingplaces | Voting places | TSE | 2010, 2012, 2014, 2016, 2018, 2020, 2022, 2024 | | readurbanconcentrations | Urban concentration areas (concentrações urbanas) | IBGE | 2010 | | readpoparrangements | Population arrangements (arranjos populacionais) | IBGE | 2010 | | readquilombolalands | Quilombola lands officialy recognized | Incra | 202605 | | readcomparableareas | Historically comparable municipalities, aka áreas mínimas comparáveis (AMCs) | IBGE | temporarily suspended | | read_region | Region | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | read_schools | Schools | INEP | 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | read_semiarid | Semi Arid region | IBGE | 2005, 2017, 2021, 2022 | | read_state | States | IBGE | 1872, 1900, 1911, 1920, 1933, 1940, 1950, 1960, 1970, 1980, 1991, 2000, 2001, 2010, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025 | | readstatisticalgrid | Statistical Grid (gridded population) | IBGE | 2010, 2022 | | readurbanarea | Urban footprints | IBGE | 2005, 2015, 2019 | | readweightingarea | Census weighting area (área de ponderação) | IBGE | 2010 |

point_right: **All datasets use geodetic reference system “SIRGAS2000”, CRS(4674).**

Other support functions:

| Function | Action | |----|----| | list_geobr | List all datasets available in the geobr package | | lookup_muni | Look up municipality codes by their name, or the other way around | | remove_islands | Removes distant oceanic islands from Brazil | | gridstatecorrespondence_table | Loads a correspondence table indicating what quadrants of IBGE’s statistical grid intersect with each state | | ceptostate | Determine the state of a given CEP postal code | | … | … |

Note 1. Data sets and Functions marked with “dev” are only available in the development version of geobr.

Note 2. Most data sets are available at scale 1:250,000 (see documentation for details).

Contributing to geobr

If you would like to contribute to geobr and add new functions or data sets, please check this guide to propose your contribution.


Related projects

As of today, there there are no other R or Python computational packages similar to geobr. The geobr package makes different contributions to the community, including for example:

  • Access to a wider range of official spatial data sets, such as states
and municipalities, census tracts, urbanized areas, etc
  • A consistent syntax structure across all functions, making the package
very easy and intuitive to use
  • Access to spatial data sets with updated geometries for various years
  • Harmonized attributes and geographic projections across geographies
and years
  • Option to download geometries with simplified borders for fast
rendering
  • Option to download geometries as geoarrow objects out of memory
  • Stable version published on CRAN for R users, and on PyPI for Python
users

Similar packages for other countries/continents

cancensus rgeoboundaries

Credits ipea

Original shapefiles are created by official government institutions. The geobr package is developed by a team at the Institute for Applied Economic Research (Ipea), Brazil. The package received support from Instituto Todos pela Saúde (ITpS). If you want to cite this package, you can cite it as:

  • Pereira, R.H.M.; Barbosa, R.J.; et. all (2026) **geobr: Download
Official Spatial Data Sets of Brazil**. v2.0.0 GitHub repository - .

© 2026 GitRepoTrend · ipeaGIT/geobr · Updated daily from GitHub