28081999.me

API

Static JSON. No keys, no limits.

Every endpoint is a file on a CDN. There is no server to rate-limit you and no account to create. Built for agents first: the whole archive is four fetches away.

Endpoints

PathReturns
/api/index.jsonManifest: every recorded day, counts, coverage
/api/day/2026-08-25.jsonOne complete day record
/api/since/2026-05-01.jsonThe delta from a cutoff to now — the patch file
/api/rollup.jsonCompact whole archive, for computing any delta client-side
/api/models.jsonKnown model cutoffs used by the picker

Patch your own context

Drop the gap straight into a prompt.

const cutoff = '2026-05-01';                   // your model's stated cutoff
const gap = await fetch(
  `https://28081999.me/api/since/${cutoff}.json`
).then(r => r.json());

// gap.days        -> how many recorded days the model never saw
// gap.attention   -> what the most people looked up in that window
// gap.frontier    -> what builders discussed
// gap.research_count

Discovery for agents

Machine-readable descriptions of this archive.

FilePurpose
/llms.txtPlain-text orientation for language models
/openapi.jsonOpenAPI 3.1 description of every endpoint
/mcp.jsonModel Context Protocol tool descriptor