Offendersearch
For developers

A background check API for criminal records and registries.

One REST call reaches more than a thousand county, state and federal jurisdictions of criminal records — county jail rosters, statewide prison systems, court records and warrants — plus 58 US sex offender registries, and returns scored, de-duplicated, source-tagged records in one schema.

curl https://api.offendersearch.app/v1/search \
  -H "X-API-Key: $OFFENDERSEARCH_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "query": {
      "firstName": "John",
      "lastName": "Doe",
      "dob": "1980-04-12"
    },
    "jurisdictions": null
  }'
What one call reaches

Both layers, one endpoint

A background check that only reaches one of these answers half the question. Both run on the same key, the same schema and the same call.

LayerWhat it carriesIn the roster
County jail rostersBooking date, charges at booking, custody status1,375
Statewide prison (DOC)Custody status, facility, admission date53
Court recordsCase number, charge and disposition24
WarrantsOffense, description, warrant status28
Sex offender registriesPhotographs, aliases, addresses, tier where published58

Live coverage is published at /v1/criminal/sources — build against that rather than against a number on a page. Per-state detail: what each state publishes.

Pricing

What a background check API costs

$0.15 a call, $0.11 for every call past 2,000 in a calendar month. No setup fee, no per-seat licence, no minimum and no annual contract. Screening products retail a check at $15–$50; this is the data underneath.

Checks / monthCostPer check
1,000$150.00$0.1500
10,000$1,180.00$0.1180
100,000$11,080.00$0.1108

A batch is billed per row. Background check API pricing, worked out by volume · full pricing · employment screening · tenant screening · how the top 5 APIs compare.

Scope

Exactly what this API covers

“Background check API” covers a dozen different products. Here is which one this is, so you can tell in thirty seconds whether it solves your problem.

In scope

  • Sex-offender registry records across 58 US registries — the 50 states, DC and the 5 US territories
  • Criminal records: county jail bookings, statewide prison (DOC) records, court cases with dispositions where a state publishes them, and warrants
  • Names, aliases, date of birth, physical description and published addresses
  • Offence, statute, charge level, disposition, tier or risk level, and registration dates
  • A match state, a confidence score and the basis for every match
  • Per-source provenance with the record URL and per-source status on every response

Not in scope

  • Consumer reports from the standard API — results are not a consumer report; hiring and tenant decisions run as FCRA workflows through FCRA Partner Access
  • Employment, education or professional-licence verification
  • Credit reports, eviction records or motor-vehicle records
  • Global watchlist, sanctions or PEP screening
  • Records a jurisdiction does not publish — no API can reach those

Making a hiring or tenant decision? Use an FCRA workflow.

FCRA workflows are built primarily for tenant screening and hiring decisions. If a result will help decide whether to hire someone or rent to them, the check has to run as an FCRA-regulated consumer report, with a permissible purpose, consent, accuracy controls and a dispute path for the person. Our standard search and API are not a consumer report. FCRA workflows run through FCRA Partner Access, for background check companies and screening platforms under a written FCRA agreement.

FCRA pricing is quoted per partner, so contact us for pricing.

Contact us for FCRA pricingHow FCRA workflows work

The response

What a background check API call returns

Records in one schema, each with how it matched and which source holds it — plus a per-source status, so an empty result can be read for what it is.

{
  "records": [{
    "name": { "first": "JOHN", "last": "DOE" },
    "dob": { "date": "1980-04-12", "dobPrecision": "full" },
    "matchState": "dob_match",
    "matchConfidence": 0.97,
    "matchBasis": "lastName:exact firstName:exact dob:match",
    "sources": [{ "code": "OH", "level": "state" }]
  }],
  "sourceStatus": [
    { "source": "OH", "ok": true, "incomplete": false }
  ]
}
FieldWhy it matters
matchStateFull date, birth year, age or name only — the difference between an identification and a lead
matchConfidenceA score you can set thresholds on
matchBasisExactly which identifiers agreed
sources[]The jurisdiction holding the record, cited per record
sourceStatus[]Which sources answered — an unanswered source means not clear

Registry records add offence, tier, photographs and addresses; criminal records add cases, charges and dispositions. See the registry record and criminal record references.

