🌵

Drought Monitor

Weekly county-level drought conditions from the U.S. Drought Monitor, with derived persistence and trend metrics.

SourceUSDA / USDM
FrequencyWeekly (Thursdays)
History2000 – present
Coverage~3,100 US counties
PlanFree+
FieldTypeDescription
valid_date date USDM release date (always a Tuesday, reflecting conditions through the prior week).
severity integer Drought severity level.
–1 = drought-free  ·  0 = D0 abnormally dry  ·  1 = D1 moderate  ·  2 = D2 severe  ·  3 = D3 extreme  ·  4 = D4 exceptional
category string USDM category label (D0–D4). Null when drought-free.
regime string Derived drought regime classification.
drought_free · entering · deepening · flash_drought · persistent · recovering
weeks_in_drought integer Consecutive weeks at D0 or worse as of this release date.
severity_change_4w integer Change in severity over the past 4 weeks. Negative = improving, positive = worsening.
burden_52w integer Cumulative drought stress over the past 52 weeks — the sum of weekly severity values floored at 0. A county in D1 for 10 weeks contributes 10; D0 weeks contribute 0.

🌧️

Precipitation & Weather

Daily PRISM 4km gridded climate data spatially aggregated to county boundaries.

SourcePRISM Climate Group
FrequencyDaily
History2000 – present
Latency~1 day (provisional)
PlanFree+
FieldTypeDescription
latest_date date Date of the most recent observation. Rolling window sums are calculated relative to this date.
precip_7d_mm float Total precipitation over the past 7 days. Millimeters.
precip_30d_mm float Total precipitation over the past 30 days. Millimeters.
precip_90d_mm float Total precipitation over the past 90 days. Millimeters.
tmax_c float Most recent daily maximum temperature. Degrees Celsius.
tmin_c float Most recent daily minimum temperature. Degrees Celsius.
vpdmax_hpa float Most recent daily maximum vapor pressure deficit. Hectopascals. Higher values indicate greater atmospheric dryness and increased plant stress potential.

🌱

Soil Moisture

NASA SMAP L3 passive microwave soil moisture retrievals aggregated to county level.

SourceNASA SMAP L3
FrequencyDaily
History2015 – present
Latency1–3 days
PlanFree+
FieldTypeDescription
obs_date date Date of the SMAP overpass used for this observation.
sm_mean_am float Mean volumetric soil water content from the AM (descending) overpass. m³/m³.
Null when frozen ground or dense vegetation prevents valid retrieval. Typical range: 0.05 (very dry) – 0.45 (saturated).
coverage_pct_am float Percentage of county grid cells with valid SMAP data on this date. Low values (<20%) indicate limited spatial coverage — treat the county mean with caution.
vwc_am float Mean vegetation water content from the AM overpass. kg/m². An indicator of plant water status and canopy conditions.

🌡️

Growing Degree Days

Season-to-date GDD accumulations derived from PRISM daily tmax/tmin, with crop-specific base and cap temperatures.

SourceDerived from PRISM
FrequencyDaily
History2000 – present
Season startJanuary 1
PlanFree+
FieldTypeDescription
season_start date Start of the accumulation period — January 1 of the current calendar year.
as_of date Latest date included in the season-to-date accumulation.
gdd_corn float Season-to-date GDD for corn. Base 10°C, cap 30°C.
gdd_soybeans float Season-to-date GDD for soybeans. Base 10°C, cap 30°C.
gdd_wheat float Season-to-date GDD for winter wheat. Base 0°C, cap 26°C.
gdd_cotton float Season-to-date GDD for cotton. Base 15.5°C, cap 37.7°C.
gdd_sorghum float Season-to-date GDD for sorghum. Base 10°C, cap 37.8°C.
gdd_*_prior_year float Same accumulation window (Jan 1 → same calendar date) for the prior year. Use for year-over-year pace comparison. Available for all five crops.

Formula: GDD = max(0, ((min(tmax, cap) + max(tmin, base)) / 2) − base)


📊

Crop Yields

USDA NASS county-level annual crop yield and harvested acreage. Values may be suppressed by NASS for counties with fewer than three reporting operations.

SourceUSDA NASS Quick Stats
FrequencyAnnual
History1981 – prior year
UpdatedEach January
PlanFree+
FieldTypeDescription
year integer Crop year. Current year is not available — NASS finalizes prior-year county data each January.
crop string Crop identifier.
CORN · SOYBEANS · WHEAT_WINTER · COTTON · SORGHUM
yield_value float Yield per harvested acre. Null when NASS suppresses the value (fewer than 3 operations or confidentiality threshold).
yield_unit string Unit of yield_value. BU / ACRE for grain crops, LB / ACRE for cotton.
acres_harvested integer Total harvested acres in the county for that crop and year. May also be null when suppressed.

