Skip to content

Daily Digest — Source Map & Vetting Checklist

The digest only uses sources that pass every item on this checklist. The map below grows over time (candidates come from public-apis/public-apis); add a row only after completing the checklist and a code review of the adapter.

Vetting checklist (all required)

  1. No key / free tier with terms that permit automated daily access.
  2. ToS permits republishing headlines/excerpts with attribution and links to originals (we never mirror full content).
  3. Explicit license or API terms on record — link it in the table.
  4. Rate limits documented and our usage (1 call/day/source) is far below.
  5. Attribution rendered in the digest footer, with links to originals.
  6. Failure isolation — the adapter degrades to a note; it can never take the digest down (enforced by generateDigest, tested).
  7. No personal data collected or stored.

Active source map

SourceEndpointLicense / termsRate limitAdded
Hacker News front pagehn.algolia.com/api/v1/search?tags=front_pageAlgolia HN API — free, attribution appreciated10k req/h (we use 1/day)2026-07-29
Wikipedia featured feedapi.wikimedia.org/feed/v1/wikipedia/en/featured/{y}/{m}/{d}CC BY-SA 4.0; Wikimedia API terms200 req/h anonymous (we use 1/day)2026-07-29
Spaceflight News APIapi.spaceflightnewsapi.net/v4/articlesSNAPI — free, no key; summaries attributed to original news sitesgenerous (we use 1/day)2026-07-30

Vetted candidates (next up)

SourceEndpointNotes
GDELT DOC 2.0api.gdeltproject.org/api/v2/doc/docFree, no key; needs relevance filtering before it earns a section
Open-Meteoapi.open-meteo.com/v1/forecastFree non-commercial, no key; would add a local-weather line (needs user locale opt-in first)

Operating it daily

  • On demand (default): the studio's Digest tab (or GET /api/digest) generates at most once per UTC day and caches to apps/web/data/digests/.
  • Scheduled locally: any scheduler hitting the endpoint works, e.g. Windows Task Scheduler / cron running curl -s http://localhost:3100/api/digest > NUL.
  • Scheduled in CI (after the repo is on GitHub): a workflow on schedule: cron "0 13 * * *" can hit the deployed endpoint or run the generator and commit the dated markdown for an archive page.

Losslessness

Raw API payloads are stored content-addressed before any transformation — each digest carries a sourceId, and retrieve_original (or GET /api/retrieve?ref=<sourceId>) returns the exact bytes the digest was built from.

A Markdown Magic · Apache-2.0