Accuracy

False positives are the real risk

Public records are filed under names. A background check API that returns “match” on a shared name will, sooner or later, attach someone else’s history to an applicant — and the expensive cases in screening have been about exactly that, not about records that were missed.

So every record carries its match state. Send a full date of birth and each result is labelled by what its source published: a full-date match, a birth-year match, an age match, or no date at all — marked unverified. Act on the strong ones automatically; send the rest to a reviewer. The matching docs describe every level, and the guide to reading a background check explains them for non-developers.

Compared

How it differs from a typical background check API

Typical background check APIOffendersearch
What you get backA finished report, often a PDF, after hours or daysStructured records in the same call
Match evidenceMatch / no matchMatch state, score and basis per record
Coverage transparencyA package namePer-source status on every response, and a public sources list
Criminal and registrySeparate products or add-onsOne key, one schema, one price
PricingPer report or by quote$0.15 a call, $0.11 past 2,000/month
Consumer reportYes, when sold by a CRANo — use a CRA for FCRA-covered decisions
Integration

Integrate a background check API in an afternoon

  1. Sign up and create a key — it works at once on the 25-search free trial
  2. Call POST /v1/search for registries or POST /v1/criminal/search for criminal records, with a name and a full date of birth
  3. Act on dob_match results, review the rest, and treat any unanswered source in sourceStatus as “not clear”
  4. Store the record citations with your decision; add batch for re-screens and a monitor for ongoing checks

The full walkthrough — keys, the first call, async searches and webhooks, batch, monitoring and error handling — is in the background check API integration guide. Building for an HR or ATS platform? See the employment background check API. Already integrated with another sex-offender search API? The migration guide maps a drop-in compatibility endpoint.

In your stack

One layer, done properly

Where it fits

Most screening stacks assemble several sources: criminal records, an identity check, sometimes a credit or MVR pull. This API is the criminal and sex-offender registry layer of that stack — the part that has to reach across state lines, because people move and a local check will not see where they were.

Why teams replace their own integration

Fifty-seven registries publish fifty-seven formats, change layouts without notice, and fail silently. Maintaining that in-house is a permanent tax on an engineering team that would rather ship product. One endpoint replaces it, and every record still tells you which source it came from.

How you migrate

POST /v1/compat/sexoffender accepts the exact parameters and returns the exact envelope of legacy sex-offender search APIs, so an existing integration switches by changing a base URL and a key — no re-mapping, no re-testing your parser.

What you pay

$0.15 a call, metered, no seats

Every call is $0.15, dropping to $0.11 past 2,000 in a month. A Regular search is the base rate; Live re-verification adds $0.02 per completed source, capped at $2.00 a search. A verification PDF is $0.02 per document and only when you ask for one.

Full pricingWhat is in the database

FAQ

Questions developers actually ask

Is this a criminal background check API?

Yes. One call reaches more than a thousand county, state and federal jurisdictions — county jail rosters, statewide prison systems, court records where a state publishes them, and warrants — alongside 58 US sex offender registries, on the same key. Read the record kind on each result: a jail booking is arrest-stage, while a court record carries the disposition that says how a case ended. Coverage is expanding continuously and /v1/criminal/sources publishes the live list.

Is there a free background check API?

You get 25 free searches when you sign up — real national data, no card, no sales call — and after that it is metered at $0.15 a call, $0.11 past 2,000 a month. There is no permanent free tier and no floor either: no seat licences, no annual commitment, no minimum spend, so a proof of concept costs a few dollars rather than a procurement cycle. Free public search pages are websites rather than APIs — one jurisdiction at a time, no scoring, no de-duplication across state lines and no provenance you can put in a file — which is exactly the work a metered API is doing for the $0.15.

Can I run a sexual predator background check with it?

You can search the registries that publish predator designations, and where a registry publishes the flag we carry it, and tens of thousands of records currently carry one. What "predator" means is defined by each state, not by us, so the flag is only as consistent as the registry that issued it. Records also carry tier and risk level where published.

How fast is a call, and how is it priced?

