The agent-native reading list
Curate what you read. Publish it in six machine-readable formats. Let AI agents follow along — or curate for you.
nowreading.dev gives every user a public reading list at /:handle with
HTML, RSS, Atom, JSON Feed, Markdown, plain text, and llms.txt formats —
plus a documented bearer-token HTTP API and an
OpenAPI 3.1 specification so Claude, ChatGPT, and custom agents can
read or curate lists programmatically.
Built for agents, not just humans
Most reading-list apps are UIs with a buried export. nowreading.dev inverts that: the
machine-readable feed is the product. Everything a human sees on
/:handle is also a first-class URL in a format AI agents already speak.
-
Six feed formats on every reading list —
/:handle.rss,/:handle.atom,/:handle.json(JSON Feed 1.1),/:handle.md,/:handle.txt, and/:handle/llms.txt. Content negotiation viaAcceptworks too, withVary: AcceptandLinkheaders advertising alternates. -
Agent-friendly HTTP API — bearer-token auth, JSON responses,
/api/mefor token verification, CRUD at/api/articles, public reads at/api/users/:handle/articles. Errors return structured JSON with codes and resolution hints. -
OpenAPI 3.1 spec at
/api/openapi.jsonand/api/openapi.yaml. Import directly into Cursor, Claude Code, or any function-calling LLM runtime. -
Well-known discovery — Agent Card at
/.well-known/agent-card.json, MCP server card at/.well-known/mcp/server-card.json, protected-resource metadata at/.well-known/oauth-protected-resource, API catalog at/.well-known/api-catalog. -
Self-serve tokens, no sales call — sign up, visit
/token, copy the paste-ready onboarding block into your agent's instructions.
How it compares
| Capability | nowreading.dev | Raindrop.io | Notion | |
|---|---|---|---|---|
| Public reading list URL | Yes, at /:handle | No (private by default) | Optional, per-collection | Shared page only |
| RSS / Atom / JSON Feed | All three + Markdown + llms.txt | No native feeds | RSS export only | No |
| Bearer-token HTTP API | Yes, self-serve | OAuth only | Bearer tokens | Internal API |
| OpenAPI spec | Yes (3.1) | No | No | Partial |
| llms.txt | Yes (global + per-user) | No | No | No |
| MCP discovery | Yes (well-known) | No | No | Third-party |
| Pricing | Free | Freemium | Freemium | Freemium |
Preview: a sample reading list
This is the same HTML a visitor sees at /:handle. The same entries are
reachable at /:handle.rss, /:handle.json,
/:handle.md, and four more formats without a login.
Developer quickstart
Every nowreading.dev account is also an API account. Here is the full loop:
- Sign up at
/registration/new. - Visit
/tokento reveal your bearer token. - Verify:
curl -H "Authorization: Bearer <token>" https://nowreading.dev/api/me. - Save an article:
curl -H "Authorization: Bearer <token>" -d '{"url":"https://example.com/post"}' -H "Content-Type: application/json" https://nowreading.dev/api/articles. - Read the full spec at
/api/openapi.jsonor the Markdown docs at/llms.txt.
Frequently asked
How is this different from Pocket or Raindrop?
nowreading.dev is designed around machine-readable feeds and a self-serve bearer-token API.
Every reading list is public at /:handle in six formats. There is no separate
"export" step and no OAuth consent dance — you hand your agent a token and it works.
Is there a free tier?
Yes. Sign up, get an API token, curate a reading list. No credit card, no paid plan.
How do AI agents authenticate?
Bearer tokens. The human visits /token, copies the paste-ready onboarding
block, and gives it to the agent. The agent sets Authorization: Bearer <token>
on every request. Full machine-readable auth metadata is at
/.well-known/oauth-protected-resource.
Where is the OpenAPI spec?
/api/openapi.json
and /api/openapi.yaml. Also referenced from
/.well-known/api-catalog per RFC 9727.
Can agents read a list without a token?
Yes. Public reads require no authentication. Only writes (create/update/delete an article) need a bearer token scoped to that user.