{"adoption": {"forks": 123, "observed_at": "2026-08-28T04:04:06.763530+00:00", "stars": 1244}, "canonical_url": "https://ross.abutalabs.com/products/lrcapi", "card": {"archived": false, "artifact_type": "service", "description": "A Flask API For StreamMusic.", "domain": ["audio", "self-hosted", "apis", "media"], "enriched": true, "function": ["api-framework", "http-server", "search-engine", "image-processing"], "health_score": 90, "homepage": "https://docs.lrc.cx", "language": "Python", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["HisAtri/LrcApi"], "name": "HisAtri/LrcApi", "platform": ["python", "self-hosted"], "pushed_at": "2026-08-18T12:10:51+00:00", "repo": "HisAtri/LrcApi", "stars": 1244, "tags": ["lyrics", "lrc", "navidrome", "streammusic", "album-covers", "flask", "music-metadata", "docker", "linux", "web-server"], "topics": ["lyrics", "music", "navidrome"], "urls": [], "use_cases": ["fetch synced lyrics for my self-hosted music library", "get album cover art for Navidrome tracks", "self-host a lyrics API for StreamMusic", "serve LRC lyrics over HTTP with authentication", "edit music file metadata tags via an API"], "what_it_is": "A Flask-based API service that fetches LRC lyrics and album/artist cover art for music players, built primarily for StreamMusic and Navidrome users. It can be self-hosted via Docker, binary, or Python, and also offers a public hosted instance.", "when_to_avoid": ["you need a full music streaming server rather than a metadata API", "you require lyrics sources other than Kugou/aggregated APIs", "you want a GUI application"], "when_to_choose": ["you use StreamMusic or Navidrome and need lyrics/covers automatically", "you want a lightweight self-hosted lyrics service with Docker deployment", "you need optional header-based auth on a lyrics API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/lrcapi", "repo": "HisAtri/LrcApi", "role": "main", "score": 70}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "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:04:06.763530+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.763530+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:12.838772+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5dfe6a11bd738c15898df9e9cf1c5ddf505645972a94226e7aced730555094ec", "fetched_at": "2026-08-28T04:04:06.763530+00:00", "kind": "readme", "missing": false, "url": "https://github.com/HisAtri/LrcApi"}, {"content_hash": "f925bd90e05bbd1236d04a62f361a7e4f76a7319577a0fdbfd9492f37fd0288d", "fetched_at": "2026-08-29T12:19:55.042316+00:00", "kind": "homepage", "missing": false, "url": "https://docs.lrc.cx"}, {"content_hash": "0ec57ab8f5006dccd698ae5f5d867a16308d350015db97cbdbba53f4435e5ff0", "fetched_at": "2026-08-29T12:19:55.048056+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Donate"}, {"content_hash": "959721ba6183f13e327ba060ee65d8421d5b12ea8b0bf8ae3bd252c7b019965c", "fetched_at": "2026-08-29T12:19:55.044713+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/QuickStart"}, {"content_hash": "a4aca77d8f3ab263789084ac440b1ffc212c31e7624a021e38cabaf8d8ee672a", "fetched_at": "2026-08-29T12:19:55.046477+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/sim/goods"}, {"content_hash": "f8f24d72aeba3d702c82c8fe1f27e99283a21d5acaa6d978e9c6344b3053cf6e", "fetched_at": "2026-08-29T12:19:55.049651+00:00", "kind": "site_page", "missing": false, "url": "https://docs.lrc.cx/docs/Acknowledgments"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 81, "rhythm": 28}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1140, "days_push": 15, "days_rel": 589, "gap_med": 33, "n_releases_24m": 4}, "score": 70, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}