DEV Community

GuGuData
GuGuData

Posted on

ISBN Book Metadata Lookup API Documentation

ISBN Book Metadata Lookup API: Technical Guide and Integration Notes

The ISBN Book Metadata Lookup API from GuGuData helps developers search book metadata by ISBN or title keywords and retrieve title, author, publisher, cover image, and publishing details.

This article is written for developers who want a crawlable, readable reference before integrating the endpoint into a product, data pipeline, internal tool, or technical workflow. The official detail page is https://gugudata.io/details/isbn.

API details

Item Value
API name ISBN Book Metadata Lookup
Category Text Processing APIs
Method GET
Endpoint https://api.gugudata.io/v1/text/isbn
Content type query parameters
Demo endpoint https://api.gugudata.io/v1/text/isbn/demo
Detail page https://gugudata.io/details/isbn

When to use this API

  • Look up book metadata by ISBN for cataloging and bookstore workflows.
  • Search books by title keywords when an ISBN is unavailable.
  • Enrich publishing, library, education, and content management applications.

Request parameters

This endpoint accepts parameters through the query string. Keep appkey out of client-side public code and send it only from trusted server-side environments.

Parameter Type Required Default Description
appkey string Yes YOUR_APPKEY Application key used for request authentication. Supply the value as a query parameter, form field, or multipart field according to the request content type.
isbn string No - ISBN number for an exact book lookup.
keywords string No - Book title keywords for fuzzy search.
pageIndex integer No 1 Page number used for keyword search.
pageSize integer No 10 Page size used for keyword search.

Example request

curl -G "https://api.gugudata.io/v1/text/isbn" \
  --data-urlencode "appkey=YOUR_APPKEY" \
  --data-urlencode "isbn=9780132350884" \
  --data-urlencode "pageIndex=1" \
  --data-urlencode "pageSize=10"
Enter fullscreen mode Exit fullscreen mode

Response fields

The response body contains the fields below for successful JSON responses. For binary endpoints, the success response is returned as binary content and JSON is used for error responses.

Field Type Required Description
dataStatus object Yes Response metadata returned by the API response.
dataStatus.requestParameter string Yes Normalized request parameters echoed by the service. Sensitive credentials are omitted when available.
dataStatus.statusCode integer Yes Application-level status code returned by the API response.
dataStatus.statusDescription string Yes Application-level status message returned by the API response.
dataStatus.responseDateTime string Yes Response timestamp returned by the API response.
dataStatus.dataTotalCount integer Yes Total number of records that match the request.
data array<object> Yes Book metadata records returned by the endpoint.
data[].Title string No Book title.
data[].Author string No Author name.
data[].ISBN string No ISBN number of the book.
data[].Publisher string No Publisher name.
data[].PublisherDateTime string No Publication date or year.
data[].PageNumber integer No Number of pages.
data[].Binding string No Binding type.
data[].BriefIntroduction string No Short introduction or summary.
data[].CoverImage string No Book cover image URL.

Response example

{
  "dataStatus": {
    "statusCode": 200,
    "statusDescription": "successfully",
    "responseDateTime": "2026-04-17T00:00:00Z",
    "dataTotalCount": 1,
    "requestParameter": ""
  },
  "data": [
    {
      "Title": "Sample Book",
      "Author": "Sample Author",
      "ISBN": "9780132350884",
      "Publisher": "Sample Publisher",
      "PublisherDateTime": "2026",
      "PageNumber": 320,
      "Binding": "Paperback",
      "BriefIntroduction": "Sample introduction",
      "CoverImage": "https://example.com/cover.jpg"
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

HTTP status codes

Use the HTTP status code for transport-level handling. If the response body contains dataStatus.statusCode, treat it as an application-level status field in the JSON payload.

HTTP status Meaning Recommended handling
200 Request processed successfully. Parse the documented response body for the endpoint result.
400 Invalid request parameters or request format. Check required fields, data types, and request body format.
401 Missing or unknown application key. Send a valid appkey with the request.
403 The application key is recognized but access is not allowed. Check subscription, trial state, and endpoint access.
429 Request rate or trial usage limit exceeded. Reduce concurrency or retry after the limit window resets.
500 Internal service error. Retry later or contact support if the error persists.
503 Upstream service unavailable. Retry later when the dependency is available again.

Implementation notes

  • Prefer isbn for exact lookup and use keywords with pagination for discovery workflows.
  • Validate that at least one lookup parameter is provided before sending the request.
  • Cache stable book metadata when your use case allows it.
  • Log the HTTP status code and dataStatus.statusDescription together for easier debugging.
  • Use the demo endpoint for a quick connectivity check, then switch to the authenticated endpoint for production data.

FAQ

Where is the official API detail page?

The official detail page is https://gugudata.io/details/isbn. It is the best place to review the latest public endpoint information before publishing or integrating.

Should I handle dataStatus.statusCode as the HTTP status code?

No. Use the HTTP status code for request-level behavior such as authentication, permission, rate limiting, and server errors. Use dataStatus.statusCode only as the response body status field when it is present.

Can I use the demo endpoint in production?

No. The demo endpoint is for quick testing and examples. Use the authenticated endpoint with your appkey for production workflows.

Related GuGuData APIs

For more developer APIs, visit GuGuData.

Top comments (0)