Appearance
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)
- No key / free tier with terms that permit automated daily access.
- ToS permits republishing headlines/excerpts with attribution and links to originals (we never mirror full content).
- Explicit license or API terms on record — link it in the table.
- Rate limits documented and our usage (1 call/day/source) is far below.
- Attribution rendered in the digest footer, with links to originals.
- Failure isolation — the adapter degrades to a note; it can never take the digest down (enforced by
generateDigest, tested). - No personal data collected or stored.
Active source map
| Source | Endpoint | License / terms | Rate limit | Added |
|---|---|---|---|---|
| Hacker News front page | hn.algolia.com/api/v1/search?tags=front_page | Algolia HN API — free, attribution appreciated | 10k req/h (we use 1/day) | 2026-07-29 |
| Wikipedia featured feed | api.wikimedia.org/feed/v1/wikipedia/en/featured/{y}/{m}/{d} | CC BY-SA 4.0; Wikimedia API terms | 200 req/h anonymous (we use 1/day) | 2026-07-29 |
| Spaceflight News API | api.spaceflightnewsapi.net/v4/articles | SNAPI — free, no key; summaries attributed to original news sites | generous (we use 1/day) | 2026-07-30 |
Vetted candidates (next up)
| Source | Endpoint | Notes |
|---|---|---|
| GDELT DOC 2.0 | api.gdeltproject.org/api/v2/doc/doc | Free, no key; needs relevance filtering before it earns a section |
| Open-Meteo | api.open-meteo.com/v1/forecast | Free 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 toapps/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.