Jurisdictions & codes
Every jurisdiction code, and the difference between scoping a search and filtering a result.
Base URL https://api.offendersearch.appThis page as Markdown/docs/jurisdictions.mdScoping a search
The jurisdictions array controls which jurisdictions run. Omit it or send null to search the full dataset — the default and the common case. Naming codes narrows the search to exactly those jurisdictions, which reduces both latency and the number of sources reported in sourceStatus.
jurisdictions: null→ the full dataset (default).["IL"]→ Illinois only.["IL", "IN"]→ Illinois and Indiana only.
{
"query": { "firstName": "Maria", "lastName": "Lopez" },
"jurisdictions": ["TX", "NM"]
}
// counts.sourcesQueried === 2
// counts.sourcesSkippedByScope === 56query.state filters a result; jurisdictions selects the search
These are two different controls and the distinction is worth holding. jurisdictions decides which jurisdictions are queried at all. query.state does not change that — every jurisdiction is queried and state narrows the answer. Set locationScoped: true alongside query.state when you explicitly want the narrower, cheaper fan-out; the response then reports counts.sourcesSkippedByScope and a NARROWED SEARCH warning so the scope decision is visible in the payload.
query.state filters as a union, not as a plain residence test. A record is kept when either it has an address in that state or that state’s jurisdiction is the one holding it. Those are different populations — 105,028 records are held by a jurisdiction they have no address in, and 70,973 carry no address state at all and are reachable only by the second half. Every record returns registrationState and addressStates so you can tell which half matched without a second call. For the registration half alone, use jurisdictions instead.// Filter: query every jurisdiction, keep Texas-connected records.
{ "query": { "lastName": "Doe", "state": "TX" } }
// Scope: query only the jurisdictions covering Texas.
{ "query": { "lastName": "Doe", "state": "TX" }, "locationScoped": true }
// Scope, explicitly: query exactly these jurisdictions.
{ "query": { "lastName": "Doe" }, "jurisdictions": ["TX"] }state accepts a 2-letter USPS code or the full state name — identical results. A value that cannot be resolved returns 422 rather than an empty result, so a typo is never mistaken for “no matches”. See Errors & status codes.
Jurisdiction codes
Jurisdiction codes are the standard USPS state & territory abbreviations, and they are the same vocabulary that query.state, registrationState, addressStates and sources[].jurisdiction use — so a value you read off a record can be sent straight back as a filter. Per-jurisdiction coverage detail is at coverage, and live health is on GET /v1/sources.
| Code | Jurisdiction |
|---|---|
| AL | Alabama |
| AK | Alaska |
| AZ | Arizona |
| AR | Arkansas |
| CA | California |
| CO | Colorado |
| CT | Connecticut |
| DE | Delaware |
| DC | District of Columbia (territory) |
| FL | Florida |
| GA | Georgia |
| HI | Hawaii |
| ID | Idaho |
| IL | Illinois |
| IN | Indiana |
| IA | Iowa |
| KS | Kansas |
| KY | Kentucky |
| LA | Louisiana |
| ME | Maine |
| MD | Maryland |
| MA | Massachusetts |
| MI | Michigan |
| MN | Minnesota |
| MS | Mississippi |
| MO | Missouri |
| MT | Montana |
| NE | Nebraska |
| NV | Nevada |
| NH | New Hampshire |
| NJ | New Jersey |
| NM | New Mexico |
| NY | New York |
| NC | North Carolina |
| ND | North Dakota |
| OH | Ohio |
| OK | Oklahoma |
| OR | Oregon |
| PA | Pennsylvania |
| RI | Rhode Island |
| SC | South Carolina |
| SD | South Dakota |
| TN | Tennessee |
| TX | Texas |
| UT | Utah |
| VT | Vermont |
| VA | Virginia |
| WA | Washington |
| WV | West Virginia |
| WI | Wisconsin |
| WY | Wyoming |
| PR | Puerto Rico (territory) |
| GU | Guam (territory) |
| USVI | US Virgin Islands (territory) |
| AS | American Samoa (territory) |
| CNMI | Northern Mariana Islands (territory) |