# Unspin (unspin.app) — the fake-news game

> Unspin (unspin.app) — the free daily fake-news game: spot the fake, publish the real. Not affiliated with the UnSpin AI fact-checker (unspin-app.com) nor Unspun clothing (unspun.io). This file maps the public data surface (REST, feeds, OpenAPI spec) for AI agents and search crawlers that want to read or analyze the story pool.

Unspin collects real news and debunked hoaxes every 30 minutes and serves them as short cards: headline, dek, body, outlet, image, and the stored verdict (real or fake) with the manipulation technique. Everything below is public, read-only, and cacheable. Anonymous write endpoints (scores, answers, comments, wire posts) need x-session-id headers and are documented in the OpenAPI spec for completeness, but agents only need the reads.

Rate courtesy: hot reads are edge-cached ~45s. Poll /feed.json or /feed.xml at most every few minutes; collectors refresh the pool every 30 minutes.

## Community

- [Wire feed](https://unspin.app/api/wire?limit=30): Anonymous community posts with inline replies and like/dislike counts, newest first. Paginate with ?before=<createdAt-ms>.

## Data

- [OpenAPI spec](https://unspin.app/api/openapi.json): Full machine-readable catalog of the public REST API with parameters and schemas.
- [Today's stories](https://unspin.app/api/today): Newest active stories with verdicts, techniques, outlets, and images.
- [Continuous feed](https://unspin.app/api/feed?mode=recent): Newest-to-oldest story stream; modes latest, recent, archive.
- [Headlines](https://unspin.app/api/headlines?limit=100): Compact id + headline + date + image list for dedupe and search.
- [Set dates](https://unspin.app/api/dates): Available dated sets, newest first; replay any via /api/today?date=YYYY-MM-DD.
- [Leaderboard](https://unspin.app/api/leaderboard): Top desks by score. Rogue bests at /api/rogue/board.
- [Aggregate stats](https://unspin.app/api/stats): Sessions, accuracy by verdict, per-story catch rates.
- [Health](https://unspin.app/api/health): Pool size, last collector run, feedback depth. Use as a liveness probe.

## Feeds

- [RSS 2.0](https://unspin.app/feed.xml): Latest 40 cards with verdict categories, source citations, and image enclosures, updated as collectors ingest.
- [JSON Feed 1.1](https://unspin.app/feed.json): Same pool as JSON with an _unspin extension block (verdict, technique, outlet, fact-check URL).

## About

- [About — what Unspin.app is](https://unspin.app/about): The fake-news game explained + not-affiliated notice (unspin-app.com, unspun.io).
- [How to play](https://unspin.app/how-to-play): Timed shift vs Go Rouge endless, scoring, shields, streaks.
- [For classrooms](https://unspin.app/classroom): Free media-literacy lesson use, embed snippet, RSS/JSON dataset for teachers.
- [Archive](https://unspin.app/archive): Every dated set, newest first — replay any day.
- [How it works](https://unspin.app/): Open the app, menu to How it works. Game rules, daily streaks, and the just-a-game disclaimer.
- [Sitemap](https://unspin.app/sitemap.xml): App entry, about pages, feeds, spec, and recent story deep links.
