diff --git a/PlayBot/sites/soundcloud.pm b/PlayBot/sites/soundcloud.pm
index cb2f659895fa4360269ec745d4b5ce1e5a047842..81b59cfa246ee10878bddf4f7bdabd45966e5eae 100644
--- a/PlayBot/sites/soundcloud.pm
+++ b/PlayBot/sites/soundcloud.pm
@@ -6,6 +6,7 @@ use warnings;
 use LWP::UserAgent;
 use JSON;
 use URI::Find;
+use Scalar::Util qw(looks_like_number);
 
 my $root = 'http://api.soundcloud.com';
 my $clientId = 'f4956716fe1a9dc9c3725af822963365';
@@ -20,24 +21,32 @@ sub regex
 sub get {
     shift;
 	my $id = shift;
-	my $url = 'https://www.soundcloud.com/'.$id;
 
 	my $ua = LWP::UserAgent->new(
         timeout => 30,
         env_proxy   => 1,
     );
 
-	my $response = $ua->get($root.'/resolve.json?url='.$url.'&client_id='.$clientId);
+    my $response;
+    if (looks_like_number($id))
+    {
+	    $response = $ua->get($root.'/tracks/'.$id.'?client_id='.$clientId);
+    }
+    else
+    {
+	    my $url = 'https://www.soundcloud.com/'.$id;
+	    $response = $ua->get($root.'/resolve.json?url='.$url.'&client_id='.$clientId);
+    }
 	die($response->status_line) unless ($response->is_success);
 
 	my $content = decode_json($response->decoded_content);
     my $infos = {
 	    author      => $content->{'user'}->{'username'},
         external_id => $content->{'id'},
-        duration    => $content->{'duration'} / 1000,
+        duration    => int(0.5 + $content->{'duration'} / 1000),
         site        => 'soundcloud',
         title       => $content->{'title'},
-	    url         => $url,
+	    url         => $content->{permalink_url},
     };
 
 	if ($content->{'downloadable'}) {
@@ -47,22 +56,4 @@ sub get {
 	return %{ $infos };
 }
 
-
-sub get_url
-{
-    shift;
-    my $id = shift;
-
-	my $ua = LWP::UserAgent->new(
-        timeout => 30,
-        env_proxy   => 1,
-    );
-
-	my $response = $ua->get($root.'/tracks/'.$id.'?client_id='.$clientId);
-	die($response->status_line) unless ($response->is_success);
-
-	my $content = decode_json($response->decoded_content);
-    return $content->{permalink_url};
-}
-
 1;