Penguin Publishing API

Books / No Auth Required Beginner HTTPS CORS
Free to Use Varies (check documentation)

Overview

Penguin Random House's REST web service lets you query their full catalogue for titles, authors, and ISBNs. Useful for building publisher-specific book searches or recommendation tools.

💡

Beginner Tip

Use the /titles endpoint with a search term to browse the catalogue. The base URL is http://www.penguinrandomhouse.biz/webservices/rest/ — note it uses HTTP, so test in curl rather than a browser HTTPS context.

Available Data

book title and author
ISBN and publisher
cover image URL
page count
publication date

Example Response

JSON Response
{
  "title": "The Great Gatsby",
  "authors": [
    "F. Scott Fitzgerald"
  ],
  "publishedDate": "1925-04-10",
  "pageCount": 218,
  "categories": [
    "Fiction"
  ],
  "imageLinks": {
    "thumbnail": "https://books.google.com/..."
  },
  "averageRating": 4
}

Field Reference

works List of matching work objects from the catalogue.
works[].title Full title of the work.
works[].author Primary author name.
works[].isbn ISBN-13 identifier for the edition.
works[].coverImageUrl Direct URL to the book cover image.

Implementation Example

const url = "http://www.penguinrandomhouse.biz/webservices/rest/";
const response = await fetch(url);
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data);

What Can You Build?

Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.

Common Errors & Troubleshooting

SSL/mixed-content error The API base URL uses plain HTTP, which browsers block on HTTPS pages
Call the API from a backend server (Node.js, Python) rather than directly from browser JavaScript.
Empty result set Search term too specific or mismatched catalogue data
Try broader terms (e.g. author last name only) and check that ISBN format is ISBN-13 without hyphens.
Unexpected XML response Default content negotiation may return XML
Add Accept: application/json header to your request to ensure a JSON response.

Matrix Score Breakdown

🌐 Reachability 30/30
⚡ Speed 10/20
🔒 Security 15/15
🛠 Developer XP 20/20
✓ Reliability 7/15
Response Time 645ms

Fully tested on Apr 5, 2026

Technical Specifications

Auth No Auth
HTTPS REQUIRED
CORS YES
Category Books
Difficulty Beginner
Verified: 2026-04-04

Similar APIs

View All →