No description
| README.md | ||
duriin_api
Node.js Fastify server that ingests news articles from RSS, SEC EDGAR 8-K filings, Alpha Vantage News Sentiment, Finnhub company news, and GDELT into a local SQLite archive.
Setup
- Install dependencies:
npm install - Edit
config.jsonwith your API keys, includingopenRouter.apiKey, tickers, RSS feeds, and schedules. - Start the server:
npm start
API
GET /articles?q=&source=&from=&to=&limit=&offset=GET /articles?similar_to={id}&limit=GET /articles?topic={query}&limit=GET /articles/:idGET /status
Notes
- SQLite archive file defaults to
./archive.sqlite. - Deduplication is enforced on
urland normalized title. - Article body extraction runs asynchronously after insertion, with hourly retries for rows still missing content.
- Main article images are stored as ultra-compressed base64 WebP.
- Embeddings are generated asynchronously with OpenRouter
perplexity/pplx-embed-v1-0.6band indexed insqlite-vecfor similarity search. - Topic search caches normalized query embeddings in SQLite and falls back to OpenRouter on cache miss.
- SEC requests use the configured
User-Agent.