{"id":16379287,"url":"https://github.com/mtoensing/spotifymatch","last_synced_at":"2026-02-16T09:32:30.940Z","repository":{"id":74479279,"uuid":"293085260","full_name":"mtoensing/SpotifyMatch","owner":"mtoensing","description":"Tool for looking up local files with Spotify \u0026 adding them to a library.","archived":false,"fork":false,"pushed_at":"2019-01-19T23:48:02.000Z","size":6,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-23T16:06:12.874Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://marc.tv/lokale-mp3-sammlung-in-spotify-zuordnen-und-streamen/","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mtoensing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-09-05T13:51:31.000Z","updated_at":"2024-01-12T18:02:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"2b3ca6a2-6a16-40df-a153-1148da3896ef","html_url":"https://github.com/mtoensing/SpotifyMatch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mtoensing/SpotifyMatch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FSpotifyMatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FSpotifyMatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FSpotifyMatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FSpotifyMatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mtoensing","download_url":"https://codeload.github.com/mtoensing/SpotifyMatch/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mtoensing%2FSpotifyMatch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29504749,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"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":[],"created_at":"2024-10-11T03:48:05.415Z","updated_at":"2026-02-16T09:32:30.923Z","avatar_url":"https://github.com/mtoensing.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# SpotifyMatch\n\n## Overview\n\nI wrote this tool in an afternoon as a quick way to add all the songs from my iTunes library (or any local directory of music files) to my Spotify account so that they could be streamed from all my devices.\n\nWhat it does:\n- Attempts to read song metadata (title and artist) from files in a given directory\n- Looks up song data with Spotify's API to try to find a match\n- Outputs the name, Spotify ID, and Spotify URI of all matches\n- Prompts as to whether to add all the matches to the authenticated user's Spotify library\n\n## Usage\n\n**Note:** Because this was a quick task, I didn't implement the full OAuth dance as part of this tool. To use it, you'll need to generate your own authorization token. This can be done through a web browser:\n\n1. Create a Spotify app in their [developer portal](https://developer.spotify.com/dashboard/applications). You can use a localhost variant as your redirect URI for simplicity\n1. Obtain an authorization token with the `user-library-modify` scope included. The authorization URL should look something like this:\n\n```\nhttps://accounts.spotify.com/authorize?client_id=YOUR_CLIENT_ID\u0026scope=user-library-modify\u0026response_type=token\u0026redirect_uri=YOUR_REDIRECT_URI\n```\n\nOnce you have the token:\n\n1. Clone this repository\n1. Build and run the tool, specifying the token and path to the songs you'd like to match:\n\n```\n$ ./run.sh ACCESS_TOKEN PATH_TO_SONG_DIRECTORY\n```\n```\nLooking up 'Back in Black artist:AC DC'...\nLooking up 'Thunderstruck artist:AC DC'...\nMatched 'Back In Black'\nMatched 'Thunderstruck'\n\nResults:\n'Back In Black', 08mG3Y1vljYA6bvDt4Wqkj, spotify:track:08mG3Y1vljYA6bvDt4Wqkj\n'Thunderstruck', 57bgtoPSgt236HzfBOd8kj, spotify:track:57bgtoPSgt236HzfBOd8kj\n\nDone: Matched 2/2 tracks\n```\n```\nAdd songs to Spotify library? (y/n)\n$ y\nAdding to library...\nAdding batch of 2 songs to Spotify library...\nDone adding songs!\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoensing%2Fspotifymatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmtoensing%2Fspotifymatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmtoensing%2Fspotifymatch/lists"}