Skip to contents

Retrieves general data from SIOPE including demographics, GDP, revenues, expenses, and declaration metadata for municipalities and states.

Usage

get_siope_dados_gerais(
  ano,
  periodo,
  uf,
  use_cache = TRUE,
  verbose = FALSE,
  page_size = 1000L,
  max_rows = Inf,
  filter = NULL,
  orderby = NULL,
  select = NULL
)

get_siope_general_data(year, period, state, use_cache = TRUE,
  verbose = FALSE,
  page_size = 1000, max_rows = Inf,
  filter = NULL, orderby = NULL, select = NULL)

Arguments

ano

Integer. Year of the data (e.g., 2023). Required.

periodo

Integer. Bimester period (1-6). Required.

uf

Character. State abbreviation (e.g., "PE"). Required.

use_cache

Logical. If TRUE (default), uses an in-memory cache.

verbose

Logical. If TRUE, prints the full API URL. Defaults to FALSE. Set globally with options(tesouror.verbose = TRUE).

page_size

Integer. Rows per page for OData pagination. Defaults to 1000.

max_rows

Numeric. Maximum rows to return. Defaults to Inf.

filter

Character. OData $filter expression to narrow results on the server (much faster than downloading everything). Uses OData syntax (e.g., "NOM_MUNI eq 'Recife'", "COD_MUNI eq 2611606"). Combine with and/or. Column names must use the original API names (uppercase), not the snake_case cleaned names. To discover valid names, run a max_rows = 1 query and use toupper(names(result)). Optional.

orderby

Character. OData $orderby expression to sort results (e.g., "NOM_MUNI asc", "NUM_POPU desc"). Uses original API column names (uppercase). Optional.

select

Character vector. Column names to return (reduces payload size). Uses original API column names (e.g., c("NOM_MUNI", "VAL_DECL")). If a column name is invalid the API returns HTTP 400. Optional.

year

Integer. Year (e.g., 2023). Required. Maps to ano.

period

Integer. Bimester (1-6). Required. Maps to periodo.

state

Character. State abbreviation (e.g., "PE"). Required. Maps to uf.

Value

A tibble with 52 columns including tipo, num_ano, sig_uf, cod_muni, nom_muni, num_popu, revenue and expense values, PIB data, and declaration metadata.

Details

Performance tip: use the filter parameter to narrow results on the server before downloading. For example, filtering by municipality name or IBGE code returns only the rows you need instead of all municipalities in the state.

get_siope_general_data() is an English alias.

Examples

if (FALSE) { # \dontrun{
# General data for all municipalities in Pernambuco
dados <- get_siope_dados_gerais(ano = 2023, periodo = 6, uf = "PE")

# FAST: Filter to a single municipality (server-side)
recife <- get_siope_dados_gerais(
  ano = 2023, periodo = 6, uf = "PE",
  filter = "NOM_MUNI eq 'Recife'"
)

# Filter + select specific columns (use original API names!)
resumo <- get_siope_dados_gerais(
  ano = 2023, periodo = 6, uf = "PE",
  filter = "COD_MUNI eq 2611606",
  select = c("NOM_MUNI", "VAL_RECE_REAL", "VAL_DESP_PAGA")
)
} # }