It looks like you're offline.
Open Library logo

APIs → Diff

Added
Modified
Removed
Not changed
Revision 88 by Mek February 12, 2026
Revision 107 by raybb October 3, 2026
body
0 ## [Developer Center](https://openlibrary.org/developers) → APIs 0 ## Getting Started
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 in JSON, YAML and RDF/XML formats to support public-good, open, human-centered book discovery and lookup services. 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.
3 3
4 Try out our interactive <button class="btn cta-btn" href="https://openlibrary.org/swagger/docs">OpenAPI sandboxM</button> 4 - [Usage Guidelines](#usage)
5 - [Rate Limits](#rate-limits)
6 - [Bulk Access](#bulk-access)
7 - [Index of APIs](#api-index)
5 8
6 ## Identifying your Application 9 Try the interactive [OpenAPI Documentation](https://openlibrary.org/docs).
7 10
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. 11 ## Registering Your Application
9 12
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. 13 Please use [**this link**](https://docs.google.com/forms/d/1119CgdEWHtaAy2lOpUmtbe4S-w6xhJUin-nqP7Bl1XQ/edit) to register your use-case or application. This information helps our team understand how Open Library's APIs are being used and maintain and improve our services to meet the community's diverse needs.
11 14
12 Additional rate limit information can be accessed [here](https://github.com/internetarchive/openlibrary/blob/master/docker/nginx.conf). 15 ## Usage Guidelines
16
17 Open Library’s APIs exist to support the open book ecosystem and human-centered discovery. Due to limited resources, they are not intended to serve as a data backend for third-party services.
18
19 We prioritize:
20
21 - Open-source and mission-aligned projects (like Wikidata & Wikipedia)
22 - Library & metadata partners
23 - Research, learning, & education tools
24    - Book tools & services that facilitate lookup for humans
25
26 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](mailto:openlibrary@archive.org).
27
28 **Please Do:**
29
30 1. Make useful, time-sensitive requests on behalf of human users
31 2. Cache responses whenever possible
32 3. Identify your application with a `User-Agent` header and `email`
33
34 **Please Do Not:**
35
36 - Scrape HTML pages (use API endpoints instead) or harvest HTML in bulk
37 - Distribute requests across multiple IPs
38    - Make hundreds of single-book requests (use search.json for batch results)
39 - Use Open Library as a backend for high-traffic commercial services
40
41 Violations may result in aggressive rate limiting or blocking.
42
43 ## Rate Limits
44
45 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.
46
47 Default (non-identified requests):
48
49 - 1 request per second
50
51 Identified requests (with `User-Agent` and `email`):
52
53 - 3 requests per second
54
55 `User-Agent: MyLibraryApp (contact@example.org)`
56
57 **Example Requests:**
58
59 - [JavaScript example request](https://gist.github.com/mekarpeles/0d308bfd8e75858d2266b8aa983cac07)
60 - [Python example request](https://gist.github.com/mekarpeles/a4f1b2b0414325b9958fdc8376f14d16)
61
62 ## Bulk Access
63
64 We make our data [publicly available](https://openlibrary.org/developers/dumps) each month for partners. If you want a dump of complete data, please visit our [Bulk Download](/data#downloads) options, or email us at [openlibrary@archive.org](mailto:openlibrary@archive.org).
65
66 Please **do not** use our APIs to bulk download metadata because this impacts our ability to serve patrons.
13 67
14 ## Index of APIs 68 ## Index of APIs
15 69
16 - [Book Search](/dev/docs/api/search) API - Search results for books, authors, and more 70 - [Book Search](/dev/docs/api/search) API - Search results for books, authors, and more
17 - [Work & Edition][6] APIs - Retrieve a specific work or edition by identifier 71 - [Search inside](/dev/docs/api/search_inside) API - Search for matching text within millions of books
18 - [My Books](/dev/docs/api/mybooks) API - Retrieve books on a patron's public reading log 72 - [Covers](/dev/docs/api/covers) API - Fetch book covers by ISBN or Open Library identifier
19 - [Authors](/dev/docs/api/authors) API - Retrieve an author and their works by author identifier 73 - [Your Books](/dev/docs/api/mybooks) API - Retrieve books on a patron's public reading log
20 - [Subjects](/dev/docs/api/subjects) API - Fetch books by subject name 74 - [Lists](/dev/docs/api/lists) API - Reading, modifying, or creating user lists
21 - [Search inside](/dev/docs/api/search_inside) API - Search for matching text within millions of books 75  -[**RESTful APIs**](/dev/docs/restful_api)
22 - [Partner](https://openlibrary.org/dev/docs/api/read) API -- Formerly the "Read" API, fetch one or more books by library identifiers (ISBNs, OCLC, LCCNs) 76    - [Work & Edition](/dev/docs/api/books) APIs - Retrieve a specific work or edition by identifier
23 - [Covers][7] API - Fetch book covers by ISBN or Open Library identifier 77    - [Authors](/dev/docs/api/authors) API - Retrieve an author and their works by author identifier
24 - [Recent Changes](/dev/docs/api/recentchanges) API - Programatic access to changes across Open Library 78    - [Subjects](/dev/docs/api/subjects) API - Fetch books by subject name
25 - [Lists](/dev/docs/api/lists) API - Reading, modifying, or creating user lists 79    - [Recent Changes](/dev/docs/api/recentchanges) API - Programatic access to changes across Open Library
26 - History of an item can be accessed by appending `?m=history` to the page like [this](https://openlibrary.org/authors/OL236414A.json?m=history).
27 80
81 Legacy APIs:
28 82
29 ## Bulk Access 83 - [Legacy Partner API](https://openlibrary.org/dev/docs/api/read) API -- Formerly the "Read" API, fetch one or more books by library identifiers (ISBNs, OCLC, LCCNs)
30 84 - [Legacy JSON API](/dev/docs/json_api) is deprecated and preserved for backward compatibility.
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 85
34 ## More APIs 86 ## 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.
36 87
88 Nearly every item on Open Library has an API version. You can return structured bibliographic data for any Open Library page by adding a .rdf/.json/.yml extension to the end of any Open Library identifier.
37 89
90 For instance: <https://openlibrary.org/works/OL15626917W.json> or <https://openlibrary.org/authors/OL33421A.json>. Many pages, such as the Books, Authors, and Lists, will include links to their RDF and JSON formats.
38 91
39 ## Questions 92 The history of an item can be accessed by appending `?m=history` to the page like [this](https://openlibrary.org/authors/OL236414A.json?m=history).
40 93
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. 94 ## Services using Open Library APIs
42
43
44 <a name="api-partners"></a>
45 ## Friends using Open Library APIs
46 95
47 Several developers are creating amazing things with the Open Library APIs: 96 Several developers are creating amazing things with the Open Library APIs:
48 97
49 - [**Trove**][9] by *the National Library of Australia*<br />Trove is a new discovery experience focused on Australia and Australians. It supplements what search engines provide with reliable information from Australia's memory institutions. The system hits Open Library when public domain books turn up in searches, and displays links to Open Library.<br />&nbsp; 98 - [**Trove**](https://trove.nla.gov.au/) by *the National Library of Australia*
50 - [**Koha**][10]<br />Koha is an open source library system for public libraries that includes catalog searches and member organizing. It uses Open Library covers, displays OL related subjects, and lendable eBooks using the Read API.<br />&nbsp; 99  Trove is a new discovery experience focused on Australia and Australians. It supplements what search engines provide with reliable information from Australia's memory institutions. The system hits Open Library when public domain books turn up in searches, and displays links to Open Library.
51 - [**Evergreen**][11]<br />Evergreen is highly-scalable software for libraries that helps library patrons find library materials, and helps libraries manage, catalog, and circulate those materials. It uses Open Library for covers, tables of contents, with plans to expand into other areas.<br />&nbsp; 100    - [**Koha**](https://koha-community.org/)
52 - [**read.gov**][12] by *the Library of Congress*<br />OK, this isn't exactly Open Library, but it's still awesome! The Library of Congress have modified the Internet Archive's Book Reader to sit perfectly within their Rare Books Collection site.<br />&nbsp; 101    Koha is an open source library system for public libraries that includes catalog searches and member organizing. It uses Open Library covers, displays OL related subjects, and lendable eBooks using the Read API.
53 - [**OpenBook WordPress Plug-in**][13] by *John Miedema*<br />OpenBook is useful for anyone who wants to add book covers and other book data on a WordPress website. OpenBook links to detailed book information in Open Library, the main data source, as well as other book sites. Users have complete control over the display through templates. OpenBook can link to library records by configuring an OpenURL resolver or through a [WorldCat][14] link. OpenBook inserts [COinS][15] so that other applications like [Zotero][16] can pick up the book data.<br />&nbsp; 102    - [**Evergreen**](https://evergreen-ils.org)
54 - [**Umlaut**][19] by *Jason Ronallo*<br />Umlaut is a middle-tier OpenURL link resolver that adds functions and services to commercial link resolving software.<br />&nbsp; 103    Evergreen is highly-scalable software for libraries that helps library patrons find library materials, and helps libraries manage, catalog, and circulate those materials. It uses Open Library for covers, tables of contents, with plans to expand into other areas.
55 - [**Virtual Shelf**][20] by *Jonathan Breitbart and Devin Blong* (UC Berkeley School of Information)<br />The Virtual Shelf is a visualization created by two students at the UC Berkeley School of Information. The project includes the student's master thesis, with research into the searching and browsing patterns of library patrons. The Open Library RESTful API was utilized during the project as a source of metadata for the user interface.<br />&nbsp; 104    - [**read.gov**](https://read.gov/books/) by *the Library of Congress*
56 - [**RDC UI Toolkit**][21] by *Rural Design Collective*<br />This group created a suite of tools that facilitates the creation of localized user interfaces for public domain books. The RDC used the Open Library Covers API and the Internet Archive Book Reader in their online demonstration customized for the OLPC XO.<br />&nbsp; 105    OK, this isn't exactly Open Library, but it's still awesome! The Library of Congress have modified the Internet Archive's Book Reader to sit perfectly within their Rare Books Collection site.
57 - [**Dreambooks.club**][22] by *Bernat Fortet*<br />Dreambooks is a portal and community where parents and children can discover new books to read together. Think of it as the online equivalent of your library's children's corner. All the book data is powered by OpenLibary's API.<br />&nbsp; 106    - [**OpenBook WordPress Plug-in**](https://code.google.com/p/openbook4wordpress/) by *John Miedema*
58 - [**MyBooks.Life**][24] by *Mark Webster*<br />MyBooks.Life is an android app and website designed primarily to manage TBR (to-be-read) lists. You can keep track of your reading progress, make notes, manage your wishlist, and rate your books. MyBooks.Life uses Open Library data to power its search.<br />&nbsp; 107    OpenBook is useful for anyone who wants to add book covers and other book data on a WordPress website. OpenBook links to detailed book information in Open Library, the main data source, as well as other book sites. Users have complete control over the display through templates. OpenBook can link to library records by configuring an OpenURL resolver or through a [WorldCat](https://www.worldcat.org/) link. OpenBook inserts [COinS](https://ocoins.info/) so that other applications like [Zotero](https://www.zotero.org/) can pick up the book data.
59 - [**Bookmind**][25] <br/>Bookmind is now available at https://apps.apple.com/app/bookmind/id6593662584. It uses open library’s api exclusively for book data. You can even see the rough prototype source at https://github.com/dave-ruest/Bookmind. <br />&nbsp; 108    - [**Umlaut**](https://wiki.code4lib.org/index.php/Umlaut) by *Jason Ronallo*
60 - [**Hobbyverse**][26] let's you track all your hobbies in one place. Users can add their books to their digital library and track their progress reading books, view what books their friends are reading, earn achievements, etc. <br />&nbsp; 109    Umlaut is a middle-tier OpenURL link resolver that adds functions and services to commercial link resolving software.
61 - [**ReadOtter**][27] <br/>ReadOtter, a classroom library management app designed to help teachers organize their classroom libraries. <br />&nbsp; 110    - [**Virtual Shelf**](https://www.ischool.berkeley.edu/projects/2009/virtual-shelf) by *Jonathan Breitbart and Devin Blong* (UC Berkeley School of Information)
62 - [**Chapter**][28]<br/> Chapter is an online reading library and reading organizer app.  <br />&nbsp; 111    The Virtual Shelf is a visualization created by two students at the UC Berkeley School of Information. The project includes the student's master thesis, with research into the searching and browsing patterns of library patrons. The Open Library RESTful API was utilized during the project as a source of metadata for the user interface.
63 - [**Land of Readers**][29]</br> is a free, easy-to-use book discovery tool designed to help readers find books that match their interests, age group, and reading level. <br />&nbsp; 112    - [**RDC UI Toolkit**](https://ruraldesigncollective.org/lab/ui) by *Rural Design Collective*
64 - [**Austen**][30] </br>is a web app that uses the Open Library API to generate visual character relationship diagrams for books using AI. [Here][31] is a live demo of their work. <br />&nbsp; 113    This group created a suite of tools that facilitates the creation of localized user interfaces for public domain books. The RDC used the Open Library Covers API and the Internet Archive Book Reader in their online demonstration customized for the OLPC XO.
65 - [**mcp-open-library**][32] by *Ben Smith* <br /> A Model Context Protocol (MCP) server for the Open Library API that enables AI assistants to search for book and author information. The source code can be found [here][32]. So far on a MCP server website its been called 5.2k times: [https://smithery.ai/server/@8enSmith/mcp-open-library][33]. It has also been published to npm: [https://www.npmjs.com/package/mcp-open-library][34]. 114    - [**Dreambooks.club**](https://www.dreambooks.club) by *Bernat Fortet*
115    Dreambooks is a portal and community where parents and children can discover new books to read together. Think of it as the online equivalent of your library's children's corner. All the book data is powered by OpenLibary's API.
116    - [**MyBooks.Life**](https://mybooks.life) by *Mark Webster*
117    MyBooks.Life is an android app and website designed primarily to manage TBR (to-be-read) lists. You can keep track of your reading progress, make notes, manage your wishlist, and rate your books. MyBooks.Life uses Open Library data to power its search.
118    - [**Bookmind**](https://apps.apple.com/app/bookmind/id6593662584)
119    Bookmind is now available at <https://apps.apple.com/app/bookmind/id6593662584>. It uses open library’s api exclusively for book data. You can even see the rough prototype source at <https://github.com/dave-ruest/Bookmind>.
120    - [**Hobbyverse**](https://hobbyverse.app/) let's you track all your hobbies in one place. Users can add their books to their digital library and track their progress reading books, view what books their friends are reading, earn achievements, etc.
121    - [**ReadOtter**](https://readotter.com/)
122    ReadOtter, a classroom library management app designed to help teachers organize their classroom libraries.
123    - [**Chapter**](https://www.clubchapter.com/)
124    Chapter is an online reading library and reading organizer app.
125    - [**Land of Readers**](https://www.landofreaders.com/)
126    is a free, easy-to-use book discovery tool designed to help readers find books that match their interests, age group, and reading level.
127    - [**Austen**](https://github.com/herol3oy/austen)
128    is a web app that uses the Open Library API to generate visual character relationship diagrams for books using AI. [Here](https://austen.page) is a live demo of their work.
129    - [**mcp-open-library**](https://github.com/8enSmith/mcp-open-library) by *Ben Smith*
130    A Model Context Protocol (MCP) server for the Open Library API that enables AI assistants to search for book and author information. The source code can be found [here](https://github.com/8enSmith/mcp-open-library). So far on a MCP server website its been called 5.2k times: <https://smithery.ai/server/@8enSmith/mcp-open-library>. It has also been published to npm: <https://www.npmjs.com/package/mcp-open-library>.
131 - [**TheCoverVerse**](https://www.thecoververse.com/)
132  is a book edition catalogue built around cover art, letting readers browse and compare editions of the same work side by side. It uses Open Library’s edition data and covers API to populate metadata and cover images : [https://www.thecoververse.com](https://www.thecoververse.com/)
66 133
67 Are you using the Open Library APIs? We'd love to hear about it! Please email us at openlibrary@archive.org. 134 Are you using the Open Library APIs? We'd love to hear about it! Please email us at [openlibrary@archive.org](mailto:openlibrary@archive.org).
68
69
70  [1]: https://mail.archive.org/cgi-bin/mailman/listinfo/ol-tech
71  [2]: https://github.com/internetarchive/openlibrary/issues
72  [3]: https://github.com/internetarchive/openlibrary
73  [4]: /dev/docs/restful_api
74  [5]: /dev/docs/json_api
75  [6]: /dev/docs/api/books
76  [7]: /dev/docs/api/covers
77  [8]: /data#downloads
78  [9]: https://trove.nla.gov.au/
79  [10]: https://koha-community.org/
80  [11]: https://evergreen-ils.org
81  [12]: https://read.gov/books/
82  [13]: https://code.google.com/p/openbook4wordpress/
83  [14]: https://www.worldcat.org/
84  [15]: https://ocoins.info/
85  [16]: https://www.zotero.org/
86  [17]: https://addons.mozilla.org/en-US/firefox/addon/144222/
87  [18]: /people/JeffKaplan
88  [19]: https://wiki.code4lib.org/index.php/Umlaut
89  [20]: https://www.ischool.berkeley.edu/projects/2009/virtual-shelf
90  [21]: https://ruraldesigncollective.org/lab/ui
91  [22]: https://www.dreambooks.club
92  [23]: /dev/docs/api/read
93  [24]: https://mybooks.life
94  [25]: https://apps.apple.com/app/bookmind/id6593662584
95  [26]: https://hobbyverse.app/
96  [27]: https://readotter.com/
97  [28]: https://www.clubchapter.com/
98  [29]: https://www.landofreaders.com/
99  [30]: https://github.com/herol3oy/austen
100  [31]: https://austen.vercel.app/
101  [32]: https://github.com/8enSmith/mcp-open-library
102  [33]: https://smithery.ai/server/@8enSmith/mcp-open-library
103  [34]: https://www.npmjs.com/package/mcp-open-library