books: Get book data by identifier

API: openlibrary.org:open-library-api
Endpoint: /api/books
Response format: application/json
Auth: none
Method: GET
Last Status: 200
Latency: 1083ms

Description

Returns bibliographic data for books specified by bibkeys (ISBN, OCLC, LCCN, OLID, or other identifiers).

Parameters (3)

bibkeys (string, query, required)

Comma-separated list of book identifiers (e.g., ISBN:9780385472579,OLID:OL1397864M)

format (string, query, optional, default: json)

Response format

Constraints: {'enum': ['json', 'javascript']}

jscmd (string, query, optional)

JavaScript command for callback (when format=javascript)

Examples (9)

Legacy book lookup API openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538%2CLCCN%3A93005405'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:0451526538,LCCN:93005405',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:0451526538,LCCN:93005405")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538%2CLCCN%3A93005405");
const data = await resp.json();
Get books by bibkeys openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A0201558025'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:0201558025',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:0201558025")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A0201558025");
const data = await resp.json();
Get book metadata by bibkeys openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A9780141439518'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:9780141439518',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:9780141439518")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A9780141439518");
const data = await resp.json();
Get book metadata by bibkeys probe-gate
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A9780141439518&format=json&jscmd=viewapi'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:9780141439518',
        'format': 'json',
        'jscmd': 'viewapi',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:9780141439518", format="json", jscmd="viewapi")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A9780141439518&format=json&jscmd=viewapi");
const data = await resp.json();
Get book information by bibkeys probe-gate
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A0201558025&format=json&jscmd=viewapi'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:0201558025',
        'format': 'json',
        'jscmd': 'viewapi',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:0201558025", format="json", jscmd="viewapi")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A0201558025&format=json&jscmd=viewapi");
const data = await resp.json();
Batch book lookup (Legacy) openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A9780451526539'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:9780451526539',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:9780451526539")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A9780451526539");
const data = await resp.json();
Legacy books API openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:0451526538',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:0451526538")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538");
const data = await resp.json();
Legacy books API probe-gate
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:0451526538',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:0451526538")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A0451526538");
const data = await resp.json();
Get book data by identifier openapi-spec
curl 'https://openlibrary.org/api/books?bibkeys=ISBN%3A9780385472579'
import requests

resp = requests.get(
    "https://openlibrary.org/api/books",
    params={
        'bibkeys': 'ISBN:9780385472579',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("openlibrary")
result = api.fetch("api/books", bibkeys="ISBN:9780385472579")

for item in result:
    print(item)
const resp = await fetch("https://openlibrary.org/api/books?bibkeys=ISBN%3A9780385472579");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 17:37:15.045518 200 1083ms
2026-04-16 17:33:53.798918 200 642ms
2026-04-16 16:44:24.239959 200 1104ms
2026-04-16 03:59:13.067527 200 840ms
2026-04-16 03:54:34.829813 200 809ms
2026-04-16 03:46:24.615163 200 626ms
2026-04-16 03:43:46.632187 200 786ms
2026-04-16 03:33:33.143821 200 798ms
2026-04-16 02:38:13.605866 200 628ms
2026-04-16 01:18:56.645590 200 644ms
2026-04-16 00:41:31.091801 200 641ms
2026-04-16 00:32:54.694260 200 766ms
2026-04-15 03:03:08.374469 200 863ms
2026-04-15 01:46:00.775247 200 724ms
2026-04-15 01:44:32.378885 200 821ms
2026-04-15 01:26:52.796248 200 808ms
2026-04-15 00:49:33.779733 200 801ms
2026-04-15 00:39:57.486615 200 622ms
2026-04-15 00:33:49.576837 200 845ms
2026-04-15 00:31:20.610439 200 669ms
2026-04-15 00:12:09.715461 200 694ms
2026-04-14 03:43:12.327953 200 1002ms
2026-04-14 03:34:23.320146 200 1253ms
2026-04-14 03:29:06.762286 200 681ms
2026-04-14 03:23:42.583618 200 788ms
2026-04-14 02:59:31.506863 200 981ms
2026-04-14 02:12:40.371517 200 990ms
2026-04-14 02:11:38.693158 200 864ms
2026-04-14 01:47:20.229655 200 656ms
2026-04-14 01:32:59.026127 200 688ms
2026-04-12 16:34:48.787808 200 5881ms
2026-04-12 16:33:40.920434 200 2852ms
2026-04-12 16:07:39.157124 200 1435ms
2026-04-12 15:56:08.657242 200 2896ms
2026-04-12 15:21:27.184566 503 9782ms
2026-04-12 13:53:29.553488 200 978ms
2026-04-12 13:48:42.581781 200 727ms
2026-04-12 13:28:18.073470 200 1769ms
2026-04-12 12:36:32.407293 200 1066ms
2026-04-10 04:25:21.558238 200 12829ms
2026-04-10 03:16:40.151341 200 680ms
2026-04-10 03:14:15.382776 200 575ms
2026-04-10 03:03:45.137699 200 872ms
2026-04-10 02:51:54.740044 200 1938ms
2026-04-10 02:37:23.506329 200 1315ms
2026-04-10 02:34:59.659585 200 1034ms
2026-04-10 02:01:22.532652 200 675ms
2026-04-10 01:16:36.740467 200 785ms
2026-04-09 02:22:42.038728 200 679ms
2026-04-09 02:21:21.318451 200 774ms