🌾

Crop Progress

USDA NASS weekly crop progress percentages by state. Tracks planting, emergence, and harvest advancement through the growing season.

SourceUSDA NASS Quick Stats
FrequencyWeekly (Mondays)
GranularityState-level
History2000 – present
PlanFree+
FieldTypeDescription
state_fips string 2-digit state FIPS code. Join to county data via LEFT(fips, 2).
week_ending date The Saturday the NASS survey week ends on.
crop string Crop identifier.
CORN · SOYBEANS · WHEAT_WINTER · WHEAT_SPRING · COTTON · SORGHUM
stage string Growth stage label. Varies by crop.
CORN: PLANTED · EMERGED · SILKING · DOUGH · DENTED · MATURE · HARVESTED
SOYBEANS: PLANTED · EMERGED · BLOOMING · SETTING PODS · DROPPING LEAVES · HARVESTED
WHEAT: PLANTED · EMERGED · HEADED · HARVESTED
COTTON: PLANTED · SQUARED · SETTING BOLLS · BOLLS OPENING · HARVESTED
SORGHUM: PLANTED · EMERGED · HEADED · HARVESTED
progress_pct float Percentage of the crop at or past this stage (0–100). Published only during the active growing season — absence of a row means the survey was not conducted that week.

⚠️

Risk Score

Composite agricultural stress index derived from all available signals. Requires Starter plan or above.

SourceR2Data2 derived
FrequencyDaily
Range0 – 100
PlanStarter+
FieldTypeDescription
score integer Composite risk score from 0 (no stress) to 100 (extreme stress). Scaled to available data — see data_coverage_pct.
rating string Human-readable label.
minimal (0–15) · low (16–30) · moderate (31–50) · elevated (51–65) · high (66–80) · extreme (81–100)
components.drought integer Drought component contribution. 0–50. Weighted most heavily as USDM severity is already region-normalized.
components.precipitation integer Precipitation deficit component. 0–20. Based on 90-day total and recent 7-day trend.
components.soil_moisture integer Soil moisture stress component. 0–20. Null when SMAP coverage is unavailable (e.g. frozen ground).
components.gdd_pace integer GDD pace component. 0–10. Based on corn GDD relative to the same window in the prior year. Null early in the season when both values are near zero.
data_coverage_pct integer Percentage of the total possible component points (100) that had valid data. A score with 100% coverage is fully constrained; lower values indicate the score was scaled from fewer signals.

🗺️

County Summary

A single joined response combining all datasets for a county. The fastest way to get a complete current picture without making multiple API calls.

EndpointGET /county/{fips}/summary
SourceAll datasets joined
PlanStarter+
FieldTypeDescription
fips string 5-digit county FIPS code, zero-padded.
county_name string County name as reported by USDM.
state_abbr string Two-letter state abbreviation.
drought object Latest drought observation. Contains all fields from the Drought Monitor dataset. Null if no drought data is available for this county.
precipitation object Rolling precipitation windows and latest weather scalars from PRISM. Contains all fields from the Precipitation & Weather dataset. Null if no PRISM data is available.
soil_moisture object Latest SMAP soil moisture observation. Contains all fields from the Soil Moisture dataset. Null if no SMAP data is available.
Commonly null in winter months due to frozen ground preventing valid microwave retrieval.
gdd object Season-to-date GDD accumulations for all five crops plus prior-year comparison. Contains all fields from the Growing Degree Days dataset. Null if no GDD data is available.
crop_yields array Most recent available yield record per crop. Each item contains year, crop, yield_value, yield_unit, and acres_harvested. Empty array if no NASS data exists for this county.
Year may differ by crop — NASS suppresses data for thin counties, so the most recent available year varies.

📦

Portfolio Summary

Batch endpoint that returns a county summary for up to 50 counties in a single request. Each county counts as one request toward your daily limit.

EndpointPOST /portfolio/summary
Max counties50 per call
PlanPro
FieldTypeDescription
fips array List of 5-digit FIPS codes to retrieve. Maximum 50 per request. Each FIPS consumes one request from your daily limit.
include_risk_score boolean When true, each item in the response includes a risk_score and risk_rating computed from the county's current conditions. Defaults to false.
count integer Number of counties returned in the response.
items array Array of county results. Each item contains the same fields as the County Summary endpoint, plus optional risk_score and risk_rating fields.
items[].risk_score integer Composite 0–100 risk score for the county. Only present when include_risk_score is true. See Risk Score for component definitions.
items[].risk_rating string Human-readable rating label. Only present when include_risk_score is true.