| 0 |
## <a name="getting-started">Getting Started</a> |
0 |
## Getting Started |
| 1 |
|
1 |
|
| ... |
|
... |
|
| 9 |
Try the interactive Open API Sandbox: |
9 |
Try the interactive Open API Sandbox: |
| 10 |
<a class="cta-btn cta-btn--available" href="https://openlibrary.org/swagger/docs">OpenAPI Sandbox</a> |
10 |
[OpenAPI Sandbox](https://openlibrary.org/swagger/docs) |
| 11 |
|
11 |
|
| 12 |
## <a name="usage">Usage Guidelines</a> |
12 |
## Usage Guidelines |
| 13 |
|
13 |
|
| 14 |
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. |
14 |
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. |
| 15 |
|
15 |
|
| 16 |
We prioritize: |
16 |
We prioritize: |
|
|
17 |
|
| 17 |
- Open-source and mission-aligned projects |
18 |
- Open-source and mission-aligned projects |
| 18 |
- Library and education tools |
19 |
- Library and education tools |
| 19 |
- Human-facing discovery and lookup services |
20 |
- Human-facing discovery and lookup services |
| 20 |
- Real-time, low-volume, high-value use |
21 |
- Real-time, low-volume, high-value use |
| 21 |
|
22 |
|
| 22 |
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. |
23 |
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). |
| 23 |
|
23 |
|
| ... |
|
... |
|
| 39 |
|
39 |
|
| 40 |
## <a name="rate-limits">Rate Limits</a> |
41 |
## Rate Limits |
| 41 |
|
42 |
|
| 42 |
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. |
43 |
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. |
| 43 |
|
44 |
|
| 44 |
Default (non-identified requests): |
45 |
Default (non-identified requests): |
|
|
46 |
|
| 45 |
- 1 request per second |
47 |
- 1 request per second |
| 46 |
|
48 |
|
| 47 |
Identified requests (with `User-Agent` and `email`): |
49 |
Identified requests (with `User-Agent` and `email`): |
|
|
50 |
|
| 48 |
- 3 requests per second |
48 |
- 3 requests per second |
| ... |
|
... |
|
| 56 |
|
56 |
|
| 57 |
## <a name="bulk-access">Bulk Access </a> |
60 |
## Bulk Access |
| 58 |
|
61 |
|
| 59 |
**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. |
62 |
**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](/data#downloads) options, or email us at [openlibrary@archive.org](mailto:openlibrary@archive.org). |
| 60 |
|
63 |
|
| 61 |
## <a name="api-index">Index of APIs</a> |
64 |
## Index of APIs |
| 62 |
|
65 |
|
| 63 |
- [Book Search](/dev/docs/api/search) API - Search results for books, authors, and more |
66 |
- [Book Search](/dev/docs/api/search) API - Search results for books, authors, and more |
| 64 |
- [Search inside](/dev/docs/api/search_inside) API - Search for matching text within millions of books |
67 |
- [Search inside](/dev/docs/api/search_inside) API - Search for matching text within millions of books |
| 65 |
- [Covers][7] API - Fetch book covers by ISBN or Open Library identifier |
68 |
- [Covers](/dev/docs/api/covers) API - Fetch book covers by ISBN or Open Library identifier |
| 66 |
- [Your Books](/dev/docs/api/mybooks) API - Retrieve books on a patron's public reading log |
69 |
- [Your Books](/dev/docs/api/mybooks) API - Retrieve books on a patron's public reading log |
| 67 |
- [Lists](/dev/docs/api/lists) API - Reading, modifying, or creating user lists |
70 |
- [Lists](/dev/docs/api/lists) API - Reading, modifying, or creating user lists |
| 68 |
-[**RESTful APIs**][4] |
71 |
-[**RESTful APIs**](/dev/docs/restful_api) |
| 69 |
- [Work & Edition][6] APIs - Retrieve a specific work or edition by identifier |
72 |
- [Work & Edition](/dev/docs/api/books) APIs - Retrieve a specific work or edition by identifier |
| 70 |
- [Authors](/dev/docs/api/authors) API - Retrieve an author and their works by author identifier |
73 |
- [Authors](/dev/docs/api/authors) API - Retrieve an author and their works by author identifier |
| 71 |
- [Subjects](/dev/docs/api/subjects) API - Fetch books by subject name |
74 |
- [Subjects](/dev/docs/api/subjects) API - Fetch books by subject name |
| 72 |
- [Recent Changes](/dev/docs/api/recentchanges) API - Programatic access to changes across Open Library |
75 |
- [Recent Changes](/dev/docs/api/recentchanges) API - Programatic access to changes across Open Library |
| 73 |
|
76 |
|
| 74 |
Legacy APIs: |
77 |
Legacy APIs: |
| 75 |
- [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) |
78 |
|
| 76 |
- [Legacy JSON API][5] is deprecated and preserved for backward compatibility. |
79 |
- [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) |
|
|
80 |
- [Legacy JSON API](/dev/docs/json_api) is deprecated and preserved for backward compatibility. |
| 77 |
|
81 |
|
| 78 |
## More APIs |
82 |
## More APIs |
| 79 |
|
83 |
|
| 80 |
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. |
84 |
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. |
| 81 |
|
85 |
|
| 82 |
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. |
86 |
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. |
| 83 |
|
87 |
|
| 84 |
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). |
88 |
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). |
| 85 |
|
89 |
|
| 86 |
|
90 |
## Services using Open Library APIs |
| 87 |
## <a name="api-partners">Services using Open Library APIs</a> |
|
|
| 88 |
|
91 |
|
| 89 |
Several developers are creating amazing things with the Open Library APIs: |
92 |
Several developers are creating amazing things with the Open Library APIs: |
| 90 |
|
93 |
|
| 91 |
- [**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 /> |
94 |
- [**Trove**](https://trove.nla.gov.au/) by *the National Library of Australia* |
| 92 |
- [**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 /> |
95 |
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. |
| 93 |
- [**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 /> |
96 |
- [**Koha**](https://koha-community.org/) |
| 94 |
- [**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 /> |
97 |
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. |
| 95 |
- [**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 /> |
98 |
- [**Evergreen**](https://evergreen-ils.org) |
| 96 |
- [**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 /> |
99 |
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. |
| 97 |
- [**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 /> |
100 |
- [**read.gov**](https://read.gov/books/) by *the Library of Congress* |
| 98 |
- [**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 /> |
101 |
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. |
| 99 |
- [**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 /> |
102 |
- [**OpenBook WordPress Plug-in**](https://code.google.com/p/openbook4wordpress/) by *John Miedema* |
| 100 |
- [**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 /> |
103 |
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. |
| 101 |
- [**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 /> |
104 |
- [**Umlaut**](https://wiki.code4lib.org/index.php/Umlaut) by *Jason Ronallo* |
| 102 |
- [**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 /> |
105 |
Umlaut is a middle-tier OpenURL link resolver that adds functions and services to commercial link resolving software. |
| 103 |
- [**ReadOtter**][27] <br/>ReadOtter, a classroom library management app designed to help teachers organize their classroom libraries. <br /> |
106 |
- [**Virtual Shelf**](https://www.ischool.berkeley.edu/projects/2009/virtual-shelf) by *Jonathan Breitbart and Devin Blong* (UC Berkeley School of Information) |
| 104 |
- [**Chapter**][28]<br/> Chapter is an online reading library and reading organizer app. <br /> |
107 |
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. |
| 105 |
- [**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 /> |
108 |
- [**RDC UI Toolkit**](https://ruraldesigncollective.org/lab/ui) by *Rural Design Collective* |
| 106 |
- [**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 /> |
109 |
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. |
| 107 |
- [**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]. <br /> |
110 |
- [**Dreambooks.club**](https://www.dreambooks.club) by *Bernat Fortet* |
| 108 |
- [**TheCoverVerse**][35] <br /> 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][35] |
111 |
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. |
|
|
112 |
- [**MyBooks.Life**](https://mybooks.life) by *Mark Webster* |
|
|
113 |
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. |
|
|
114 |
- [**Bookmind**](https://apps.apple.com/app/bookmind/id6593662584) |
|
|
115 |
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>. |
|
|
116 |
- [**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. |
|
|
117 |
- [**ReadOtter**](https://readotter.com/) |
|
|
118 |
ReadOtter, a classroom library management app designed to help teachers organize their classroom libraries. |
|
|
119 |
- [**Chapter**](https://www.clubchapter.com/) |
|
|
120 |
Chapter is an online reading library and reading organizer app. |
|
|
121 |
- [**Land of Readers**](https://www.landofreaders.com/) |
|
|
122 |
is a free, easy-to-use book discovery tool designed to help readers find books that match their interests, age group, and reading level. |
|
|
123 |
- [**Austen**](https://github.com/herol3oy/austen) |
|
|
124 |
is a web app that uses the Open Library API to generate visual character relationship diagrams for books using AI. [Here](https://austen.vercel.app/) is a live demo of their work. |
|
|
125 |
- [**mcp-open-library**](https://github.com/8enSmith/mcp-open-library) by *Ben Smith* |
|
|
126 |
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>. |
|
|
127 |
- [**TheCoverVerse**](https://www.thecoververse.com/) |
|
|
128 |
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/) |
| 109 |
|
129 |
|
| 110 |
Are you using the Open Library APIs? We'd love to hear about it! Please email us at openlibrary@archive.org. |
130 |
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). |
| 111 |
|
|
|
| 112 |
|
|
|
| 113 |
[1]: https://mail.archive.org/cgi-bin/mailman/listinfo/ol-tech |
|
|
| 114 |
[2]: https://github.com/internetarchive/openlibrary/issues |
|
|
| 115 |
[3]: https://github.com/internetarchive/openlibrary |
|
|
| 116 |
[4]: /dev/docs/restful_api |
|
|
| 117 |
[5]: /dev/docs/json_api |
|
|
| 118 |
[6]: /dev/docs/api/books |
|
|
| 119 |
[7]: /dev/docs/api/covers |
|
|
| 120 |
[8]: /data#downloads |
|
|
| 121 |
[9]: https://trove.nla.gov.au/ |
|
|
| 122 |
[10]: https://koha-community.org/ |
|
|
| 123 |
[11]: https://evergreen-ils.org |
|
|
| 124 |
[12]: https://read.gov/books/ |
|
|
| 125 |
[13]: https://code.google.com/p/openbook4wordpress/ |
|
|
| 126 |
[14]: https://www.worldcat.org/ |
|
|
| 127 |
[15]: https://ocoins.info/ |
|
|
| 128 |
[16]: https://www.zotero.org/ |
|
|
| 129 |
[17]: https://addons.mozilla.org/en-US/firefox/addon/144222/ |
|
|
| 130 |
[18]: /people/JeffKaplan |
|
|
| 131 |
[19]: https://wiki.code4lib.org/index.php/Umlaut |
|
|
| 132 |
[20]: https://www.ischool.berkeley.edu/projects/2009/virtual-shelf |
|
|
| 133 |
[21]: https://ruraldesigncollective.org/lab/ui |
|
|
| 134 |
[22]: https://www.dreambooks.club |
|
|
| 135 |
[23]: /dev/docs/api/read |
|
|
| 136 |
[24]: https://mybooks.life |
|
|
| 137 |
[25]: https://apps.apple.com/app/bookmind/id6593662584 |
|
|
| 138 |
[26]: https://hobbyverse.app/ |
|
|
| 139 |
[27]: https://readotter.com/ |
|
|
| 140 |
[28]: https://www.clubchapter.com/ |
|
|
| 141 |
[29]: https://www.landofreaders.com/ |
|
|
| 142 |
[30]: https://github.com/herol3oy/austen |
|
|
| 143 |
[31]: https://austen.vercel.app/ |
|
|
| 144 |
[32]: https://github.com/8enSmith/mcp-open-library |
|
|
| 145 |
[33]: https://smithery.ai/server/@8enSmith/mcp-open-library |
|
|
| 146 |
[34]: https://www.npmjs.com/package/mcp-open-library |
|
|
| 147 |
[35]: https://www.thecoververse.com/ |
|
|
|