diff --git a/lib/services/spotify.dart b/lib/services/spotify.dart
index 596aedaf4eead0125547fb5ba4c55d6ccf058fc4..7c0c2785c4482e550368b4d14bd82ddc3fa8d149 100644
--- a/lib/services/spotify.dart
+++ b/lib/services/spotify.dart
@@ -1,4 +1,155 @@
+import 'dart:developer';
+import 'dart:io';
+
 import 'package:flutter/material.dart';
 import 'package:http/http.dart' as http;
 
-class Spotify {}
+class Spotify {
+  var authToken =
+      "BQAJa2icyErbxED5g-IkEpAwR1QXUJJ8v1Kz1JpvxNWCgeMAk73z_uyMVLk9exZ7s3kfLYK9m-uJMvMIvdGhbSIDzq0GyjeKfVztWH4rSAlLrMoqRXoij1q0W3Wp6okhJzaDcVkG7RLeLzr1waa1Zv-0mbfrqFznK2c7X_K2G_5jx8Flu6bPACJBCI0KuupYJ1Mg19M";
+
+  search(text) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/search?q=$text"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getUserAlbums() async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/me/albums"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getFavoritTracks() async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/me/tracks"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  saveToFavoritTracks(track) async {
+    try {
+      var response = await http.put(
+        Uri.parse("https://api.spotify.com/v1/me/tracks?ids=$track"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  deleteToFavoritTracks(track) async {
+    try {
+      var response = await http.delete(
+        Uri.parse("https://api.spotify.com/v1/me/tracks?ids=$track"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getTrack(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/tracks/$id"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getGenres() async {
+    try {
+      var response = await http.get(
+        Uri.parse(
+            "https://api.spotify.com/v1/recommendations/available-genre-seeds"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getAlbum(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/albums/$id"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getAlbumTracks(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/albums/$id/tracks"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getArtist(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/artists/$id"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getArtistTopTracks(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/artists/$id/top-tracks"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+
+  getArtistAlbums(id) async {
+    try {
+      var response = await http.get(
+        Uri.parse("https://api.spotify.com/v1/artists/$id/albums"),
+        headers: {HttpHeaders.authorizationHeader: authToken},
+      );
+      return response;
+    } catch (e) {
+      log(e.toString());
+    }
+  }
+}