It looks like you're offline.
Open Library logo

APIs → Diff

Added
Modified
Removed
Not changed
Revision 91 by Mek February 12, 2026
Revision 92 by Mek February 13, 2026
body
0 ## [Developer Center](https://openlibrary.org/developers) → APIs 0 # [Developer Center](https://openlibrary.org/developers) → APIs
1 1
2 Open Library offers a suite of APIs to help developers get up and running with our data. This includes [**RESTful APIs**][4], which make Open Library data availabile in JSON, YAML and RDF/XML formats. There's also an earlier, now deprecated [JSON API][5] which is preserved for backward compatibility. 2 Open Library provides APIs to support public-good, open, human-centered book discovery and lookup services.
3 3
4 Try out our interactive <button class="cta-btn cta-btn--available" style="display: inline-block; width: auto;" href="https://openlibrary.org/swagger/docs">OpenAPI Sandbox</button> 4 If you are building an open source or mission-aligned application that helps people find and use books in real time, these APIs are for you.
5 5
6 ## Identifying your Application 6 ## Getting Started
7 7
8 If your application will make regular, frequent use of Open Library's APIs (e.g. multiple calls per minute), please add a HEADER that specifies a User-Agent string with (a) the name of your application and (b) your contact email or phone number, so we may contact you when we notice high request volume. Failing to include these headers may result in your application being blocked. 8 Open Library offers a suite of APIs to help developers get up and running with our data. This includes [**RESTful APIs**][4], which make Open Library data available in JSON, YAML and RDF/XML formats. The [Legacy JSON API][5] is deprecated and preserved for backward compatibility.
9 9
10 For help adding user-agent headers to your API calls, please refer to this [javascript](https://gist.github.com/mekarpeles/0d308bfd8e75858d2266b8aa983cac07) and [python](https://gist.github.com/mekarpeles/a4f1b2b0414325b9958fdc8376f14d16) example. 10 - [Usage Guidelines](#usage)
11 - [Rate Limits](#rate-limits)
12 - [Bulk Access](#bulk-access)
13 - [Index of APIs](#api-index)
11 14
12 Additional rate limit information can be accessed [here](https://github.com/internetarchive/openlibrary/blob/master/docker/nginx.conf). 15 Try the interactive Open API Sandbox:
16 <a class="cta-btn cta-btn--available" href="https://openlibrary.org/swagger/docs">OpenAPI Sandbox</a>
17
18 ## <a name="usage">Usage Guidelines</a>
19
20 Open Library’s APIs exist to strengthen the open book ecosystem.
21
22 We prioritize:
23 - Open-source and mission-aligned projects
24 - Library and education tools
25 - Human-facing discovery and lookup services
26 - Real-time, low-volume, high-value use
27
28 These APIs are **not** intended to serve as a bulk data backend or high-traffic commercial infrastructure. For bulk access, please download our free monthly [data dumps](https://openlibrary.org/developers/dumps) or contact us at openlibrary@archive.org.
29
30 **Please Do:**
31
32 1. Make useful, time-sensitive requests on behalf of human users
33 2. Cache responses whenever possible
34 3. Identify your application with a `User-Agent` header and `email`
35
36 **Please Do Not:**
37
38 - Scrape HTML pages (use API endpoints instead)
39 - Distribute traffic across 5+ IPs
40 - Harvest data in bulk
41 - Make hundreds of single-book requests (use search.json for batch results)
42 - Use Open Library as a backend for high-traffic services
43
44 Violations may result in aggressive rate limiting or blocking.
45
46 ## <a name="rate-limits">Rate Limits</a>
47
48 If your application will make regular, frequent use of Open Library's APIs (e.g. multiple calls per minute), please add a HEADER that specifies a `User-Agent` string with (a) the name of your application and (b) your contact email or phone number, so we may contact you when we notice high request volume. In addition, identified requests will enjoy a 3x request limit.
49
50 Default (non-identified requests):
51 - 1 request per second
52
53 Identified requests (with `User-Agent` and `email`):
54 - 3 requests per second
55
56 ```
57 User-Agent: MyLibraryApp (contact@example.org)
58 ```
59
60 **Example Requests:**
61
62 - [JavaScript example request](https://gist.github.com/mekarpeles/0d308bfd8e75858d2266b8aa983cac07)
63 - [Python example request](https://gist.github.com/mekarpeles/a4f1b2b0414325b9958fdc8376f14d16)
64
65 ## <a name="bulk-access">Bulk Access</a>
66
67 **Please do not use our APIs for bulk download** of Open Library data because this affects our ability to serve patrons. We make our data [publicly available](https://openlibrary.org/developers/dumps) each month for partners. If you want a dump of complete data, please read about our [Bulk Download][8] options, or email us at openlibrary@archive.org.
13 13
... ...
27 27
28
29 ## Bulk Access
30
31 **Please do not use our APIs for bulk download** of Open Library data because this affects our ability to serve patrons. We make our data [publicly available](https://openlibrary.org/developers/dumps) each month for partners. If you want a dump of complete data, please read about our [Bulk Download][8] options, or email us at openlibrary@archive.org.
32
33
34 ## More APIs 83 ## More APIs
35 Did you know, nearly every page on Open Library is or has an API. You can return structured bibliographic data for any page by adding a .rdf/.json/.yml extension to the end of any Open Library identifier. For instance: [https://openlibrary.org/works/OL15626917W.json](https://openlibrary.org/works/OL15626917W.json) or [https://openlibrary.org/authors/OL33421A.json](https://openlibrary.org/authors/OL33421A.json). Many pages, such as the Books, Authors, and Lists, will include links to their RDF and JSON formats. 84 Did you know, nearly every page on Open Library is or has an API. You can return structured bibliographic data for any page by adding a .rdf/.json/.yml extension to the end of any Open Library identifier. For instance: [https://openlibrary.org/works/OL15626917W.json](https://openlibrary.org/works/OL15626917W.json) or [https://openlibrary.org/authors/OL33421A.json](https://openlibrary.org/authors/OL33421A.json). Many pages, such as the Books, Authors, and Lists, will include links to their RDF and JSON formats.
36
37
38
39 ## Questions
40
41 We encourage developers to ask questions by opening issues on [GitHub](https://github.com/internetarchive/openlibrary/issues) and on our [gitter](https://gitter.im/theopenlibrary/Lobby) chat channel.
42
43 43
... ...
103  [34]: https://www.npmjs.com/package/mcp-open-library 103  [34]: https://www.npmjs.com/package/mcp-open-library