{"id":43090624,"url":"https://github.com/moddroid94/local-green-api","last_synced_at":"2026-02-02T18:00:40.134Z","repository":{"id":334923274,"uuid":"1142905807","full_name":"moddroid94/local-green-api","owner":"moddroid94","description":"Locally hosted Green WebAPI clone","archived":false,"fork":false,"pushed_at":"2026-01-28T18:35:27.000Z","size":95,"stargazers_count":59,"open_issues_count":0,"forks_count":2,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-01T02:09:03.069Z","etag":null,"topics":["api","clone","metadata","offline","spotify"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/moddroid94.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-27T01:30:33.000Z","updated_at":"2026-01-31T04:33:48.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/moddroid94/local-green-api","commit_stats":null,"previous_names":["moddroid94/local-spotify-api","moddroid94/local-green-api"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/moddroid94/local-green-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moddroid94%2Flocal-green-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moddroid94%2Flocal-green-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moddroid94%2Flocal-green-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moddroid94%2Flocal-green-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/moddroid94","download_url":"https://codeload.github.com/moddroid94/local-green-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/moddroid94%2Flocal-green-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28983424,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T16:29:42.054Z","status":"ssl_error","status_checked_at":"2026-02-01T16:29:41.428Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","clone","metadata","offline","spotify"],"created_at":"2026-01-31T16:11:52.496Z","updated_at":"2026-02-01T17:00:49.385Z","avatar_url":"https://github.com/moddroid94.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Local Green WebAPI Clone\n\n## Disclaimer\nThis project is not affiliated with, endorsed by, or connected to Spotify AB or any other music streaming service. This is independent open-source software that provides API infrastructure for querying music metadata databases.\n\n## Warning\nThis repository does not include any databases or copyrighted data. You must obtain the .parquet databases separately. This project only provides the API server code to query existing databases.\n\nThe author(s) of this project are not responsible for how you obtain or use the underlying data. Users are solely responsible for ensuring their use of any databases complies with applicable laws and terms of service. This software is provided \"as is\" without warranty of any kind.\n\n## Info\nThis is a simple project I've built to tag my own music with the immense catalog available.\n\nAfter the *blip* the metadata dataset was made available as a parquet file, for the full 256M rows of metadata the whole db is now only ~30GB in size.\n\nYou can find it online.\nhint: check the db extension \n\nGiven the very low space needed I decided to try and emulate the responses of the API to leverage the already built integrations for metadata in tools like Beets or Picard.\n\nResult: It worked quite well, apart from artworks, the most important infos are available and retrieved correctly, the only changes being the API url and an auth bypass.\n\n### This is still a rough demo, it **mostly** follows the specs but most methods are missing, so it may not work correctly with all the integrations yet.\n\n\n\n## Usage \u0026 Development\n\nThe project is managed using uv, more at [installation](https://docs.astral.sh/uv/getting-started/installation/)\n\n- Download the datase and unzip it into the root folder\n- Sync the dependency with ```uv sync```\n- Run with ```fastapi dev main.py```\n- The API should be available at http://127.0.0.1:8000\n\n\n#### Ps: the routes are **not** prefixed with /v1/ like the API.\n\nHeaders are ignored, market availability too.\n\n## Supported Methods\n- Get Several Tracks\u003csup\u003e1\u003c/sup\u003e (Return Spec Compliant)\n- Get Albums (Full Spec Compliant)\n- Get Artist (Full Spec Compliant)\n- Search\u003csup\u003e2\u003c/sup\u003e (Return Spec Compliant)\n\n\u003cbr\u003e\n1) Only 1 track at a time, but with multi-track response schema\n\n\u003cbr\u003e\n2) Allowed query types are:\n\n- `track` with query filters:\n`artist:`\n`album:`\n`isrc:`\n\n\u003cbr\u003e\n\n## Example Request-Response\n\u003cdetails\u003e\n\n\u003csummary\u003eGet Albums\u003c/summary\u003e\n\n### Request: ```http://127.0.0.1:8000/albums/3EncU2oR8VzeuWvLKPIEQd```\n\n### Response:\n```json \n{\n  \"rowid\": 767985,\n  \"id\": \"3EncU2oR8VzeuWvLKPIEQd\",\n  \"name\": \"Pivot (Camo \u0026 Krooked Remix) / Sinkhole (Skeptical Remix)\",\n  \"type\": \"album\",\n  \"tracks\": {\n    \"href\": \"*/albums/3EncU2oR8VzeuWvLKPIEQd/tracks\",\n    \"next\": null,\n    \"total\": 2,\n    \"previous\": null,\n    \"items\": [\n      {\n        \"rowid\": 9368406,\n        \"album_rowid\": 767985,\n        \"artists\": [\n          {\n            \"rowid\": 2501390,\n            \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n            \"name\": \"Mefjus\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 72765\n            },\n            \"popularity\": 52,\n            \"href\": \"*/artists/54qqaSH6byJIb8eFWxe3Pj\",\n            \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n            \"external_url\": {\n              \"*\": \"*/artist/54qqaSH6byJIb8eFWxe3Pj\"\n            }\n          },\n          {\n            \"rowid\": 4929842,\n            \"id\": \"2N8IPNZTiNo3nj4mreOlHU\",\n            \"name\": \"Camo \u0026 Krooked\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 237761\n            },\n            \"popularity\": 54,\n            \"href\": \"*artists/2N8IPNZTiNo3nj4mreOlHU\",\n            \"uri\": \"*:artist:2N8IPNZTiNo3nj4mreOlHU\",\n            \"external_url\": {\n              \"*\": \"*/artist/2N8IPNZTiNo3nj4mreOlHU\"\n            }\n          }\n        ],\n        \"id\": \"5w5Yy1iT2oAHMHi0ecFGRV\",\n        \"name\": \"Pivot - Camo \u0026 Krooked Remix\",\n        \"type\": \"track\",\n        \"external_url\": {\n          \"*\": \"*/track/5w5Yy1iT2oAHMHi0ecFGRV\"\n        },\n        \"href\": \"*/tracks/5w5Yy1iT2oAHMHi0ecFGRV\",\n        \"uri\": \"*:track:5w5Yy1iT2oAHMHi0ecFGRV\",\n        \"preview_url\": null,\n        \"explicit\": 0,\n        \"external_ids\": {\n          \"isrc\": \"UKACT1830493\"\n        },\n        \"popularity\": 11,\n        \"duration_ms\": 266181,\n        \"disc_number\": 1,\n        \"track_number\": 1\n      },\n      {\n        \"rowid\": 9368407,\n        \"album_rowid\": 767985,\n        \"artists\": [\n          {\n            \"rowid\": 2501390,\n            \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n            \"name\": \"Mefjus\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 72765\n            },\n            \"popularity\": 52,\n            \"href\": \"*/artists/54qqaSH6byJIb8eFWxe3Pj\",\n            \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n            \"external_url\": {\n              \"*\": \"*/artist/54qqaSH6byJIb8eFWxe3Pj\"\n            }\n          },\n          {\n            \"rowid\": 5138393,\n            \"id\": \"28ee6rnxMl8AqwcroPfivP\",\n            \"name\": \"Skeptical\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 26163\n            },\n            \"popularity\": 37,\n            \"href\": \"https://api.*.com/v1/artists/28ee6rnxMl8AqwcroPfivP\",\n            \"uri\": \"*:artist:28ee6rnxMl8AqwcroPfivP\",\n            \"external_url\": {\n              \"*\": \"https://open.*.com/artist/28ee6rnxMl8AqwcroPfivP\"\n            }\n          }\n        ],\n        \"id\": \"4pQp4qcip75nJACmwsDstb\",\n        \"name\": \"Sinkhole - Skeptical Remix\",\n        \"type\": \"track\",\n        \"external_url\": {\n          \"*\": \"https://open.*.com/track/4pQp4qcip75nJACmwsDstb\"\n        },\n        \"href\": \"https://api.*.com/v1/tracks/4pQp4qcip75nJACmwsDstb\",\n        \"uri\": \"*:track:4pQp4qcip75nJACmwsDstb\",\n        \"preview_url\": null,\n        \"explicit\": 0,\n        \"external_ids\": {\n          \"isrc\": \"UKACT1830494\"\n        },\n        \"popularity\": 16,\n        \"duration_ms\": 277674,\n        \"disc_number\": 1,\n        \"track_number\": 2\n      }\n    ]\n  },\n  \"album_type\": \"single\",\n  \"external_ids\": {\n    \"upc\": \"5057272089689\"\n  },\n  \"external_url\": {\n    \"*\": \"https://open.*.com/album/3EncU2oR8VzeuWvLKPIEQd\"\n  },\n  \"href\": \"https://api.*.com/v1/albums/3EncU2oR8VzeuWvLKPIEQd\",\n  \"uri\": \"*:album:3EncU2oR8VzeuWvLKPIEQd\",\n  \"copyrights\": [\n    {\n      \"text\": \"2018 Vision Recordings\",\n      \"type\": \"C\"\n    },\n    {\n      \"text\": \"2018 Vision Recordings\",\n      \"type\": \"P\"\n    }\n  ],\n  \"images\": [],\n  \"genres\": [],\n  \"label\": \"Vision Recordings\",\n  \"popularity\": 7,\n  \"release_date\": \"2018-11-02\",\n  \"release_date_precision\": \"day\",\n  \"total_tracks\": 2,\n  \"artists\": [\n    {\n      \"rowid\": 2501390,\n      \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n      \"name\": \"Mefjus\",\n      \"type\": \"artist\",\n      \"genres\": [],\n      \"followers\": {\n        \"href\": null,\n        \"total\": 72765\n      },\n      \"popularity\": 52,\n      \"href\": \"https://api.*.com/v1/artists/54qqaSH6byJIb8eFWxe3Pj\",\n      \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n      \"external_url\": {\n        \"*\": \"https://open.*.com/artist/54qqaSH6byJIb8eFWxe3Pj\"\n      }\n    },\n    {\n      \"rowid\": 4929842,\n      \"id\": \"2N8IPNZTiNo3nj4mreOlHU\",\n      \"name\": \"Camo \u0026 Krooked\",\n      \"type\": \"artist\",\n      \"genres\": [],\n      \"followers\": {\n        \"href\": null,\n        \"total\": 237761\n      },\n      \"popularity\": 54,\n      \"href\": \"https://api.*.com/v1/artists/2N8IPNZTiNo3nj4mreOlHU\",\n      \"uri\": \"*:artist:2N8IPNZTiNo3nj4mreOlHU\",\n      \"external_url\": {\n        \"*\": \"https://open.*.com/artist/2N8IPNZTiNo3nj4mreOlHU\"\n      }\n    },\n    {\n      \"rowid\": 5138393,\n      \"id\": \"28ee6rnxMl8AqwcroPfivP\",\n      \"name\": \"Skeptical\",\n      \"type\": \"artist\",\n      \"genres\": [],\n      \"followers\": {\n        \"href\": null,\n        \"total\": 26163\n      },\n      \"popularity\": 37,\n      \"href\": \"https://api.*.com/v1/artists/28ee6rnxMl8AqwcroPfivP\",\n      \"uri\": \"*:artist:28ee6rnxMl8AqwcroPfivP\",\n      \"external_url\": {\n        \"*\": \"https://open.*.com/artist/28ee6rnxMl8AqwcroPfivP\"\n      }\n    }\n  ]\n}\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003eGet Several Tracks\u003c/summary\u003e\n\n### Request: ```http://127.0.0.1:8000/tracks?ids=4pQp4qcip75nJACmwsDstb```\n\n### Response:\n```json \n{\n  \"tracks\": [\n    {\n      \"album\": {\n        \"rowid\": 767985,\n        \"id\": \"3EncU2oR8VzeuWvLKPIEQd\",\n        \"name\": \"Pivot (Camo \u0026 Krooked Remix) / Sinkhole (Skeptical Remix)\",\n        \"type\": \"album\",\n        \"album_type\": \"single\",\n        \"popularity\": 7,\n        \"release_date\": \"2018-11-02\",\n        \"release_date_precision\": \"day\",\n        \"total_tracks\": 2,\n        \"artists\": [\n          {\n            \"rowid\": 2501390,\n            \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n            \"name\": \"Mefjus\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 72765\n            },\n            \"popularity\": 52,\n            \"href\": \"https://api.*.com/v1/artists/54qqaSH6byJIb8eFWxe3Pj\",\n            \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n            \"external_url\": {\n              \"*\": \"https://open.*.com/artist/54qqaSH6byJIb8eFWxe3Pj\"\n            }\n          },\n          {\n            \"rowid\": 5138393,\n            \"id\": \"28ee6rnxMl8AqwcroPfivP\",\n            \"name\": \"Skeptical\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 26163\n            },\n            \"popularity\": 37,\n            \"href\": \"https://api.*.com/v1/artists/28ee6rnxMl8AqwcroPfivP\",\n            \"uri\": \"*:artist:28ee6rnxMl8AqwcroPfivP\",\n            \"external_url\": {\n              \"*\": \"https://open.*.com/artist/28ee6rnxMl8AqwcroPfivP\"\n            }\n          }\n        ],\n        \"external_url\": {\n          \"*\": \"https://open.*.com/album/3EncU2oR8VzeuWvLKPIEQd\"\n        },\n        \"href\": \"https://api.*.com/v1/albums/3EncU2oR8VzeuWvLKPIEQd\",\n        \"uri\": \"*:album:3EncU2oR8VzeuWvLKPIEQd\",\n        \"images\": []\n      },\n      \"artists\": [\n        {\n          \"rowid\": 2501390,\n          \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n          \"name\": \"Mefjus\",\n          \"type\": \"artist\",\n          \"genres\": [],\n          \"followers\": {\n            \"href\": null,\n            \"total\": 72765\n          },\n          \"popularity\": 52,\n          \"href\": \"https://api.*.com/v1/artists/54qqaSH6byJIb8eFWxe3Pj\",\n          \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n          \"external_url\": {\n            \"*\": \"https://open.*.com/artist/54qqaSH6byJIb8eFWxe3Pj\"\n          }\n        },\n        {\n          \"rowid\": 5138393,\n          \"id\": \"28ee6rnxMl8AqwcroPfivP\",\n          \"name\": \"Skeptical\",\n          \"type\": \"artist\",\n          \"genres\": [],\n          \"followers\": {\n            \"href\": null,\n            \"total\": 26163\n          },\n          \"popularity\": 37,\n          \"href\": \"https://api.*.com/v1/artists/28ee6rnxMl8AqwcroPfivP\",\n          \"uri\": \"*:artist:28ee6rnxMl8AqwcroPfivP\",\n          \"external_url\": {\n            \"*\": \"https://open.*.com/artist/28ee6rnxMl8AqwcroPfivP\"\n          }\n        }\n      ],\n      \"id\": \"4pQp4qcip75nJACmwsDstb\",\n      \"name\": \"Sinkhole - Skeptical Remix\",\n      \"type\": \"track\",\n      \"external_url\": {\n        \"*\": \"https://open.*.com/track/4pQp4qcip75nJACmwsDstb\"\n      },\n      \"href\": \"https://api.*.com/v1/tracks/4pQp4qcip75nJACmwsDstb\",\n      \"uri\": \"*:track:4pQp4qcip75nJACmwsDstb\",\n      \"preview_url\": null,\n      \"explicit\": 0,\n      \"external_ids\": {\n        \"isrc\": \"UKACT1830494\"\n      },\n      \"popularity\": 16,\n      \"duration_ms\": 277674,\n      \"disc_number\": 1,\n      \"track_number\": 2,\n      \"is_playable\": true\n    }\n  ]\n}\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003eGet Artist\u003c/summary\u003e\n\n### Request: ```http://127.0.0.1:8000/artists/54qqaSH6byJIb8eFWxe3Pj```\n\n### Response:\n```json \n{\n  \"rowid\": 2501390,\n  \"id\": \"54qqaSH6byJIb8eFWxe3Pj\",\n  \"name\": \"Mefjus\",\n  \"type\": \"artist\",\n  \"genres\": [],\n  \"followers\": {\n    \"href\": null,\n    \"total\": 72765\n  },\n  \"popularity\": 52,\n  \"href\": \"https://api.*.com/v1/artists/54qqaSH6byJIb8eFWxe3Pj\",\n  \"uri\": \"*:artist:54qqaSH6byJIb8eFWxe3Pj\",\n  \"external_url\": {\n    \"*\": \"https://open.*.com/artist/54qqaSH6byJIb8eFWxe3Pj\"\n  }\n}\n```\n\u003c/details\u003e\n\u003cbr\u003e\n\u003cdetails\u003e\n\n\u003csummary\u003eSearch\u003c/summary\u003e\n\n### Request: ```http://127.0.0.1:8000/search?q=Crank%20-%20Kasra%20album:Resonance%20\u0026type=track\u0026limit=1```\n\n### Response:\n```json \n{\n  \"track\": {\n    \"href\": \"\",\n    \"limit\": 1,\n    \"next\": null,\n    \"offset\": 0,\n    \"previous\": null,\n    \"total\": 1,\n    \"items\": [\n      {\n        \"rowid\": 9329915,\n        \"album_rowid\": 762445,\n        \"album\": {\n          \"rowid\": 762445,\n          \"id\": \"1vqbno1uvn9oBuE6nPD5MR\",\n          \"name\": \"The Resonance V\",\n          \"type\": \"album\",\n          \"album_type\": \"album\",\n          \"popularity\": 11,\n          \"release_date\": \"2023-02-17\",\n          \"release_date_precision\": \"day\",\n          \"total_tracks\": 15,\n          \"artists\": [\n            {\n              \"rowid\": 2968258,\n              \"id\": \"4YWj8sohRDjL9deiuRvEEY\",\n              \"name\": \"Noisia\",\n              \"type\": \"artist\",\n              \"genres\": [],\n              \"followers\": {\n                \"href\": null,\n                \"total\": 283349\n              },\n              \"popularity\": 50,\n              \"href\": \"https://api.*.com/v1/artists/4YWj8sohRDjL9deiuRvEEY\",\n              \"uri\": \"*:artist:4YWj8sohRDjL9deiuRvEEY\",\n              \"external_url\": {\n                \"*\": \"https://open.*.com/artist/4YWj8sohRDjL9deiuRvEEY\"\n              }\n            },\n            {\n              \"rowid\": 3902266,\n              \"id\": \"3W1ubrHvNSMltB1l7zo6xt\",\n              \"name\": \"Kasra\",\n              \"type\": \"artist\",\n              \"genres\": [],\n              \"followers\": {\n                \"href\": null,\n                \"total\": 19665\n              },\n              \"popularity\": 34,\n              \"href\": \"https://api.*.com/v1/artists/3W1ubrHvNSMltB1l7zo6xt\",\n              \"uri\": \"*:artist:3W1ubrHvNSMltB1l7zo6xt\",\n              \"external_url\": {\n                \"*\": \"https://open.*.com/artist/3W1ubrHvNSMltB1l7zo6xt\"\n              }\n            }\n          ],\n          \"external_url\": {\n            \"*\": \"https://open.*.com/album/1vqbno1uvn9oBuE6nPD5MR\"\n          },\n          \"href\": \"https://api.*.com/v1/albums/1vqbno1uvn9oBuE6nPD5MR\",\n          \"uri\": \"*:album:1vqbno1uvn9oBuE6nPD5MR\",\n          \"images\": []\n        },\n        \"artists\": [\n          {\n            \"rowid\": 2968258,\n            \"id\": \"4YWj8sohRDjL9deiuRvEEY\",\n            \"name\": \"Noisia\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 283349\n            },\n            \"popularity\": 50,\n            \"href\": \"https://api.*.com/v1/artists/4YWj8sohRDjL9deiuRvEEY\",\n            \"uri\": \"*:artist:4YWj8sohRDjL9deiuRvEEY\",\n            \"external_url\": {\n              \"*\": \"https://open.*.com/artist/4YWj8sohRDjL9deiuRvEEY\"\n            }\n          },\n          {\n            \"rowid\": 3902266,\n            \"id\": \"3W1ubrHvNSMltB1l7zo6xt\",\n            \"name\": \"Kasra\",\n            \"type\": \"artist\",\n            \"genres\": [],\n            \"followers\": {\n              \"href\": null,\n              \"total\": 19665\n            },\n            \"popularity\": 34,\n            \"href\": \"https://api.*.com/v1/artists/3W1ubrHvNSMltB1l7zo6xt\",\n            \"uri\": \"*:artist:3W1ubrHvNSMltB1l7zo6xt\",\n            \"external_url\": {\n              \"*\": \"https://open.*.com/artist/3W1ubrHvNSMltB1l7zo6xt\"\n            }\n          }\n        ],\n        \"id\": \"16Ek7OlxiIipZ59CYT3vVG\",\n        \"name\": \"Crank - Kasra Remix\",\n        \"type\": \"track\",\n        \"external_url\": {\n          \"*\": \"https://open.*.com/track/16Ek7OlxiIipZ59CYT3vVG\"\n        },\n        \"href\": \"https://api.*.com/v1/tracks/16Ek7OlxiIipZ59CYT3vVG\",\n        \"uri\": \"*:track:16Ek7OlxiIipZ59CYT3vVG\",\n        \"preview_url\": null,\n        \"explicit\": 0,\n        \"external_ids\": {\n          \"isrc\": \"UKU932390011\"\n        },\n        \"popularity\": 5,\n        \"duration_ms\": 248372,\n        \"disc_number\": 1,\n        \"track_number\": 10,\n        \"is_playable\": true\n      }\n    ]\n  }\n}\n```\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoddroid94%2Flocal-green-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmoddroid94%2Flocal-green-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmoddroid94%2Flocal-green-api/lists"}