Skip to content

serie_historica_safra v1.0

Crop historical series by product, crop year, region and state.

Sources

Priority Source Description
1 CONAB Crop Historical Series

Products

44 crops: soja, milho, milho_1, milho_2, milho_3, arroz, arroz_irrigado, arroz_sequeiro, feijao, feijao_1, feijao_2, feijao_3, feijao_caupi, feijao_caupi_1, feijao_caupi_2, feijao_caupi_3, feijao_cores, feijao_cores_1, feijao_cores_2, feijao_cores_3, feijao_preto, feijao_preto_1, feijao_preto_2, feijao_preto_3, algodao, trigo, sorgo, aveia, cevada, canola, girassol, mamona, amendoim, amendoim_1, amendoim_2, centeio, triticale, gergelim, cafe, cafe_arabica, cafe_conilon, cana, cana_area_total, cana_industria

Schema

Column Type Nullable Unit Stable
produto str ❌ - Yes
safra str ❌ - Yes
regiao str ✅ - Yes
uf str ✅ - Yes
area_plantada_mil_ha float ✅ thousand ha Yes
producao_mil_ton float ✅ thousand tons Yes
produtividade_kg_ha float ✅ kg/ha Yes

Primary key: [produto, safra, regiao, uf]

Constraints: area_plantada_mil_ha >= 0, producao_mil_ton >= 0, produtividade_kg_ha >= 0

Guarantees

  • Unique PK per product + crop year + region + state combination
  • produto is lowercase (e.g. soja, milho_2)
  • safra follows the source: YYYY/YY (grains, e.g. 2023/24) or YYYY (annual crops, e.g. 2024)
  • regiao when present: NORTE, NORDESTE, CENTRO-OESTE, SUDESTE, SUL
  • uf when present: 2-letter uppercase state code
  • Metrics (area, production, yield) >= 0 when present

Example

from agrobr import datasets

# Async
df = await datasets.serie_historica_safra("soja")
df = await datasets.serie_historica_safra("soja", inicio=2020, fim=2024, uf="MT")

# With metadata
df, meta = await datasets.serie_historica_safra("soja", return_meta=True)

# Sync
from agrobr.sync import datasets
df = datasets.serie_historica_safra("soja")

JSON Schema

Available at agrobr/schemas/serie_historica_safra.json.

from agrobr.contracts import get_contract
contract = get_contract("serie_historica_safra")
print(contract.to_json())