book-scraper
book-scraper
## Book Scraper
Scrapes detailed book metadata from a Goodreads book page using a direct book URL. Returns structured information about the book including title, author(s), cover image, series details, and more.
---
## Request
**Method:** `POST`
**URL:** `{{Instance Domain}}/api/book-scraper`
### Headers
| Key | Value | Description |
| --- | --- | --- |
| Content-Type | application/json | Indicates the request body is JSON |
### Body
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| queryURL | string | Yes | The full Goodreads book page URL to scrape (e.g. `https://www.goodreads.com/book/show/5907`) |
**Example Body:**
``` json
{
"queryURL": "https://www.goodreads.com/book/show/5907"
}
```
---
## Response
### 200 Success
Returns a JSON object containing the scraped book metadata.
``` json
{
"status": "Received",
"statusCode": 200,
"source": "string (GitHub source URL)",
"scrapeURL": "string (the Goodreads book URL that was scraped)",
"legacyBookID": "number",
"bookID": "string (KCA book ID)",
"resourceID": "string (KCA work ID)",
"cover": "string (image URL)",
"series": "string",
"seriesURL": "string",
"seriesPosition": "string",
"workURL": "string",
"title": "string",
"author": [
{
"id": "number",
"name": "string",
"role": "string (e.g. Author, Editor, Illustrator)",
"url": "string"
}
]
}
```
### Response Field Descriptions
| Field | Type | Description |
| --- | --- | --- |
| status | string | Human-readable status message (e.g. `"Received"`) |
| statusCode | number | HTTP status code of the scrape operation |
| source | string | URL pointing to the GitHub source of the scraper |
| scrapeURL | string | The Goodreads book URL that was scraped |
| legacyBookID | number | The legacy numeric Goodreads book ID |
| bookID | string | KCA-format book identifier |
| resourceID | string | KCA-format work identifier |
| cover | string | URL of the book's cover image |
| series | string | Name of the series the book belongs to (if any) |
| seriesURL | string | URL to the series page on Goodreads |
| seriesPosition | string | Position of the book within the series |
| workURL | string | URL to the book's work page on Goodreads |
| title | string | Title of the book |
| author | array | List of contributors (authors, editors, illustrators, etc.) |
| author\[\].id | number | Goodreads author ID |
| author\[\].name | string | Full name of the contributor |
| author\[\].role | string | Role of the contributor (e.g. `Author`, `Editor`, `Illustrator`) |
| author\[\].url | string | URL to the contributor's Goodreads profile |
Request
This endpoint expects an object.
queryURL
Response
OK
status
statusCode
source
scrapeURL
legacyBookID
bookID
resourceID
cover
series
seriesURL
seriesPosition
workURL
title
rating
ratingCount
reviewsCount
desc
genres
bookEdition
publishDate
publisher
language
asin
reviews
reviewBreakdown
quotes
quotesURL
questions
questionsURL
lastScraped
isbn
isbn13

