Developer starting point

Build around the
documented contract.

Start with a test key, send the required identity details and handle each result explicitly. Verify checks a person; County and National provide feeds under separate access.

Choose the right interface

A lookup is not a bulk feed.

Use Verify when your application sends a name to check. Use County Intelligence for a selected state, or speak to sales about National for a nationwide daily feed.

AuthenticationAuthorization: Bearer YOUR_API_KEY
Keep keys server-side. Do not put a real key in a browser example.
Required inputfirst_name and last_name, plus at least one documented disambiguator such as state or birth year.
Result meaningsfound, possible_match, not_found. Review possible_match. not_found is not proof of life.
LimitsAccount-specific. Read X-RateLimit-* and X-Quota-* headers where supplied; respect Retry-After. Do not assume a universal allowance.
Fictional request

A name, with context.

POST https://api.obituarymonitor.com/api/v1/verify

{
  "first_name": "Alex",
  "last_name": "Morgan",
  "dob": {
    "year": 1942
  },
  "address": {
    "city": "Austin",
    "state": "TX"
  },
  "client_ref": "fictional-record-001"
}
Fictional response excerpt

A result you can explain.

{
  "result": "found",
  "confidence": 0.92,
  "review_recommended": false,
  "search_scope": {
    "stored_obituaries_checked": true,
    "listing_inventory_checked": true,
    "historical_web_search_checked": false,
    "search_depth": "recent"
  },
  "checked_at": "2026-11-05T12:00:00-06:00",
  "match": {
    "matched_name": "Alex Morgan",
    "death_date": "2026-10-20",
    "location": "Austin, TX",
    "obituary_url": "https://example.com/fictional-notice",
    "source": "Fictional Example Publisher",
    "snippet": null,
    "biography_summary": "A retired teacher who lived in Austin.",
    "source_trust": "stored",
    "evidence": {
      "name_match": "exact",
      "location_match": "city_state",
      "dob_match": "year_only"
    }
  }
}
Handle the edges

Errors are part of the integration.

400 / invalid_requestCheck the request body, required name and disambiguator. Fix input before retrying.
401 / unauthorizedCheck the key and account access without logging or exposing the key.
403 / api_access_requiredContact the team about API access for the account.
429 / rate_limited or quota_exceededRespect Retry-After and account quotas. Do not loop immediately.
503 / extended_capacityWait for Retry-After where supplied before retrying.