---
title: "Search Goodreads books"
method: GET
path: "/goodreads/search"
tags: ["Goodreads"]
---

# Search Goodreads books

`GET /goodreads/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/goodreads/search`
- Auth: API key in header `x-api-key`

Searches Goodreads for books by title or author using `q`, returning up to `limit` results (default 10, max 50). Each result has its id, title, author and author id, average rating, ratings count, page count, a truncated description, cover image URL and Goodreads URL. Only books are returned, not authors or lists.

## Query parameters

- `q` string, required
- `limit` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- GoodreadsSearchResponseDoc
  - `code` integer
  - `data` GoodreadsSearchResponse
    - `query` string: Search query that was run.
    - `results` GoodreadsSearchResult[]: Books matching the query.
      - `author` string: Name of the book's author.
      - `author_id` string: Goodreads author id.
      - `average_rating` number: Average rating of the book out of 5.
      - `description` string: Book description, shortened to a short excerpt.
      - `id` string: Goodreads book id.
      - `image_url` string: URL of the book cover image.
      - `pages` integer: Number of pages in the book.
      - `ratings_count` integer: Number of ratings the book has received.
      - `title` string: Title of the book as Goodreads shows it.
      - `uri` string: Goodreads URL of the book page.
    - `source_url` string: URL the data was read from.
  - `msg` string

## Other responses

- `400`: Bad Request
- `500`: Internal Server Error
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/afac9b012a27?raw)
