Skip to main content
Use these routes when the user names a newsletter, author, podcast, or URL, or asks what publications are available. Do not load the full catalog for a topic question — use Topic Search instead. Free, no auth. MCP: list_publications, search_publications, get_publication, list_podcasts, get_podcast.

Find a publication by name

GET /api/v1/publications/search?q=...q is required (minimum 2 characters). Returns up to 3 matches.

One publication and its recent posts

GET /api/v1/publications/{publicationSlug} works for any indexed slug, not only the curated list. Optional limit is 1-100.
The response includes publication metadata plus posts[] with slug, title, subtitle, publishedAt, priceCents, and isPodcast. Unknown slugs return 404. Unlock a selected post with GET /api/v1/publications/{publicationSlug}/{postSlug} after confirming $X.XX from priceCents. See Payment Flow.

Browse the curated catalog

GET /api/v1/publications lists curated newsletters, podcasts, and publications (slug, title, description, siteUrl, lastSyncedAt). Use this only when the user explicitly wants to browse what is available.

Podcasts

Same JSON envelope as publications ({ "publications": [...] }).
GET /api/v1/podcasts/{publicationSlug} returns 404 unless the slug is a podcast. Unlock episodes with the same paid publication-post route as newsletters.