{"adoption": {"forks": 114, "observed_at": "2026-08-28T04:05:26.162618+00:00", "stars": 1714}, "canonical_url": "https://ross.abutalabs.com/products/nzbhydra2", "card": {"archived": false, "artifact_type": "application", "description": "Usenet meta search", "domain": ["self-hosted", "media", "web-development"], "enriched": true, "function": ["search-engine", "http-server", "auth", "analytics"], "health_score": 100, "homepage": null, "language": "JavaScript", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["theotherp/nzbhydra2"], "name": "theotherp/nzbhydra2", "platform": ["windows", "self-hosted", "cross-platform"], "pushed_at": "2026-08-24T05:46:15+00:00", "repo": "theotherp/nzbhydra2", "stars": 1714, "tags": ["usenet", "nzb", "newznab", "torznab", "metasearch", "indexer-aggregator", "prowlarr-alternative", "sonarr", "radarr", "sabnzbd", "nzbget", "jackett", "search", "automation", "linux", "macos", "docker"], "topics": ["nzb", "usenet", "metasearch"], "urls": [], "use_cases": ["search multiple usenet indexers from one place", "aggregate newznab and torznab results for sonarr and radarr", "self-hosted indexer aggregator for usenet automation", "merge multiple torznab trackers into one endpoint", "track usenet download history and indexer stats", "send nzb results to sabnzbd or nzbget", "replace prowlarr for usenet indexers"], "what_it_is": "NZBHydra 2 is a self-hosted meta search application that aggregates results from newznab indexers and torznab trackers, merging, filtering, and deduplicating them in a single web UI. It exposes newznab/torznab-compatible API endpoints so tools like Sonarr, Radarr, and NZBGet can use it as a unified indexer source.", "when_to_avoid": ["you are new to usenet and its automation ecosystem and want something simple", "you only use a single indexer and don't need aggregation", "you only need torrent indexing without usenet support"], "when_to_choose": ["you use several usenet indexers and want one unified search and API endpoint", "you run *arr tools and want to consolidate indexer sources", "you want search history, stats, and duplicate detection across indexers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/nzbhydra2", "repo": "theotherp/nzbhydra2", "role": "main", "score": 97}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:26.162618+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:34:39.773953+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "4f54901ee95f75f42095210bfeb75f521a28af79f328c78f51b9394627171aac", "fetched_at": "2026-08-28T04:05:26.162618+00:00", "kind": "readme", "missing": false, "url": "https://github.com/theotherp/nzbhydra2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 92}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3274, "days_push": 9, "days_rel": 55, "gap_med": 6.0, "n_releases_24m": 59}, "score": 97, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}