Duriin-API/README.md
2026-04-16 22:45:58 +01:00

1.2 KiB

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

  1. Install dependencies:
    npm install
    
  2. Edit config.json with your API keys, including openRouter.apiKey, tickers, RSS feeds, and schedules.
  3. 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/:id
  • GET /status

Notes

  • SQLite archive file defaults to ./archive.sqlite.
  • Deduplication is enforced on url and 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.6b and indexed in sqlite-vec for 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.