diff --git a/services/services.go b/services/services.go
new file mode 100644
index 0000000000000000000000000000000000000000..f9e1eda2cbe83505b5beb5644419efc65d227ded
--- /dev/null
+++ b/services/services.go
@@ -0,0 +1,25 @@
+package services
+
+import (
+    "encoding/json"
+    "net/http"
+    "time"
+    "assignment1/models"
+)
+
+// FetchBooksByLanguage retrieves books from the Gutendex API by language.
+func FetchBooksByLanguage(language string) (*models.GutenbergResponse, error) {
+    url := "http://129.241.150.113:8000/books?languages=" + language
+    resp, err := http.Get(url)
+    if err != nil {
+        return nil, err
+    }
+    defer resp.Body.Close()
+
+    var booksResponse models.GutenbergResponse
+    if err := json.NewDecoder(resp.Body).Decode(&booksResponse); err != nil {
+        return nil, err
+    }
+
+    return &booksResponse, nil
+}