Subscribe to RSS feeds, newsletters via email forwarding, and keyword alerts. Your own curated daily briefing, no algorithm, no ads.
Every operation in Feedreader is available through a JSON REST API. No SDK required — use curl, fetch, or any HTTP client.
GET /api/feeds — list all feeds with optional search and filter query parametersPOST /api/feeds — create a new feed recordGET /api/feeds/{id} — retrieve a single feed by IDPUT /api/feeds/{id} — update an existing feedDELETE /api/feeds/{id} — remove a feedGET /api/stats — aggregated statistics with status breakdownGET /api/health — health check endpoint for monitoringA devops team integrates Feedreader into their CI pipeline. A post-deploy hook creates a feed record via the API. The stats endpoint feeds a Grafana panel. When something goes wrong, the team searches feeds by keyword to find related records without switching tools.
Every feed your team creates contains context that matters — title, url, site url, category, item count. When that data lives in a third-party service, you are one acquisition or policy change away from losing access. Feedreader keeps it local.
GET /api/feeds — List all feeds. Supports ?q=keyword for search and ?status=value for filteringPOST /api/feeds — Create a new feed. Send JSON with at least titleGET /api/feeds/{id} — Fetch one feed by IDPUT /api/feeds/{id} — Update fields on an existing feedDELETE /api/feeds/{id} — Remove a feedGET /api/stats — Returns total count and breakdown by statusGET /api/health — Returns {"status":"ok"} for uptime monitoringPoint curl at /api/feeds to interact with Feedreader programmatically. The API follows predictable REST conventions: GET to list or fetch, POST to create, PUT to update, DELETE to remove. The response schema matches the internal data model exactly, so what you see in the dashboard is what the API returns.
Self-hosted RSS and news aggregator. Self-hosted on your infrastructure. Your data never leaves your server.
curl -fsSL https://stockyard.dev/install.sh | sh -s -- --tool feedreader
PORT=9920 ./feedreader
http://localhost:9920
Single binary. Embedded SQLite. No Docker. No database. No dependencies.
Your license key arrives by email within 5 minutes of checkout. Set it as an environment variable and restart the binary.
export FEEDREADER_LICENSE_KEY=stockyard_xxxxxxxxxxxxxxxxxxxx ./feedreader
No cloud connectivity required. The binary validates the key offline with Ed25519 signatures.