OffenderSearch

Checkr API alternative: a lookup API, not a report order

The Checkr API orders an FCRA consumer report on a candidate and tells you when it is done. If what your code really needs is an answer — is this person on one of the 58 US sex offender registries, do they have court, jail, prison or warrant records — a lookup API is the simpler build: one request, scored records in the response, a key at sign-up and $0.15 a call.

25 free searches on production data · No card · $0.15 a call, $0.11 past 2,000 a month

POST /v1/search200 OK · 58 of 58 answered
curl https://api.offendersearch.app/v1/search \
  -H "X-API-Key: $OFFENDERSEARCH_KEY" \
  -d '{"query":{"firstName":"Jordan",
       "lastName":"Sample","dob":"1980-04-12"}}'

{ "status": "complete",
  "counts": { "sourcesQueried": 58,
              "sourcesComplete": 58,
              "records": 1 },
  "records": [ { "matchState": "dob_match",
                 "matchConfidence": 0.98 } ] }
Integration shape

Checkr API vs a lookup API: two integration shapes One orders a report on a candidate. The other answers a question.

The difference is visible in the first ten minutes of an integration, before price comes into it.

StepOffenderSearch API (lookup) — our pickCheckr API (screening report)
1. CredentialsX-API-Key header; the key is issued at sign-up, no cardHTTP Basic authentication with a secret key; its docs say an account must be credentialed by a Checkr account executive or customer success before using the API, with live requests enabled by Checkr
2. SubjectSend name and date of birth in the search bodyCreate a Candidate
3. ConsentStandard lookup: none. FCRA order: end user, permissible purpose and consent attestation on the orderSend an Invitation; the candidate completes disclosure and consent (candidate invitations expire after 7 days)
4. OrderPOST /v1/search (registries) or POST /v1/criminal/searchCreate a Report against a Package
5. WaitNothing to wait for: records return in the same responseReport status changes arrive by webhook as components complete
6. ResultScored records, the registry or source on each, and each registry’s statusA finished consumer report, then adjudication and any adverse action

Our pick for lookups: OffenderSearch — three of Checkr’s six steps are not needed at all. Checkr’s flow as described in its public API documentation (October 2026). Checkr’s resources include Candidates, Invitations, Reports, Packages, Webhooks and Continuous Checks.

Endpoint map

Checkr API objects mapped to OffenderSearch endpoints Where there is an equivalent, and where there deliberately is not.

OffenderSearch endpointCheckr API equivalentNotes
— (inline in the query)CandidatesNo stored candidate object; each search carries its own name and DOB
— (none)InvitationsFCRA orders carry consent attestation (FCRA Orders API); the standard lookup needs none
POST /v1/search, POST /v1/criminal/searchReports (create / retrieve)Synchronous; one round trip, elapsedMs on every response
POST /v1/searches → GET /v1/searches/{searchId}Reports, asynchronousFor bulk and high-volume work; poll, or pass a webhookUrl
— (one price per search)Packages$0.15 a call, $0.11 past 2,000 a month, registry and criminal alike
POST /v1/batch, POST /v1/criminal/batchMany candidatesUp to 1,000 rows per request, each billed as one search
webhookUrl on an async search; signed monitor alertsWebhooksSee the webhook section below
POST /v1/monitorsContinuous Checks$3 a month per person (registry or criminal), $10 per address and radius
POST /v1/report, POST /v1/criminal/reportReport PDFA verification PDF within 7 days of a search, $0.02
— (none on the standard API)Adverse actionsAdverse action belongs to a CRA workflow; partners use the FCRA API

Full request and response schemas are in the API reference; asynchronous collection is in async and webhooks.

Code

Checkr API alternative code example: one request, one answer

A single search is the panel at the top of this page: a name and date of birth in, scored records and the status of all 58 registries out. A roster is the same idea in one request — up to 1,000 people, each billed as one search.

Swap /v1/batch for /v1/criminal/batch to run criminal records instead; the response format and billing are the same. Step-by-step guides: Python, Node.js, batch docs.

POST /v1/batch
curl https://api.offendersearch.app/v1/batch \
  -H "X-API-Key: $OFFENDERSEARCH_KEY" \
  -H "Content-Type: application/json" \
  -d '[{"firstName":"Jordan","lastName":"Sample","dob":"1980-04-12"},
       {"firstName":"Avery","lastName":"Example","dob":"1975-09-30"}]'
Keys and sandbox

Checkr API sandbox and keys vs a free production key

Checkr publishes a staging environment with mocked data, available once Checkr grants access, and its docs say an account must be credentialed by a Checkr account executive or customer success before using the API, with live requests enabled by Checkr. That is a sensible gate for a consumer reporting agency: the account is being approved to order consumer reports on people.

