RuralpassAPI docs

Data coverage

How complete Ruralpass data is in an area: how many farms are on file, how many have a walked boundary, and how many of those Riwe has verified.

Use it to judge how much weight to put on a lookup before you rely on it. An LGA where most farms are mapped and verified answers "who farms what, where" with evidence; an LGA at the start of a mapping drive does not, yet.

GET /v1/rupa/coverage

Not billed, and no consent needed — the response contains no farmer, farm or boundary, only counts for an area. Rate limited to 60 requests a minute.

Query parameters

Field Type Required Description
state string no A Nigerian state, e.g. Benue. Spelling is forgiving: FCT, Abuja and Federal Capital Territory all resolve. Omit for the national picture.
lga string no An LGA within state, e.g. Gwer East. Requires state, because LGA names repeat across states.

Scope follows what you pass: no parameters returns the country with a row per state, state returns that state with a row per LGA, and state + lga returns the one LGA.

Example — one LGA

curl https://api.riwe.io/v1/rupa/coverage?state=Benue&lga=Gwer%20East \
  -H "X-API-KEY: rk_live_YOUR_SECRET"

Response 200

{
  "success": true,
  "data": {
    "as_of": "2026-10-01T09:14:22+00:00",
    "scope": "lga",
    "mode": "live",
    "coverage": {
      "state": "Benue",
      "lga": "Gwer East",
      "size_band": "1,000-5,000",
      "mapped_pct": 4.2,
      "verified_pct": 1.6,
      "last_mapped_on": "2026-08-08"
    },
    "areas": [ { "…": "the same shape, one row per area in scope" } ]
  }
}
Field Meaning
size_band Roughly how many farms are on file in the area — see below
mapped_pct Share of those farms whose boundary has been walked on the ground
verified_pct Share whose walked boundary Riwe has checked and approved
last_mapped_on The most recent boundary walked in the area, or null

mapped_pct and verified_pct are deliberately separate. A boundary exists as soon as an agent walks it; it becomes verified only once Riwe has reviewed the walk, the field photographs and the farmer's identity. Underwrite on verified_pct where it matters.

Size bands

Coverage is reported as a share of an area, with the size of the book as a band rather than a count:

none · under 50 · 50-250 · 250-1,000 · 1,000-5,000 · 5,000+

The band tells you whether a percentage is worth leaning on — 50% of an area in the 5,000+ band is a different proposition from 50% of one in the under 50 band — without publishing how many farmers Riwe holds in any one place.

At national scope coverage also carries states_with_farms, lgas_with_mapping (of Nigeria's 774) and unplaced_pct — the share of the national book whose recorded location is too vague to pin to an LGA (a village name with no coordinates, say). Those farms are never listed as an area, because there is no area to ask about.

Figures are read from the live book and cached for five minutes, so as_of can trail a just-completed mapping by a few minutes.

Note

Sandbox keys get the same real aggregates — there is nothing confidential in them, and test figures would tell you nothing useful about an area.

Errors

Status When
404 The state or LGA is not one of Nigeria's 36 states + FCT / 774 LGAs
422 lga passed without state

A real LGA that has no farms on file yet is not an error — it returns "size_band": "none" with zero shares, which is the honest answer.

Base URL https://api.riwe.io/v1/rupa Get API access