API Reference

Public REST endpoints for Minerva Network Data

Rate Limits & Caching

To protect the database from overuse, all API requests are heavily cached via physical file system caching. Requesting the same endpoint repeatedly will return a globally cached result for 5 minutes. There is no API key required for basic `GET` requests, but please don't abuse the API.

GET /api/dashboard/latest

Returns the full metadata block alongside an array of every torrent currently tracked. Note: Action is strictly required.

{ "metadata": { "total_torrents": 1050, "global_seeders": 15402, ... }, "previous_metadata": { "total_torrents": 1048, "global_seeders": 15100, ... }, "torrents": [ { "info_hash": "a1b2c3d4...", "name": "MINERVA - EXAMPLE", "size_bytes": 4123456789, "seeders": 142, "leechers": 5 } ] }

GET /api/dashboard/stats

A lightweight version of latest. Returns only the metadata and previous_metadata blocks without the heavy torrent payload. Ideal for lightweight widgets.

GET /api/dashboard/rank?type={type}

Returns pre-sorted ranking subsets without needing to parse the entire torrent list. Valid types are positive (Most seeds/peers), negative (Least seeds/peers), and low_ratio (Bottom 5 ratio per group).

GET /api/dashboard/history

Returns chronological timeline data of the entire network's health (Hard limited to the last 5 days). Used to render graphs.

GET /api/dashboard/torrent/{info_hash}

Returns the chronological seeder/leecher timeline for a specific torrent (Hard limited to the last 5 days).