{"id":18318707,"url":"https://github.com/xdevplatform/spotatweet","last_synced_at":"2026-03-02T22:02:14.915Z","repository":{"id":20284355,"uuid":"23557695","full_name":"xdevplatform/spotatweet","owner":"xdevplatform","description":"A Spotify \u0026 Twitter API mashup showing what people are listening to now. Written in Node.js.","archived":false,"fork":false,"pushed_at":"2023-01-23T23:48:45.000Z","size":5506,"stargazers_count":34,"open_issues_count":2,"forks_count":10,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-07-08T22:43:18.029Z","etag":null,"topics":["audio","embedded-tweets","spotify","twitter","twitter-api"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xdevplatform.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-09-01T22:39:03.000Z","updated_at":"2025-03-10T18:25:20.000Z","dependencies_parsed_at":"2023-02-13T04:55:38.111Z","dependency_job_id":null,"html_url":"https://github.com/xdevplatform/spotatweet","commit_stats":null,"previous_names":["xdevplatform/spotatweet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xdevplatform/spotatweet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdevplatform%2Fspotatweet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdevplatform%2Fspotatweet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdevplatform%2Fspotatweet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdevplatform%2Fspotatweet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xdevplatform","download_url":"https://codeload.github.com/xdevplatform/spotatweet/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xdevplatform%2Fspotatweet/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266048640,"owners_count":23868743,"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","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":["audio","embedded-tweets","spotify","twitter","twitter-api"],"created_at":"2024-11-05T18:11:20.426Z","updated_at":"2026-03-02T22:02:09.877Z","avatar_url":"https://github.com/xdevplatform.png","language":"JavaScript","readme":"# SpotaTweet\n\nA real-time Spotify \u0026amp; Twitter API mashup.\n\nThis web app filters the Twitter stream for #NowPlaying tweets, extracts track IDs from Spotify URLs, requests track data from the Spotify API, displays the embedded Tweet in the web browser and plays a preview. Implements Twitter statuses/filter stream and oEmbed API.\n\nInspired by [Serendipity](https://twitter.com/search?q=kcimc%20serendipity) by [@kcimc](https://twitter.com/kcimc), formerly a Spotify Media Artist in Residence.\n\n![Screenshot](screenshot.png?raw=true \"Screenshot\")\n\n## Installing and Running\n\nInstall [Node.js](https://nodejs.org/).\n\nClone GitHub repo:\n\n```bash\ngit clone https://github.com/twitterdev/spotatweet.git\n```\n\nCreate Twitter and Spotify Apps:\n\n- Create a [Twitter application](https://developer.twitter.com/en/apps).\n- Create a [Spotify application](https://developer.spotify.com/my-applications).\n\nCreate a `config.json` file using `config.sample.json` as a template. Fill in your Twitter \u0026 Spotify API Keys. You may also set the values in the `config.sample.json` file as environment variables for environments like Heroku and Glitch. Values set in the environment will override those set in the config file.\n\nInstall node module dependencies:\n\n```bash\nnpm install\n```\n\nRun application:\n\n```bash\nnpm start\n```\n\nOpen [http://localhost:3000](http://localhost:3000) in your browser.\n\nA GET request to /nowplaying.json will return a Tweet object, additionally hydrated with a \"spotify_track\" object and a \"oembed\" object representing the latest #NowPlaying Tweet.\n\n## Deploying\n\n### Heroku\n\nThis application is already configured to run on [Heroku](https://www.heroku.com) and can be [deployed with Git](https://devcenter.heroku.com/articles/git).\n\nBefore deployment set your Heroku environment [config vars](https://devcenter.heroku.com/articles/config-vars) to mirror config.json.\n\nOn Heroku set NODE_ENV to \"production.\"\n\n### Glitch\n\nYou can also easily remix this project on [Glitch](https://glitch.com). Set the environment variables in the `.env` file.\n\n[![Remix on Glitch](https://cdn.glitch.com/2703baf2-b643-4da7-ab91-7ee2a2d00b5b%2Fremix-button.svg)](https://glitch.com/edit/#!/import/github/twitterdev/spotatweet?TWITTER_CONSUMER_KEY=\u0026TWITTER_CONSUMER_SECRET=\u0026TWITTER_ACCESS_TOKEN=\u0026TWITTER_ACCESS_TOKEN_SECRET=\u0026SPOTIFY_CLIENT_ID=\u0026SPOTIFY_CLIENT_SECRET=)\n\n## Limitations\n\n- A Spotify developer token only lasts for 3600 seconds (one hour), so the app will need to be restarted after that time.\n- Web audio does not autoplay on mobile Safari and some other browsers\n\n## Resources\n\n- [Twitter statuses/filter stream](https://developer.twitter.com/en/docs/tweets/filter-realtime/api-reference/post-statuses-filter.html)\n- [Twitter oEmbed](https://developer.twitter.com/en/docs/tweets/post-and-engage/api-reference/get-statuses-oembed.html)\n- [Twitter Rate Limiting](https://developer.twitter.com/en/docs/basics/rate-limiting.html)\n- [Spotify Web API](https://developer.spotify.com/web-api/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdevplatform%2Fspotatweet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxdevplatform%2Fspotatweet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxdevplatform%2Fspotatweet/lists"}