---
title: List books
description: Returns a paginated list of books. Filter by genre.
url: "https://cbotai.shahrear.msf.bd/docs/list-books/"
updated: "2026-08-16"
category: Bookstore API (Sample) / Books
---

# List books

GET`/books`

## Code Samples

```curl

                curl --request GET \
  --url 'https://api.bookstore.example.com/v1/books' \
  --header 'X-API-Key: YOUR_API_KEY'

                const response = await fetch('https://api.bookstore.example.com/v1/books', {
  method: 'GET',
  headers: {
    'X-API-Key': 'YOUR_API_KEY'
  }
});

const data = await response.json();
console.log(data);

                import requests

headers = {
    "X-API-Key": "YOUR_API_KEY"
}

response = requests.get("https://api.bookstore.example.com/v1/books", headers=headers)

print(response.json())

                <?php
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api.bookstore.example.com/v1/books',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => [
  'X-API-Key: YOUR_API_KEY'
  ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

                using System.Net.Http;

var client = new HttpClient();
var request = new HttpRequestMessage(new HttpMethod("GET"), "https://api.bookstore.example.com/v1/books");
request.Headers.Add("X-API-Key", "YOUR_API_KEY");
var response = await client.SendAsync(request);
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);

                import java.net.URI;
import java.net.http.*;

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://api.bookstore.example.com/v1/books"))
    .header("X-API-Key", "YOUR_API_KEY")
    .method("GET", HttpRequest.BodyPublishers.noBody())
    .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
```

Returns [A](https://cbotai.shahrear.msf.bd/encyclopedia/a/) paginated list of books. Filter by genre.

## Query Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `genre` | string | Optional |  |
| `limit` | string | Optional |  |

## Responses

### 200 — Successful response
