diff --git a/PlayBot/sites/spotify.pm b/PlayBot/sites/spotify.pm
new file mode 100644
index 0000000000000000000000000000000000000000..1c5fb9fc487eaa1aa494aad291cae956e1b9114c
--- /dev/null
+++ b/PlayBot/sites/spotify.pm
@@ -0,0 +1,45 @@
+package PlayBot::sites::spotify;
+
+use strict;
+use warnings;
+
+use LWP::UserAgent;
+use JSON;
+use FindBin;
+
+my $conf;
+my $endpoint = "https://api.spotify.com/v1/tracks/";
+
+sub regex
+{
+    return qr#(?:^|[^!])https?://open.spotify.com/track/([a-zA-Z0-9_-]+)#;
+}
+
+sub get {
+    shift;
+	my $id = shift;
+	
+    my $ua = LWP::UserAgent->new(
+        timeout     => 30,
+        env_proxy   => 1,
+    );
+	my $response = $ua->get($endpoint
+        .$id);
+	die($response->status_line) unless ($response->is_success);
+
+	my $content = decode_json($response->decoded_content);
+
+#    die "video not found" if (not scalar @{ $content->{items} });
+    
+    my %infos;
+
+    $infos{'title'} = $content->{'name'};
+    $infos{'duration'} = $content->{'duration_ms'} / 1000;
+	$infos{'site'} = 'spotify';
+    $infos{'url'} = 'https://open.spotify/track/'.$id;
+    $infos{'author'} = $content->{'artists'}->[0]->{'name'};
+
+	return %infos;
+}
+
+1;
diff --git a/PlayBot/utils/db/chan.pm b/PlayBot/utils/db/chan.pm
index b37c7778427e26139ea9f01e691f3a5064f3f8f1..7d3312f40184ba908371f7562d09d38ed580726b 100644
--- a/PlayBot/utils/db/chan.pm
+++ b/PlayBot/utils/db/chan.pm
@@ -32,7 +32,7 @@ around 'BUILDARGS' => sub
 
     if (not $row)
     {
-        $sites = ['dailymotion', 'mixcloud', 'soundcloud', 'youtube'];
+        $sites = ['dailymotion', 'mixcloud', 'soundcloud', 'youtube', 'spotify'];
 
         $sth = $dbh->prepare('
             insert into playbot_config (name, sites)