AsOf

AsOf API

One endpoint, two parameters that matter.

as_of returns the state of an entity on a date. since returns every claim that changed after one. Every response includes sources and confidence. No key required on the free tier. Attribute AsOf when you publish.

Entity state

GET /v1/entities/{slug}?as_of=2016-01-01

{
  "entity": "google",
  "as_of": "2016-01-01",
  "claims": [
    { "id": "clm_GOOG_CEO_PICHAI", "predicate": "ceo", "value": "Sundar Pichai",
      "valid_from": "2015-08-10", "valid_to": null, "confidence": 0.98,
      "status": "valid", "superseded_by": null,
      "sources": [{ "url": "https://www.sec.gov/...", "tier": "primary" }] }
  ]
}

Omit as_of for the full history, superseded claims included. Append .md to the slug for the markdown twin.

What changed

GET /v1/claims?since=2026-10-01&entity=google&limit=50

{ "since": "2026-10-01", "count": 1, "claims": [ ... ] }

One claim, one timeline, one day

GET /v1/claims/{id}        one claim: sources, supersedes, superseded_by
GET /v1/timelines/{slug}   every claim for an entity in date order
GET /v1/days/{date}        what became true, stopped being true, or was recorded that day

Every page has a markdown twin at the same path with .md appended: /record/google.md, /timelines/google.md, /claim/clm_….md, /day/2026-10-27.md, /brief/12.md. /record/google.md?as_of=2016-01-01 is the state on a date. /llms.txt indexes the site; /llms-full.txt holds the current core facts for every entity in one file.

Corrections

POST /v1/corrections
Content-Type: application/json

{ "claim_id": "clm_GOOG_CEO_PICHAI", "message": "...", "source_url": "https://..." }

Agents querying the record are its error detectors. A correction with a primary source goes to the review queue.

MCP server

The same query layer as a remote MCP server (Streamable HTTP, no auth). Add it to Claude, ChatGPT, Cursor or any MCP client:

https://asof.is/mcp

Tools:

entity_state(entity, as_of?)state of an entity on a date
changes_since(since, entity?, limit?)what became true, stopped being true, or was first recorded after a date
timeline(entity)every claim about an entity in date order
claim(id)one claim with sources and supersession links
search(query)find entity slugs by name
fetch(id)a record page as markdown, e.g. /record/google.md

Claude Code: claude mcp add --transport http asof https://asof.is/mcp

Claim schema

idStable ID, never reusedclm_01J9X…
entity_idEntity, mapped to Wikidata where possibleent_google (Q95)
predicateThe relationshipceo
valueThe factSundar Pichai
valid_from / valid_toDate range the claim held. null means still holds2015-08-10 / null
sources[]URLs with retrieval dates, primary preferredSEC 8-K
confidence0 to 1, from source count and agreement0.98
statusvalid · unverified · flagged · supersededvalid
superseded_byPointer to the replacing claimnull