Daily PRISM data — precipitation, temperature, and vapor pressure deficit — for every U.S. county.
One API call returns daily weather observations for any U.S. county: rainfall in millimeters, high and low temperature in Celsius, and max vapor pressure deficit — all area-weighted from PRISM's 4 km gridded product.
Weather drives crop yield, pasture condition, and farm income — and decisions about all three are made at the county level. Crop insurance loss triggers, farm loan underwriting criteria, and commodity price forecasts all depend on accurate, timely precipitation and temperature data for specific geographies. But raw weather data is messy: station networks have gaps, point measurements don't represent a whole county, and gridded datasets require preprocessing before they're useful.
R2Data2 solves that by aggregating PRISM's high-resolution gridded data to county level, precomputing area-weighted averages for every one of the 3,100+ U.S. counties, and serving the result through a single REST endpoint updated daily.
PRISM (Parameter-elevation Regressions on Independent Slopes Model) is produced by the PRISM Climate Group at Oregon State University. It is the most widely used gridded climate dataset in the U.S. for agriculture, hydrology, and ecological modeling.
PRISM uses a regression model that accounts for elevation, coastal proximity, and terrain aspect to spatially interpolate observations from thousands of weather stations into a continuous 4 km × 4 km grid. The result is far more accurate than inverse-distance interpolation or Kriging — especially in complex terrain like the Rockies, Sierra Nevada, and Appalachians.
R2Data2 maps each 4 km PRISM grid cell to the counties it falls within, then computes
area-weighted averages for precipitation, temperature, and vapor pressure deficit. The
cell_count field in each API record tells you how many grid cells contributed
to that county's value — useful for flagging counties with sparse coverage.
PRISM releases a provisional daily estimate with approximately a 1-day lag. A final, quality-controlled product is released later — R2Data2 ingests the provisional data daily and updates records when the final product supersedes them.
Every precipitation API record covers one county on one day:
| Field | Unit | Description |
|---|---|---|
| precip_mm | mm | Total daily precipitation (rain + snow water equivalent) |
| tmax_c | °C | Daily maximum temperature |
| tmin_c | °C | Daily minimum temperature |
| vpdmax_hpa | hPa | Maximum vapor pressure deficit — a key driver of crop water stress and evapotranspiration |
| cell_count | integer | Number of PRISM 4 km grid cells that contributed to this county's average |
| obs_date | date | Observation date (YYYY-MM-DD) |
| fips | string | 5-digit county FIPS code |
VPD (vpdmax_hpa) measures the difference between how much
moisture the air can hold and how much it actually holds. High VPD means the atmosphere is
aggressively pulling water from soil and plant tissue — even when soil moisture is adequate,
sustained high VPD causes stomatal closure, reduces photosynthesis, and accelerates crop
stress. It's one of the strongest predictors of yield loss in corn and soybeans that isn't
captured by rainfall alone. R2Data2 is one of the few APIs that exposes county-level VPD
alongside precipitation.
Rainfall index products — including USDA's Rainfall Index (RI) insurance — pay out based on measured precipitation falling below a grid-area threshold. County-level PRISM precipitation is the standard data source for verifying those triggers and calculating indemnities.
R2Data2 makes it easy to pull daily or monthly precipitation totals for every county in your book of business, compare against trigger thresholds, and update loss estimates as the season progresses — without manual PRISM file downloads or grid-to-county preprocessing.
A spring with well-below-normal precipitation, followed by high-VPD July conditions, signals elevated yield risk for a farm loan secured by corn or soybean production. Lenders who track county-level weather through the growing season can catch deteriorating conditions early — before they show up in crop progress reports or futures prices.
Combine R2Data2's precipitation data with the soil moisture and drought endpoints to build a multi-signal weather risk score for every county in your loan portfolio.
Crop simulation models (DSSAT, APSIM, AquaCrop) require daily precipitation, tmax, tmin, and VPD as minimum inputs. PRISM county aggregates are the standard proxy when field-level weather stations are unavailable — which is most of the time. R2Data2 delivers those inputs in a format that requires no preprocessing.
Satellite-derived signals like NDVI and soil moisture make more sense when paired with the weather that drove them. A late-season NDVI dip is more alarming in a county that received 30% of normal July rainfall than in one that received 120%. R2Data2 provides both the vegetation signal and the weather context in a single API.
All precipitation endpoints require an API key in the X-API-Key header. The
free tier provides the last year of history for any county, with 100 requests/day.
The primary endpoint — returns daily weather records for a single county, newest first. Useful for charting a county's rainfall season, computing 30-day precipitation totals, or pulling daily weather inputs for a crop model run.
# Last 7 days of weather for Fresno County, CA (FIPS 06019) curl "https://r2data2.com/precipitation/county/06019?limit=7" \ -H "X-API-Key: agr_your_key_here"
{
"fips": "06019",
"records": [
{
"fips": "06019",
"obs_date": "2025-04-12",
"precip_mm": 0.0,
"tmax_c": 28.4,
"tmin_c": 11.2,
"vpdmax_hpa": 22.1,
"cell_count": 1847
}
]
}
Use start_date and end_date for a specific date range.
limit caps results (default 365). Costs 1 request per
record returned.
Returns the single most recent PRISM record for a county. Useful for status dashboards or quick checks — costs exactly 1 request regardless of tier.
# Most recent weather observation for Polk County, Iowa (FIPS 19153) curl https://r2data2.com/precipitation/county/19153/latest \ -H "X-API-Key: agr_your_key_here"
Returns precipitation and weather data for all counties on a specific date. Useful for scanning which counties received significant rainfall on a given day — for example, after a major storm event — or for batch-loading daily weather into a downstream model.
min_precip_mm to filter to counties that received
meaningful rainfall — e.g., min_precip_mm=10 for counties with 10mm+ of rain.
# All counties that received 25mm+ of rain on 2025-04-10 curl "https://r2data2.com/precipitation/snapshot/2025-04-10?min_precip_mm=25" \ -H "X-API-Key: agr_your_key_here"
{
"obs_date": "2025-04-10",
"count": 84,
"records": [
{
"fips": "47149",
"obs_date": "2025-04-10",
"precip_mm": 58.3,
"tmax_c": 16.7,
"tmin_c": 9.1,
"vpdmax_hpa": 7.4,
"cell_count": 312
}
]
}
See the Data Dictionary for the full field reference and API Docs for interactive request testing.
Where does the data come from?
All data is sourced from the PRISM Climate Group at Oregon State University. PRISM uses a regression model that blends thousands of weather station observations with digital elevation models to produce a continuous 4 km × 4 km daily grid. R2Data2 aggregates those grid cells to county level using precomputed area-weighted mappings.
How current is the data?
PRISM releases a provisional daily product with approximately a 1-day lag. R2Data2 ingests the provisional data each day and updates records when the final quality-controlled product is released. In practice, yesterday's weather is available by early afternoon the following day.
How far back does history go?
The free tier provides the last year of daily data for any county. Starter plans unlock 5 years, Growth 10 years, and Pro plans have access to the full PRISM archive — daily county-level records going back to 1981.
Why is precipitation sometimes 0 mm when it clearly rained nearby?
Precipitation at the county level is an area-weighted average of 4 km grid cells that fall within that county's boundaries. A storm that clipped the southeast corner of a large county may produce 0 mm at the county aggregate even if nearby counties recorded significant totals. For sub-county precision, consider using the soil moisture endpoint as a complementary signal — it integrates precipitation effects over time at similar resolution.
What is vpdmax_hpa and why does it matter?
Vapor pressure deficit (VPD) is the difference between the amount of moisture
the air can hold at a given temperature and the amount it actually holds. High VPD drives
rapid soil moisture depletion and crop transpiration stress — even when soil moisture is
adequate. Research has shown that growing-season VPD is one of the strongest predictors of
yield loss in corn and soybeans. vpdmax_hpa is the daily maximum VPD in
hectopascals (hPa); values above ~20 hPa during the reproductive stage are associated with
meaningful yield risk.
How does this compare to pulling PRISM data directly?
Accessing PRISM directly requires downloading large raster files (NetCDF or BIL format), reprojecting them, and running a spatial join against county shapefiles — a significant engineering lift, especially at historical scale. R2Data2 handles all of that and exposes the result through a simple REST API. One HTTP request replaces a geospatial processing pipeline.
Get a free API key in under a minute. No credit card required.
Daily PRISM weather for every U.S. county — precipitation, temperature, and VPD in one call.