The synchronous endpoint answers from our current snapshot rather than dialling out to every US registry, and every response reports its own elapsedMs so you can measure it against your own traffic. Pricing is $0.15 per call, dropping to $0.11 past 2,000 calls in a month; a Regular search is the base rate, live re-verification adds $0.02 per completed source (to a $2.00 ceiling), and each verification PDF adds $0.02.

Can I use it for employment or tenant decisions?

Not with the standard API. Its results are not a consumer report, so they must not be used for hiring or tenant decisions. Those decisions run as FCRA workflows: FCRA Partner Access is for background check companies and screening platforms under a written FCRA agreement, with one FCRA order covering a sex offender search, a criminal search or both. FCRA pricing is quoted per partner, so contact us for pricing.

What identifiers does the background check API need?

A first and last name is the minimum. A full date of birth is what makes the result usable for a decision: every record is then labelled by how well it matched — full date, birth year, age, or name only — so a shared name never reads as a match on its own. State, city and ZIP narrow a search further.

How should I handle a common name?

Send a full date of birth and act only on dob_match records automatically. Route year, age and name-only matches to a person, and compare photographs where the record has one. The match basis on every record tells your reviewer exactly what agreed.

What is the difference between a background check API and a background check company?

A background check company (a consumer reporting agency) sells a finished report to an employer or landlord, and runs consent, adverse action and disputes around it. A background check API like this one is the data layer: your software sends a name and date of birth and gets structured, scored records back in the same call, to build into your own product. Many screening companies build on an API underneath.

How do I integrate a background check API?

Create a key, send POST /v1/search (registries) or POST /v1/criminal/search (criminal records) with a name and a full date of birth, act on dob_match results automatically and route the rest to a reviewer. Use POST /v1/searches with a callback URL for long searches, POST /v1/batch for lists, and POST /v1/monitors for ongoing checks. The integration guide walks through each step.

Can I get a PDF report from the API?

Yes — a verification PDF is available per search at $0.02 per document, generated only when you ask for one. Most integrations store the JSON with the record citations and request a PDF only when a document is needed for a file.

Do you offer a sandbox or test key?

Sign up and create a key — it works immediately on the free trial, no payment method needed. Adding a card lifts the trial limits and nothing about the key changes. Keys are pure credentials with no entitlements attached — any key can run a Regular or Live search and call the report endpoint — so you can issue separate keys per environment and rotate or revoke any one of them independently.

Monitoring API

Not just a search — a standing watch

POST /v1/monitors creates a recurring watch on a person (name and date of birth) or a location (address and radius). Each morning it is evaluated against our continuously updated data and an alert is emailed when a matching record is added, changes, or is removed. Person monitors are $3/mo, location $10/mo.

  • Person and location watches, over sex offender registry data
  • Person watches over criminal records too — billed separately
  • List, update and cancel monitors over REST; add multiple recipients

The full reference — the Monitor object, alert events and cadence — is in the Monitoring API docs. Monitoring is not a consumer report and must not be used for FCRA-governed hiring, tenancy, or credit decisions — those run through FCRA Partner Access.

curl -sS https://api.offendersearch.app/v1/monitors \
  -H "X-API-Key: $OFFENDERSEARCH_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "product": "sex-offender",
    "type": "person",
    "person": { "name": "Jordan Rivera", "dob": "1988-04-12" },
    "channels": { "email": ["alerts@example.com"] }
  }'
Comparisons & research

Further reading

Independent comparisons of the tools in this category — including where other vendors are the better answer.

The best sex offender APIs in 2026, compared

Five ways to search US registries programmatically, measured on coverage you can enumerate, provenance, match quality and price.

The best criminal record search APIs in 2026

Jail bookings, prison custody, court cases and warrants are four different systems. Which API you want depends on which one your question needs.

The best background check APIs in 2026

Five brands, three companies: the consolidation nobody mentions, each vendor’s real published price, and the only per-call API on the list.

More in our comparisons and research.

Ship the registry layer this week

Self-serve signup, metered pricing, and a drop-in compatibility endpoint if you are migrating from another provider.

The Offendersearch APIs

One account, one key, one bill — the sex offender registry and criminal records, side by side.

Sex offender registry

Criminal records

Build with it