Skip to navigation

book-scraper

View as Markdown

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

KeyValueDescription
Content-Typeapplication/jsonIndicates the request body is JSON

Body

FieldTypeRequiredDescription
queryURLstringYesThe full Goodreads book page URL to scrape (e.g. https://www.goodreads.com/book/show/5907)

Example Body:

{
"queryURL": "https://www.goodreads.com/book/show/5907"
}

Response

200 Success

Returns a JSON object containing the scraped book metadata.

{
"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

FieldTypeDescription
statusstringHuman-readable status message (e.g. "Received")
statusCodenumberHTTP status code of the scrape operation
sourcestringURL pointing to the GitHub source of the scraper
scrapeURLstringThe Goodreads book URL that was scraped
legacyBookIDnumberThe legacy numeric Goodreads book ID
bookIDstringKCA-format book identifier
resourceIDstringKCA-format work identifier
coverstringURL of the book’s cover image
seriesstringName of the series the book belongs to (if any)
seriesURLstringURL to the series page on Goodreads
seriesPositionstringPosition of the book within the series
workURLstringURL to the book’s work page on Goodreads
titlestringTitle of the book
authorarrayList of contributors (authors, editors, illustrators, etc.)
author[].idnumberGoodreads author ID
author[].namestringFull name of the contributor
author[].rolestringRole of the contributor (e.g. Author, Editor, Illustrator)
author[].urlstringURL to the contributor’s Goodreads profile

Request

This endpoint expects an object.
queryURLstringRequiredformat: "uri"

Response

OK
statusstring
statusCodeinteger
sourcestringformat: "uri"
scrapeURLstringformat: "uri"
legacyBookIDinteger
bookIDstring
resourceIDstring
coverstringformat: "uri"
seriesstring
seriesURLstring
seriesPositionstring
workURLstringformat: "uri"
titlestring
authorlist of objects
ratingstring
ratingCountstring
reviewsCountstring
descstring
genreslist of strings
bookEditionstring
publishDatestring
publisherstring
languagestring
asinstring
relatedlist of any
reviewslist of any
reviewBreakdownobject
quotesstring
quotesURLstring
questionsstring
questionsURLstring
lastScrapeddatetime
isbnany or nullOptional
isbn13any or nullOptional