{"id":18508917,"url":"https://github.com/bst27/shazam-webhook","last_synced_at":"2025-08-13T23:07:45.167Z","repository":{"id":57553237,"uuid":"267320211","full_name":"bst27/shazam-webhook","owner":"bst27","description":"Webhook notifications when shazam.com charts are updated.","archived":false,"fork":false,"pushed_at":"2020-08-16T18:23:27.000Z","size":540,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-12T08:50:35.120Z","etag":null,"topics":["go","golang","ifttt","monitor","shazam","shazam-charts","shazam-webhook","spotify","tracklist","webhook","webhooks","zapier"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"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/bst27.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}},"created_at":"2020-05-27T12:59:14.000Z","updated_at":"2024-03-25T01:45:31.000Z","dependencies_parsed_at":"2022-09-07T17:50:50.330Z","dependency_job_id":null,"html_url":"https://github.com/bst27/shazam-webhook","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bst27/shazam-webhook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bst27%2Fshazam-webhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bst27%2Fshazam-webhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bst27%2Fshazam-webhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bst27%2Fshazam-webhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bst27","download_url":"https://codeload.github.com/bst27/shazam-webhook/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bst27%2Fshazam-webhook/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270330595,"owners_count":24565816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-13T02:00:09.904Z","response_time":66,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["go","golang","ifttt","monitor","shazam","shazam-charts","shazam-webhook","spotify","tracklist","webhook","webhooks","zapier"],"created_at":"2024-11-06T15:15:50.169Z","updated_at":"2025-08-13T23:07:45.143Z","avatar_url":"https://github.com/bst27.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![shazam-webhook](https://raw.githubusercontent.com/bst27/shazam-webhook/master/website/banner.png)\n\nshazam-webhook\n======\nThis application allows to monitor Shazam charts available at shazam.com and\nsending webhooks holding artist and title when new tracks are added. E.g. if\nyou want to **add Shazam charts to a Spotify playlist** you can do this using\nthis application and a 3rd party service to receive webhooks like \n[IFTTT](https://ifttt.com/) or [Zapier](https://zapier.com/).\n\n# Usage\nAt first you have to customize the **app-config.json**: Add some Shazam charts\nyou want to monitor. Also add tracklists to receive tracks from monitored\nShazam charts and define some webhooks.\n\nBelow is an example configuration. By disabling initial hooks no webhooks\nare triggered when tracks are added to a tracklist during the first iteration. The polling \ninterval is set to fetch Shazam charts every 10800 seconds (= 3 hours). Two\nShazam charts are defined to be monitored: Berlin (81310) and Paris (80321).\nA single tracklist is defined. By watching two charts the tracks of both \nShazam charts will be added to the tracklist. When a track is added the defined webhook\nwill receive artist and title as a POST request. \n```\n{\n    \"SendInitialHooks\": false,\n    \"PollingInterval\": 10800,\n    \"MonitoredShazamCharts\": [\n        \"81310\",\n        \"80321\"\n    ],\n    \"Tracklists\": [ \n        {\n            \"WatchedShazamCharts\": [\n                \"81310\",\n                \"80321\"\n            ],\n            \"WebhookTargets\": [\n                {\n                    \"URL\": \"http://localhost:8080/72A4E\"\n                }\n            ]\n        }\n    ]\n}\n```\nYou can find a list of available Shazam city IDs to be monitored at [bst27/shazam](https://github.com/bst27/shazam/blob/24cdf23c38ce845e2b0333368bba697888bb0412/cities.go).\n\nAfter customizing the configuration you can build and run the application:\n```\ngo build; ./shazam-webhook\n```\n\n# TODO\nThis section holds some ideas:\n\n## Config file path\nAllow to set path to config file via command line argument.\n\n## Config Creator\nCreate a command line tool to generate an **app-config.json** file. This file will hold the app configuration.\n\n## Tests\nAs always there could be more tests.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbst27%2Fshazam-webhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbst27%2Fshazam-webhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbst27%2Fshazam-webhook/lists"}