Data Sources¶
agrobr integrates data from 40 agricultural data sources.
All sources support return_meta=True for full traceability.
Overview¶
| Source | Type | Update | Coverage |
|---|---|---|---|
| CEPEA/ESALQ | Prices | Daily | Agricultural commodities |
| CONAB | Crops, costs, historical series, weekly progress, CEASA/PROHORT | Monthly/Weekly/Daily | National production |
| IBGE/SIDRA | Statistics | Annual/Monthly/Quarterly | Official data (PAM, LSPA, PPM, Slaughter, PEVS, Milk, GDP, Census) |
| NASA POWER | Climatology | Daily | Global, 0.5 degree grid |
| BCB/SICOR | Rural credit, time series, exchange rates, forecasts | Monthly | Crop/state (+ BigQuery) |
| ComexStat | Exports | Weekly | NCM/state |
| ANDA | Fertilizers | Monthly | State/month |
| ABIOVE | Soybean complex exports | Monthly | Volume/revenue |
| ANEC | Weekly shipments by port | Weekly | 19 ports, 6 products |
| USDA PSD | International supply/demand | Monthly | Global commodities |
| IMEA | MT quotes and indicators | Daily | Mato Grosso |
| DERAL | PR crop condition | Weekly | Paraná |
| INMET | Meteorology | Daily | 600+ stations (data requires token) |
| Notícias Agrícolas | Quotes (CEPEA fallback) | Daily | Commodities |
| Queimadas/INPE | Fire hotspots | Daily | 6 biomes, 13 satellites |
| Deforestation PRODES/DETER | Deforestation + alerts | Annual/Daily | Amazônia, Cerrado, Pantanal |
| MapBiomas | Land cover and use | Annual | Municipalities (1985-present) |
| B3 Agricultural Futures | Daily settlements + open interest | Daily | 7 agricultural contracts |
| UN Comtrade | Bilateral trade + trade mirror | Monthly/Annual | ~200 countries, HS codes |
| ANTAQ | Port cargo movement | Annual | Brazilian ports, 2010+ |
| ANP Diesel | Resale prices + diesel volumes | Weekly/Monthly | States, municipalities, 2013+ |
| ANTT Pedagio | Vehicle traffic at toll plazas | Monthly | 200+ plazas, 2010+ |
| MAPA PSR | Rural insurance policies and claims | Annual | 27 states, 2006+ |
| SICAR | Rural Environmental Registry (CAR) | Continuous | 27 states, 7.4M+ properties |
| ZARC | Agricultural Climate Risk Zoning | Weekly | 40+ crops, all municipalities |
| Agrofit/MAPA | Registered pesticides | Continuous | ~8K formulated products, ~267K authorizations |
| FUNAI Indigenous Lands | Indigenous lands (WFS geo) | Continuous | ~740 TIs, all states |
| ICMBio Federal Conservation Units | Federal conservation units (WFS geo) | Continuous | 344 federal UCs |
| INCRA Quilombola Territories | Quilombola territories (WFS geo) | Continuous | ~426 territories |
| Land Registry/INCRA | Certified parcels + settlements (shapefile ZIP) | Continuous | SIGEF (15 states) + SNCI (10 states) + settlements Brazil |
| IBAMA Environmental Embargoes | Environmental embargoes (SIFISC CSV + WKT) | Monthly | ~114K embargoes |
| MapBiomas Alerta | Deforestation alerts (GraphQL) | Weekly | National |
| Lista Suja | Forced-labor registry (PDF) | Semiannual | National |
| ANA/SNIRH | Hydrography, irrigation, water availability (ArcGIS REST) | Variable | National |
| SFB | Public forests, concessions, IFN (ArcGIS REST) | Annual | National |
| RNC/CultivarWeb | Registered/protected cultivars | Continuous | ~37K registered, ~5K protected |
| EMBRAPA Solos | Soil profiles and soil map | Continuous | 34K profiles, 2.8K polygons |
| Fundação Rio Verde | MT soybean cultivar trials | Annual | ~97 cultivars x 4 seasons |
| CFTC COT | Fund positioning in agricultural futures | Weekly | 12 Chicago/NY contracts, 2006+ |
| UNICA | Center-South sugar/ethanol crushing and production | Biweekly | Current crop year + history 1980-2021 |
Provenance and Traceability¶
All information returned by agrobr can be traced back to its origin.
Use the return_meta=True parameter to obtain full provenance metadata.
import asyncio
from agrobr import cepea
async def main():
# Basic usage (unchanged)
df = await cepea.indicador('soja')
# With provenance metadata
df, meta = await cepea.indicador('soja', return_meta=True)
print(f"Source: {meta.source}")
print(f"URL: {meta.source_url}")
print(f"Fetched at: {meta.fetched_at}")
print(f"From cache: {meta.from_cache}")
print(f"Records: {meta.records_count}")
asyncio.run(main())
MetaInfo Structure¶
The MetaInfo object contains the following information:
| Field | Type | Description |
|---|---|---|
source |
str | Source name (cepea, conab, ibge) |
source_url |
str | Exact URL accessed |
source_method |
str | Access method (httpx, cache) |
fetched_at |
datetime | Collection timestamp |
from_cache |
bool | Whether it came from the local cache |
cache_key |
str | Cache key |
cache_expires_at |
datetime | When the cache expires |
records_count |
int | Number of records |
columns |
list | Returned columns |
fetch_duration_ms |
int | Fetch time in ms |
parse_duration_ms |
int | Parsing time in ms |
agrobr_version |
str | agrobr version |
parser_version |
int | Parser version used |
Integrity Verification¶
MetaInfo lets you verify data integrity:
# Check that the DataFrame was not altered
is_valid = meta.verify_hash(df)
# Export metadata for auditing
meta_json = meta.to_json()
meta_dict = meta.to_dict()
Diagnostics¶
Use the doctor command to check system health:
Returns: - Source connectivity status - Cache statistics - Latest collections - Current configuration