Offendersearch API Sources API

The Sources API from Offendersearch API — 1 operation(s) for sources.

Operations 1

GET /v1/sources Coverage catalog + live health of every jurisdiction #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/offendersearch-api-sources-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

offendersearch-api-sources-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Offendersearch Sources API
  version: 1.0.0
  description: National sex-offender search across all US states and territories, unified behind one API.
servers:
- url: https://api.offendersearch.app
security:
- ApiKeyAuth: []
tags:
- name: Sources
paths:
  /v1/sources:
    get:
      operationId: listSources
      summary: Coverage catalog + live health of every jurisdiction
      description: The catalog of every jurisdiction we cover, with lightweight health. No API key required — this doubles as public coverage transparency.
      security: []
      responses:
        '200':
          description: Coverage catalog
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SourceInfo'
      tags:
      - Sources
components:
  schemas:
    SourceInfo:
      type: object
      description: One jurisdiction from the public coverage catalog.
      properties:
        id:
          type: string
          example: IL
        name:
          type: string
          example: Illinois Sex Offender Registry
        covers:
          type: array
          items:
            type: string
          description: State/territory codes this source covers (some sources cover many).
        scope:
          type: string
          enum:
          - state
          - national
        status:
          type: string
          enum:
          - building
          - live
        legal:
          type: object
          properties:
            commercialUse:
              type: string
              enum:
              - allowed
              - restricted
              - prohibited
              - unknown
        health:
          type: object
          properties:
            lastSuccessAt:
              type: string
              format: date-time
              nullable: true
              description: When this registry was last ingested successfully — this registry's currency, live. null if it never has been. This endpoint needs no API key, so it is auditable before purchase.
            typicalLatencyMs:
              type: integer
              nullable: true
              description: p50 latency from local diagnostics. null when not measured on this instance.
            ageSeconds:
              type: number
              nullable: true
              description: Age of the current snapshot, in seconds. null = never ingested (unknown, never 'fresh').
            freshFor:
              type: array
              items:
                type: string
                enum:
                - daily
                - weekly
              description: 'The freshness tiers this registry''s current snapshot falls inside — a restatement of `ageSeconds` in tier labels. `[]` = never ingested. NOT A FILTER: a registry contributes its records to a search whatever this says, at every tier. Read it to KNOW a registry''s age, not to predict which registries will answer. See API-CONTRACT.md §2.

                '
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Customer API key. Primary auth for search/records/compat/proof.
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Signed session token (HMAC-SHA256). Auth for account/dashboard endpoints; also accepted by POST /v1/search and the compat endpoint.

        '
    QueryKeyAuth:
      type: apiKey
      in: query
      name: key
      description: API key passed as `?key=` — offenders.io demo mode (compat endpoint only).
    AdminAuth:
      type: apiKey
      in: header
      name: X-Admin-Key
      description: Internal admin credential — separate from customer API keys.