An OffenderSearch key is issued the moment you sign up, with 25 free searches on production data and no card. There is no separate sandbox because the free tier is the real API — same schema, scoring and provenance as a paid key. Trial searches include a name and return up to 50 records each.

Webhooks

Checkr API webhooks vs OffenderSearch webhooks and alerts

Checkr sends report status changes to your endpoint, with webhooks signed with HMAC-SHA256 in an X-Checkr-Signature header. Your integration is built around those events because a report completes later.

OffenderSearch has two kinds. An async search can carry a webhookUrl; the POST is a notification, unsigned and sent once, so your handler fetches GET /v1/searches/{searchId} with your key and trusts that response — polling always works even if the webhook never arrives. Monitoring alerts are signed: each carries X-Offendersearch-Signature, an HMAC-SHA256 you verify before acting.

Most integrations need neither: a synchronous search returns the answer in the request.

Retries

Checkr API alternative error handling and retries

Every POST /v1/searches request is a new job, billed as one search at acceptance, and the search API does not read an idempotency header. Make retries safe on your side: store the searchId from the 202 as soon as you receive it and recover by polling that id rather than resubmitting.

Each response lists the registries searched and whether each completed, so an incomplete answer is never mistaken for a clean one. Errors are typed — for example a criminal query without a last name is declined with 422 guard_unbounded_query rather than answered loosely. See errors and result completeness.

Pricing

Checkr API pricing vs per-call API pricing

Ordering through the Checkr API is priced like ordering in its dashboard: per report, by package — Basic $29.99, Essential $59.99, Complete $94.99 on its pricing page (October 2026) — with standard third-party court and database access fees may apply, passed through at cost, and add-ons such as a county criminal search at $25.

An OffenderSearch call is $0.15, then $0.11 past 2,000 in a calendar month, with no platform fee, seats or minimum on search. A batch of 1,000 is 1,000 calls. Live re-verification adds $0.02 per completed registry, capped at $2.00. The worked volumes are on background check API pricing; the model is explained on pay-as-you-go background check API.

AI agents

A Checkr API alternative for AI agents and automation

Any tool-calling agent can call the REST API directly: one POST, a JSON answer, every match carrying matchConfidence, matchBasis and matchState so the agent can explain why a record matched. An MCP server for registry search is built and in private beta, by request.

For workflow tools, the async endpoint plus a webhook fits queue-based automation, and monitors turn a one-off check into a standing watch.

Fit

When the Checkr API is still the right API

  • Your product hires or onboards workers, and the result decides whether they are engaged — that needs an FCRA consumer report
  • You need candidate consent, disclosures, adjudication and adverse action inside the integration
  • You need MVRs, drug tests, employment or education verification through the same API
  • You screen people outside the US
  • You are a screening company that needs registry and criminal data under FCRA — then see the FCRA API rather than either standard API

Checkr API alternative FAQ

What is the best Checkr API alternative?
Our pick is OffenderSearch: one call, an answer in the request, a production key at sign-up and $0.15 a call for registry and criminal lookups. For FCRA hiring screens embedded in software — which a lookup API is not — compare CRAs that publish developer docs, such as Certn, First Advantage and backgroundchecks.com, on the Checkr alternatives page.
Can I get a Checkr API key without talking to sales?
Checkr's documentation says its docs say an account must be credentialed by a Checkr account executive or customer success before using the API, with live requests enabled by Checkr. OffenderSearch keys are self-serve: sign up, and the key works with 25 free searches.
Does OffenderSearch have a sandbox like Checkr staging?
No separate sandbox is needed. The 25 free searches run against production data with the same schema as a paid key, so what you build against is what you ship.
How do I search many people at once?
POST /v1/batch (registries) or POST /v1/criminal/batch with up to 1,000 rows per request, each billed as one search, or upload a CSV in the dashboard.
Are OffenderSearch webhooks signed?
Monitoring alerts are signed with an HMAC-SHA256 in X-Offendersearch-Signature. Async-search webhooks are unsigned notifications sent once; fetch the search with your key and trust that response.
Can the OffenderSearch API be used for hiring decisions like the Checkr API?
Yes, as FCRA orders: screening companies and platforms use FCRA Partner Access — the FCRA Orders API, a disputes API and a consumer portal, priced by quote. The standard search API is separate and is not a consumer report.
Which languages are supported?
Any language that can send HTTPS and JSON. There are worked guides for Python and Node.js, and an integration guide.

Try the Checkr API alternative free — 25 searches, no card

Your API key works the moment you sign up. Registry and criminal search on one key, $0.15 a call.