Vertical Guide

Crop Insurance Data API

RMA loss history, FEMA NRI risk scores, and USDM drought triggers — unified at the county level for actuarial pricing and in-season loss monitoring.

The data behind crop insurance decisions has always existed. USDA RMA publishes cause-of-loss records back to 1989. FEMA publishes county hazard risk scores. The USDA Drought Monitor publishes weekly drought categories that directly trigger USDA disaster programs. R2Data2 puts all of it behind a single API — cleaned, normalized, and ready for actuarial models and loss adjustment workflows.

Signals: RMA Loss History · FEMA NRI · Drought · Soil Moisture · Crop Stress Index  ·  Coverage: 3,100+ U.S. counties  ·  RMA history: 1989–present

On this page
  1. The data stack for crop insurance
  2. Actuarial pricing: building county loss models
  3. In-season monitoring: flagging losses before claims arrive
  4. API endpoints & examples
  5. Frequently asked questions
  6. Get started

The data stack for crop insurance

Crop insurance workflows split cleanly into two phases: pricing (what is this county's historical loss profile?) and monitoring (is a loss event developing right now?). Different signals are relevant to each.

RMA Loss History
USDA Risk Management Agency · Annual

Cause-of-loss records from 1989 onward: total indemnity, premium, loss ratio, drought share of losses, top loss causes, and annual breakdowns — all at county level.

FEMA NRI Scores
FEMA National Risk Index · Annual

Composite and per-hazard risk scores (drought, flood, hail, tornado, wildfire, and 12 more) plus agricultural value at risk and Expected Annual Loss by hazard — for every county.

Drought (USDM)
USDA Drought Monitor · Weekly

D0–D4 severity categories and per-band area coverage. The official trigger for LFP, ELAP, and NAP disaster assistance programs. D2+ threshold crossings directly determine claim eligibility.

Soil Moisture
NASA SMAP · Daily

Daily surface soil moisture (top 5 cm) with anomaly z-score vs. the 3-year seasonal baseline. Responds faster than USDM drought categories — a leading indicator of developing stress.

Crop Stress Index
R2Data2 composite · Daily

A 0–100 composite score combining drought severity, soil moisture anomaly, vegetation health (NDVI), and growing degree day deviation. Calibrated by dominant crop type per county.

Actuarial pricing: building county loss models

Actuarially sound crop insurance pricing requires a long historical record of what actually happened — not modeled proxies. R2Data2 provides two complementary data sources for building and validating county-level loss models.

RMA cause-of-loss history

The /rma/county/{fips} endpoint returns USDA RMA's actual cause-of-loss records for a county over a configurable year window (default: 10 years, max: full archive from 1989). For each county you get:

  • Total indemnity and premium — the county's overall loss ratio over the period
  • Drought share — what percentage of total indemnity was attributable to drought (RMA cause code 58), and how many years had drought losses
  • Top loss causes — up to 10 causes ranked by indemnity paid, each with their share of total losses
  • Annual breakdown — year-by-year indemnity, premium, loss ratio, and dominant cause

This is the same underlying dataset that USDA RMA uses for rate-setting. Accessing it via API rather than downloading and parsing annual flat files saves meaningful engineering time — especially when pricing across a book of 500+ counties.

FEMA NRI structural hazard exposure

RMA loss history tells you what happened in the past. FEMA's National Risk Index tells you the structural hazard exposure of each county going forward. For crop insurance, the relevant NRI fields are:

  • agri_value_usd — FEMA's estimate of total agricultural value at risk in the county
  • drought risk score and rating — county's relative drought hazard exposure
  • hail, tornado, strong wind, inland flooding risk scores — the other major crop loss causes
  • eal_total_usd — Expected Annual Loss across all hazard types

Using NRI alongside RMA history gives you both the observed loss record and an independent structural risk assessment — useful for counties with short RMA history or unusual loss patterns that may not reflect forward-looking exposure.

In-season monitoring: flagging losses before claims arrive

Claims arrive weeks or months after the stress event. By the time an adjuster is in the field, the loss is already realized. R2Data2 lets insurers monitor developing conditions continuously — so loss reserves can be adjusted and field resources allocated before the claims wave hits. (Ag lenders face the same problem with collateral exposure — see the agricultural lending guide for how farm portfolio managers use the same signals for weekly collateral monitoring.)

Drought threshold monitoring

The USDA Drought Monitor is the official data source for USDA disaster program triggers. D2+ (Severe drought or worse) is the threshold for LFP livestock forage assistance; D3+ triggers additional programs. Both represent material claim exposure for any insurer with policies in affected counties.

With R2Data2, you can automate that threshold check. Pull the Thursday USDM release via /drought/snapshot/{valid_date}, filter for counties in your book of business that crossed D2+, and update your loss reserve model — the same day the USDM releases, not when the claim lands on a desk three months later.

Leading indicators: soil moisture and crop stress

Soil moisture anomalies often precede USDM drought category upgrades by 2–4 weeks. A county with D1 drought but an sm_z_score of –2.5 is drier at the surface than its drought category suggests — and is likely to see that category worsen in coming weeks. Monitoring the leading signals lets you position reserves ahead of the official classification change.

The Crop Stress Index consolidates drought, soil moisture, vegetation health (NDVI), and growing degree day deviation into a single 0–100 number — calibrated by the county's dominant crop. A county scoring 75+ on the CSI in July warrants a loss reserve review regardless of whether the USDM category has moved yet.

Drought vs. flash drought: Conventional drought develops over months and is captured well by USDM. Flash drought — rapid onset over 4–6 weeks driven by anomalous heat and wind — is better caught by daily soil moisture monitoring. Using both signals together covers both scenarios.

API endpoints

All endpoints require an API key in the X-API-Key header. Snapshot endpoints require a Growth or Pro plan.

RMA loss history — the actuarial foundation

Returns a county's full RMA cause-of-loss profile: total indemnity, loss ratio, drought share, top causes, and year-by-year breakdown. One request, one county, everything you need for a pricing model input.

GET /rma/county/{fips}
# 10-year RMA loss history for Adair County, Iowa (FIPS 19001)
curl https://r2data2.com/rma/county/19001 \
  -H "X-API-Key: agr_your_key_here"
{
  "fips": "19001",
  "county_name": "Adair",
  "state_abbr": "IA",
  "years_available": [1989, 1990, /* … */ 2023],
  "summary": {
    "years": 10,
    "total_indemnity_usd": 42817340.0,
    "total_premium_usd": 18603120.0,
    "loss_ratio": 2.3017
  },
  "drought_stats": {
    "total_indemnity_usd": 31204500.0,
    "loss_events": 7,
    "pct_of_total_indemnity": 72.89
  },
  "top_loss_causes": [
    {
      "cause_code": 58,
      "cause_desc": "Drought",
      "indemnity_usd": 31204500.0,
      "pct_of_total": 72.89
    },
    {
      "cause_code": 11,
      "cause_desc": "Excess Moisture/Precipitation/Rain",
      "indemnity_usd": 6110200.0,
      "pct_of_total": 14.27
    }
  ],
  "by_year": [
    {
      "year": 2023,
      "indemnity_usd": 3940100.0,
      "premium_usd": 2180400.0,
      "loss_ratio": 1.807,
      "top_cause": "Drought"
    }
  ]
}

Use start_year and end_year query parameters to pull a specific window. The full RMA archive goes back to 1989 — useful for computing 30-year return periods on drought loss events.

FEMA NRI — structural hazard risk by county

Returns FEMA's composite and per-hazard risk scores, Expected Annual Loss, and agricultural value at risk. Use this alongside RMA history for counties with limited claims data, or to validate that observed loss patterns align with structural hazard exposure.

GET /nri/county/{fips}
# NRI risk scores for Adair County, Iowa
curl https://r2data2.com/nri/county/19001 \
  -H "X-API-Key: agr_your_key_here"
{
  "fips": "19001",
  "agri_value_usd": 284500000,
  "risk_score": 22.4,
  "risk_rating": "Relatively High",
  "eal_total_usd": 1820400,
  "drought": {
    "risk_score": 31.7,
    "risk_rating": "High",
    "eal_usd": 940200,
    "alr": 0.0033
  },
  "hail": {
    "risk_score": 14.2,
    "risk_rating": "Relatively Moderate",
    "eal_usd": 318700,
    "alr": 0.0011
  }
}

Drought snapshot — weekly threshold sweep

Pull all counties that crossed a drought threshold in the latest USDM release. Run this every Thursday to identify new D2+ counties in your book of business as soon as the data is available.

GET /drought/snapshot/{valid_date}
# All counties in severe drought or worse on 2025-04-10
curl "https://r2data2.com/drought/snapshot/2025-04-10?min_severity=2" \
  -H "X-API-Key: agr_your_key_here"
Growth plan required for snapshot endpoints. Filter with state=IA to scope to a single state, or min_severity=2 to return only counties in severe drought or worse.

Crop Stress Index — composite in-season screener

A single 0–100 score combining drought, soil moisture, vegetation health, and growing degree day deviation — calibrated by each county's dominant crop. Use it to rank your book of business by stress level and prioritize adjuster resources before claims arrive.

GET /county/{fips}/crop-stress-index
# Current Crop Stress Index for Adair County, Iowa
curl https://r2data2.com/county/19001/crop-stress-index \
  -H "X-API-Key: agr_your_key_here"
{
  "fips": "19001",
  "county_name": "Adair",
  "state_abbr": "IA",
  "crop_stress_index": 71,
  "stress_rating": "High",
  "primary_crop": "CORN",
  "components": {
    "drought_severity": 2,
    "sm_z_score": -2.11,
    "ndvi_z_score": -1.4,
    "gdd_deviation_pct": -8.2
  }
}

See the Data Dictionary for complete field documentation and the API Docs for interactive testing.

Frequently asked questions

Is this the actual RMA data, or a modeled estimate?

This is the actual RMA Cause of Loss dataset — the same data published annually by USDA's Risk Management Agency and used for federal crop insurance rate-setting. R2Data2 ingests the raw records, normalizes them to county FIPS codes, and aggregates by cause, year, and summary metrics. No modeling or estimation is applied to the RMA figures.

How far back does RMA loss history go?

The RMA Cause of Loss dataset begins in 1989. R2Data2 stores the full archive. All tiers can access history; Growth and Pro plans unlock the widest date windows via the API. For actuarial work requiring 30+ year return periods, the full archive is available on Pro.

How current is the RMA data?

USDA RMA publishes cause-of-loss data annually each spring for the prior crop year (e.g., 2024 crop year data typically arrives in spring 2025). R2Data2 ingests the new release each March 1. In-season loss monitoring uses the real-time drought, soil moisture, and Crop Stress Index endpoints — the RMA data is the historical record, not a real-time feed.

What does drought_stats.pct_of_total_indemnity tell me?

It's the share of the county's total indemnity over the requested window that was paid out under RMA cause code 58 (Drought). A county where drought accounts for 70%+ of historical losses is a materially different risk profile than one where hail or excess moisture dominates — even if the total loss ratios are similar. This field makes that comparison trivial without parsing raw cause-of-loss files.

How does the Crop Stress Index relate to actual yield loss?

The Crop Stress Index is a composite monitoring signal, not a yield loss prediction. It flags counties experiencing elevated combined stress — drought severity, soil moisture anomaly, vegetation health decline, and heat accumulation deviation — relative to historical norms. High CSI scores during critical crop development windows (pollination for corn, pod fill for soybeans) have strong empirical correlation with yield loss, but the index itself is an ordinal risk signal, not a loss estimate in dollars or bushels.

Can I use this data for index insurance product design?

Yes. County-level USDM drought data and RMA loss history are both used in index product design — drought severity thresholds can serve as product triggers, and RMA history validates that the trigger correlates with actual insured losses. R2Data2 also stores the full USDM archive back to 2000, making it practical to compute drought trigger frequency, duration distributions, and basis risk metrics at county resolution for any combination of threshold and crop.

Ready to query crop insurance data?

Free tier available — no credit card required. RMA and NRI history on all plans; real-time monitoring on Starter and above.
Used by crop insurers and actuaries pricing policies across millions of acres of U.S. farmland.