bookshelves.json: Get bookshelves for a work

API: openlibrary.org:open-library-api
Endpoint: /works/{id}/bookshelves.json
Response format: application/json
Auth: unknown
Method: GET
Last Status: 200
Latency: 792ms

Description

Returns aggregated counts of how many users have this work on their bookshelves, categorized by reading status. Use this to gauge community interest and reading activity for a book. These counts reflect actual user engagement with the title.

From spec: Retrieve reading statistics for a work.

Usage Tips

- Use a valid work ID like 'OL1168083W' (found in the 'key' field from search results) - Replace {id} with just the ID portion, not the full /works/ path - Returns 404 if the work ID does not exist - Response contains only 'counts' object with three integer fields

Parameters (1)

id (string, path, required)

Work ID

Examples (1)

Get bookshelves count for George Orwell's 1984 probe-gate

Demonstrates fetching community reading status statistics for a popular work

curl 'https://openlibrary.org/works/OL1168083W/bookshelves.json'
import requests

resp = requests.get("https://openlibrary.org/works/OL1168083W/bookshelves.json")
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("works/{id}/bookshelves.json")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/works/OL1168083W/bookshelves.json");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 02:55:42.883817 200 792ms
2026-04-15 01:39:08.563135 200 774ms
2026-04-14 02:28:53.194777 200 686ms
2026-04-12 14:57:08.241160 200 2836ms
2026-04-10 00:53:16.915157 200 595ms
2026-04-09 00:21:34.886706 200 780ms