Public and operational endpoints for the Developers Digest platform. Most read endpoints require no authentication, while course chat and protected sync endpoints use Clerk or bearer-token auth.
/api/toolsList all tools in the directory with optional filtering.
categorystringFilter by category (e.g., AI Coding)qstringSearch tools by name, description, or tags{ "tools": [...], "total": 64 }Cache: 1 hourAuth: None/api/search-indexFull search index with all blog posts, guides, tools, videos, courses, and toolkit pages.
[{ "type": "blog", "title": "...", "description": ...Cache: 1 minute + 5 min stale-while-revalidateAuth: None/api/healthHealth check with content counts, required environment status, and optional integration visibility.
{ "status": "healthy", "environment": "production"...Cache: NoneAuth: None/api/health/deepDeep health check with version info, git SHA, build time, dependency audit, runtime metrics, and content inventory.
{ "status": "healthy", "version": { "app": "0.1.0"...Cache: NoneAuth: None/api/semantic-searchEmbedding-backed semantic search over generated content embeddings.
qstringSearch query (minimum 2 characters){ "results": [{ "title": "...", "url": "/blog/..."...Cache: 1 minute + 5 min stale-while-revalidateAuth: None/api/sync-videosProtected video coverage and sync status endpoint used for scheduled operations and manual checks.
{ "timestamp": "...", "totalVideos": 123, "stats":...Cache: 1 hour + 2 hours stale-while-revalidateAuth: Bearer CRON_SECRET when configured/api/chatAuthenticated AI companion endpoint for signed-in users studying Developers Digest courses.
UI message stream responseCache: NoneAuth: Signed-in Clerk session required/api/ogGenerate dynamic Open Graph images with custom title and subtitle.
titlestringMain heading textsubtitlestringSubtitle text (optional)1200x630 PNG imageCache: Edge cachedAuth: None/feed.xmlRSS 2.0 feed with all blog posts, guides, and videos.
application/rss+xmlCache: 1 hourAuth: None/atom.xmlAtom 1.0 feed with all blog posts, guides, and videos.
application/atom+xmlCache: 1 hourAuth: None/feed.jsonJSON Feed 1.1 with all blog posts.
application/feed+jsonCache: 1 hourAuth: None/blog/tags/[tag]/feed.xmlPer-tag RSS feed for blog posts.
tagpathTag slug (e.g., claude-code)application/rss+xmlCache: 1 hourAuth: None/api/random/postReturns a random blog post. Useful for discovery widgets and shuffle features.
{ "site": "Developers Digest", "generatedAt": "......Cache: None (always fresh)Auth: None/api/random/toolReturns a random tool from the directory. Useful for discovery widgets and recommendations.
{ "site": "Developers Digest", "generatedAt": "......Cache: None (always fresh)Auth: None
New tutorials, open-source projects, and deep dives on coding agents - delivered weekly.