CINXE.COM

Developer Center | Open Library

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <meta name="format-detection" content="telephone=no"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="title" content="" /> <meta name="keywords" content="free books, books to read, free ebooks, audio books, read books for free, read books online, online library"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="author" content="OpenLibrary.org" /> <meta name="creator" content="OpenLibrary.org" /> <meta name="copyright" content="Original content copyright; 2007-2015" /> <meta name="distribution" content="Global" /> <meta name="theme-color" content="#e2dcc5"> <link rel="canonical" href="https://openlibrary.org/developers" /> <link rel="preconnect" href="https://athena.archive.org"> <link rel="search" type="application/opensearchdescription+xml" title="Open Library" href="/static/opensearch.xml"> <link rel="manifest" href="/static/manifest.json"> <link href="/static/images/openlibrary-128x128.png" rel="apple-touch-icon" /> <link href="/static/images/openlibrary-152x152.png" rel="apple-touch-icon" sizes="152x152" /> <link href="/static/images/openlibrary-167x167.png" rel="apple-touch-icon" sizes="167x167" /> <link href="/static/images/openlibrary-180x180.png" rel="apple-touch-icon" sizes="180x180" /> <link href="/static/images/openlibrary-192x192.png" rel="icon" sizes="192x192" /> <link href="/static/images/openlibrary-128x128.png" rel="icon" sizes="128x128" /> <link href="/static/build/page-user.css?v=61bdc5b9bd5d4281acbc67b489096d9b" rel="stylesheet" type="text/css" /> <noscript> <style> /* Don't hide content with clamp if no js to show more/less */ .clamp { -webkit-line-clamp: unset !important; } /* Don't show read-more sections collapsed */ .read-more__content { max-height: unset !important; } /* Don't show read-more toggle buttons */ .read-more__toggle { display: none !important; } /* @width-breakpoint-tablet media query: */ @media only screen and (min-width: 768px) { /* Sticky navbar to top of screen if compact title cannot be stickied */ .work-menu { top: 0 !important; } } </style> </noscript> <script> /* @licstart The following is the entire license notice for the * JavaScript code in this page. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @licend The above is the entire license notice * for the JavaScript code in this page. */ </script> <meta name="google-site-verification" content="KrqcZD4l5BLNVyjzSi2sjZBiwgmkJ1W7n6w7ThD7A74" /> <meta name="google-site-verification" content="vtXGm8q3UgP-f6qXTvQBo85uh3nmIYIotVqqdJDpyz4" /> <!-- Drini, Google Search Console --> <meta name="google-site-verification" content="XYOJ9Uj0MBr6wk7kj1IkttXrqY-bbRstFMADTfEt354" /> <!-- Drini, Bing Webmaster Tools --> <meta name="msvalidate.01" content="8BEBECBEF537077737975A49D55B857D" /> <meta name="description" content="Open Library is an open, editable library catalog, building towards a web page for every book ever published. Read, borrow, and discover more than 3M books for free." /> <title>Developer Center | Open Library</title> </head> <body class="" > <script> // Provide a signal that JS will load document.body.className += ' client-js'; </script> <span id="top"></span> <div id="offline-info">It looks like you&#39;re offline.</div> <div id="donato"></div> <script src="/cdn/archive.org/donate.js" data-platform="ol"></script> <div id="topNotice"> <div class="page-banner page-banner-black page-banner-center"> <div class="iaBar"> <a class="iaLogo" href="https://archive.org"><img alt="Internet Archive logo" src="/static/images/ia-logo.svg" width="160"></a> <a class="ghost-btn iabar-mobile" href="https://archive.org/donate/?platform=ol&origin=olwww-TopNavDonateButton" data-ol-link-track="IABar|DonateButton">Donate <span class="heart" aria-hidden="true">♥</span></a> <div class="language-component header-dropdown iabar-mobile"> <details> <summary> <span>English (en)</span> <img class="translate-icon" src="/static/images/language-icon.svg" title="Change Website Language" alt="Change Website Language"/> </summary> <div class="language-dropdown-component"> <ul class="locale-options dropdown-menu"> <li><a href="#" lang="cs" data-lang-id="cs" title="Czech">Čeština (cs)</a></li> <li><a href="#" lang="de" data-lang-id="de" title="German">Deutsch (de)</a></li> <li><a href="#" lang="en" data-lang-id="en" title="English">English (en)</a></li> <li><a href="#" lang="es" data-lang-id="es" title="Spanish">Español (es)</a></li> <li><a href="#" lang="fr" data-lang-id="fr" title="French">Français (fr)</a></li> <li><a href="#" lang="hr" data-lang-id="hr" title="Croatian">Hrvatski (hr)</a></li> <li><a href="#" lang="it" data-lang-id="it" title="Italian">Italiano (it)</a></li> <li><a href="#" lang="pt" data-lang-id="pt" title="Portuguese">Português (pt)</a></li> <li><a href="#" lang="hi" data-lang-id="hi" title="Hindi">हिंदी (hi)</a></li> <li><a href="#" lang="sc" data-lang-id="sc" title="Sardinian">Sardu (sc)</a></li> <li><a href="#" lang="te" data-lang-id="te" title="Telugu">తెలుగు (te)</a></li> <li><a href="#" lang="uk" data-lang-id="uk" title="Ukrainian">Українська (uk)</a></li> <li><a href="#" lang="zh" data-lang-id="zh" title="Chinese">中文 (zh)</a></li> </ul> </div> </details> </div> </div> </div> </div> <header id="header-bar" class="header-bar"> <div class="logo-component"> <a href="/" title="The Internet Archive&#39;s Open Library: One page for every book"> <div class="logo-txt"> <img class="logo-icon" src="/static/images/openlibrary-logo-tighter.svg" width="189" height="47" alt="Open Library logo"/> </div> </a> </div> <ul class="navigation-component"> <li> <div class="mybooks-component header-dropdown"> <a href="/account/books" data-ol-link-track=MainNav|MyBooks>My Books</a> </div> </li> <li> <div class="browse-component header-dropdown"> <details> <summary > Browse <span class="shift">Menu</span> <img class="down-arrow" aria-hidden="true" src="/static/images/down-arrow.png" alt="" role="presentation" width="7" height="4"> </summary> <div class="browse-dropdown-component navigation-dropdown-component" > <ul class="dropdown-menu browse-dropdown-menu"> <li> <a href="/subjects" data-ol-link-track=MainNav|Subjects> Subjects </a> </li> <li> <a href="/trending" data-ol-link-track=MainNav|Trending> Trending </a> </li> <li> <a href="/explore" data-ol-link-track=MainNav|Explore> Library Explorer </a> </li> <li> <a href="/lists" data-ol-link-track=MainNav|Lists> Lists </a> </li> <li> <a href="/collections" data-ol-link-track=MainNav|Collections> Collections </a> </li> <li> <a href="/k-12" data-ol-link-track=MainNav|K12Library> K-12 Student Library </a> </li> <li> <a href="/booktalks" data-ol-link-track=MainNav|BookTalks> Book Talks </a> </li> <li> <a href="/random" data-ol-link-track=MainNav|RandomBook> Random Book </a> </li> <li> <a href="/advancedsearch" data-ol-link-track=MainNav|AdvancedSearch> Advanced Search </a> </li> </ul> </div> </details> </div> </li> </ul> <div class="search-component"> <div class="search-bar-component"> <div class="search-bar"> <div class="search-facet"> <label class="search-facet-selector"> <span aria-hidden="true" class="search-facet-value">All</span> <select aria-label="Search by"> <option value="all">All</option> <option value="title">Title</option> <option value="author">Author</option> <option value="text">Text</option> <option value="subject">Subject</option> <option value="lists">Lists</option> <option value="advanced">Advanced</option> </select> </label> </div> <form class="search-bar-input" action="/search" method="get"> <input type="text" name="q" placeholder="Search" aria-label="Search" autocomplete="off"> <input name="mode" type="checkbox" aria-hidden="true" aria-label="Search checkbox" checked="checked" value="" id="ftokenstop" class="hidden instantsearch-mode"> <input type="submit" value="" class="search-bar-submit" aria-label="Search submit"> <div class="vertical-separator"></div> <a id="barcode_scanner_link" class="search-by-barcode-submit" aria-label="Search by barcode" title="Search by barcode" href="/barcodescanner?returnTo=/isbn/$$$" > </a> </form> </div> <div class="search-dropdown"> <ul class="search-results"> </ul> </div> </div> </div> <ul class="auth-component"> <li class="hide-me"> <a class="btn" href="/account/login">Log In</a></li> <li><a class="btn primary" href="/account/create">Sign Up</a></li> </ul> <div class="hamburger-component header-dropdown"> <details> <summary data-ol-link-track="HeaderBar|Hamburger"> <img class="hamburger__icon" src="/static/images/hamburger-icon.svg" alt="additional options menu"/> <img class="down-arrow" aria-hidden="true" src="/static/images/down-arrow.png" alt="" role="presentation" width="7" height="4"> </summary> <div class="mask-menu"></div> <div class="app-drawer" > <ul class="dropdown-menu hamburger-dropdown-menu"> <li class="subsection"> My Open Library </li> <li class="login-links"> <a class="login-links__secondary" href="/account/login">Log In</a> <a class="login-links__primary" href="/account/create">Sign Up</a> </li> <li class="subsection"> Browse </li> <li> <a href="/subjects" data-ol-link-track=Hamburger|Subjects> Subjects </a> </li> <li> <a href="/trending" data-ol-link-track=Hamburger|Trending> Trending </a> </li> <li> <a href="/explore" data-ol-link-track=Hamburger|Explore> Library Explorer </a> </li> <li> <a href="/lists" data-ol-link-track=Hamburger|Lists> Lists </a> </li> <li> <a href="/collections" data-ol-link-track=Hamburger|Collections> Collections </a> </li> <li> <a href="/k-12" data-ol-link-track=Hamburger|K12Library> K-12 Student Library </a> </li> <li> <a href="/booktalks" data-ol-link-track=Hamburger|BookTalks> Book Talks </a> </li> <li> <a href="/random" data-ol-link-track=Hamburger|RandomBook> Random Book </a> </li> <li> <a href="/advancedsearch" data-ol-link-track=Hamburger|AdvancedSearch> Advanced Search </a> </li> <li class="subsection"> Contribute </li> <li> <a href="/books/add" data-ol-link-track=Hamburger|AddBook> Add a Book </a> </li> <li> <a href="/recentchanges" data-ol-link-track=Hamburger|RecentEdits> Recent Community Edits </a> </li> <li class="subsection"> Resources </li> <li> <a href="/help" data-ol-link-track=Hamburger|Help> Help &amp; Support </a> </li> <li> <a href="/developers" data-ol-link-track=Hamburger|DevelopersHelp> Developer Center </a> </li> <li> <a href="/librarians" data-ol-link-track=Hamburger|LibrariansHelp> Librarians Portal </a> </li> </ul> </div> </details> </div> </header> <header class="header-bar mobile"> <ul class="navigation-component mobile"> <li> <div class="mybooks-component header-dropdown"> <a href="/account/books" data-ol-link-track=MainNav|MyBooks>My Books</a> </div> </li> <li> <div class="browse-component header-dropdown"> <details> <summary > Browse <span class="shift">Menu</span> <img class="down-arrow" aria-hidden="true" src="/static/images/down-arrow.png" alt="" role="presentation" width="7" height="4"> </summary> <div class="browse-dropdown-component navigation-dropdown-component" > <ul class="dropdown-menu browse-dropdown-menu"> <li> <a href="/subjects" data-ol-link-track=MainNav|Subjects> Subjects </a> </li> <li> <a href="/trending" data-ol-link-track=MainNav|Trending> Trending </a> </li> <li> <a href="/explore" data-ol-link-track=MainNav|Explore> Library Explorer </a> </li> <li> <a href="/lists" data-ol-link-track=MainNav|Lists> Lists </a> </li> <li> <a href="/collections" data-ol-link-track=MainNav|Collections> Collections </a> </li> <li> <a href="/k-12" data-ol-link-track=MainNav|K12Library> K-12 Student Library </a> </li> <li> <a href="/booktalks" data-ol-link-track=MainNav|BookTalks> Book Talks </a> </li> <li> <a href="/random" data-ol-link-track=MainNav|RandomBook> Random Book </a> </li> <li> <a href="/advancedsearch" data-ol-link-track=MainNav|AdvancedSearch> Advanced Search </a> </li> </ul> </div> </details> </div> </li> </ul> </header> <div id="test-body-mobile"> <div class="flash-messages"> </div> <div id="contentHead"> <div id="editTools" class="edit"> <div id="editInfo"> <div class="brown smaller sansserif">Last edited by <a rel="nofollow" href="/people/raybb" >raybb</a></div> <div class="smallest gray sansserif">January 10, 2025 | <a href="/developers?m=history" rel="nofollow" title="View this template&#39;s edit history">History</a></div> </div> <div class="editButton"> <!-- FIXME: accesskey / keyboard shortcut needs i18n --> <a class="cta-btn cta-btn--vanilla" href="/developers?m=edit" title="Edit this page" data-ol-link-track="CTAClick|Edit" accesskey="e" rel="nofollow" >Edit</a> </div> </div> <h1>Developer Center</h1> </div> <div id="contentBody"> <div class="subNav sansserif"> <ul class="collapse"> <li> <strong>Developer Center (Home)</strong> <span>|</span> </li> <li> <a href="/developers/api">Web API</a> <span>|</span> </li> <li> <a href="https://github.com/internetarchive/openlibrary-client">Client Library</a> <span>|</span> </li> <li> <a href="/data">Data Dumps</a> <span>|</span> </li> <li> <a href="https://github.com/internetarchive/openlibrary">Source Code</a> <span>|</span> </li> <li> <a href="https://github.com/internetarchive/openlibrary/issues">Report an Issue</a> <span>|</span> </li> <li> <a href="/developers/licensing">Licensing</a> </li> </ul> </div> <br style="clear: both;"/> <p>Welcome to the developer hub of Open Library. This page links you to all of the information and external resources that will help you get started accessing data from, integrating with, or contributing to the Open Library platform. </p> <p><strong>Accessing Data</strong><br/> Open Library offers free, public, low-volume <a href="https://openlibrary.org/developers/api" rel="nofollow"><strong>Web APIs</strong></a> and <strong>bulk</strong> <a href="/data"><strong>Monthly Data Dumps</strong></a> for accessing book and author catalog data. Here are <a href="/developers/api#api-partners">examples</a> of partners making use of our data in the wild. Our Web APIs are ideal for book services which need to make infrequent, real-time searches for specific books, their authors, and their availability. For projects which require importing books, authors, or covers in bulk, please kindly download our free data dumps. </p> <p><strong>Client Libraries</strong><br/> We maintain an <a href="https://github.com/internetarchive/openlibrary-client" rel="nofollow"><strong>Official (Python) Client Library</strong></a> for accessing data and <a href="https://github.com/internetarchive/openlibrary-bots#openlibrary-bots" rel="nofollow">writing bots</a>. The are also unofficial client libraries written in <a href="https://github.com/jayfajardo/openlibrary" rel="nofollow">Ruby</a> and <a href="https://github.com/nithinbekal/openlibrary" rel="nofollow">Elixir</a>. </p> <p><strong>Contributing</strong><br/> OpenLibrary.org is an open source project. If you'd like to contribute as an Open Library developer, please visit our <a href="https://github.com/internetarchive/openlibrary/blob/master/CONTRIBUTING.md" rel="nofollow"><strong>CONTRIBUTING guide</strong></a> on <a href="https://github.com/internetarchive/openlibrary" rel="nofollow">GitHub</a> and explore our <a href="https://openlibrary.org/volunteer" rel="nofollow"><strong>volunteer page</strong></a>. Aside from the documentation here, you may also find <a href="https://github.com/internetarchive/openlibrary/wiki" rel="nofollow">Open Library's GitHub wiki</a> useful for getting started. </p> <p><strong>Technologies</strong><br/> Open Library is written in Python and uses the (now arcane) <a href="https://openlibrary.org/dev/docs/infogami" rel="nofollow">Infogami</a> web framework, which itself is built on top of <a href="https://webpy.org" rel="nofollow">web.py</a>. See the <a href="/about/tech">/about/tech</a> page to learn more about all the technologies powering the Open Library service. </p> <p><strong>Partners</strong><br/> Are you a library, publisher, or book vendor trying to integrate your catalog with Open Library previews, lending, data, or book covers? Check out our <a href="/dev/docs/inlibrary">partner resources</a>. </p> <div class="clearfix"></div> <div id="pageHistory"> <div class="head"> <h2 class="collapse inline"> History </h2> <ul class="pageHistory__list inline"> <li class="title inline">Created October 21, 2009</li> <li class="link inline"><a rel="nofollow" href="/developers?m=history">78 revisions</a></li> </ul> </div> <table class="history"> <tbody> <tr> <td class="timestamp"><a rel="nofollow" href="/developers?v=78" title="View revision 78">January 10, 2025</a></td> <td class="timestamp"> Edited by <a rel="nofollow" href="/people/raybb" class="truncate" >raybb</a> </td> <td class="detail"> fix typos </td> </tr> <tr> <td class="timestamp"><a rel="nofollow" href="/developers?v=77" title="View revision 77">July 5, 2023</a></td> <td class="timestamp"> Edited by <a rel="nofollow" href="/people/mekBot" class="truncate" >Mek</a> </td> <td class="detail"> updating technologies </td> </tr> <tr> <td class="timestamp"><a rel="nofollow" href="/developers?v=76" title="View revision 76">July 23, 2021</a></td> <td class="timestamp"> Edited by <a rel="nofollow" href="/people/raybb" class="truncate" >raybb</a> </td> <td class="detail"> all links https </td> </tr> <tr> <td class="timestamp"><a rel="nofollow" href="/developers?v=75" title="View revision 75">June 27, 2021</a></td> <td class="timestamp"> Edited by <a rel="nofollow" href="/people/mekBot" class="truncate" >Mek</a> </td> <td class="detail"> <em>Edited without comment.</em> </td> </tr> <tr> <td class="timestamp"><a rel="nofollow" href="/developers?v=1" title="View revision 1">October 21, 2009</a></td> <td class="timestamp"> Created by <a rel="nofollow" href="/people/george08" class="truncate" >George</a> </td> <td class="detail"> New page. </td> </tr> </tbody> </table> </div> </div> </div> <!--For analytics--> <div class="clearfix"></div> <footer> <div id="footer-content" > <div id="footer-links"> <div> <h2>Open Library</h2> <ul> <li><a href="/about/vision">Vision</a></li> <li><a href="/volunteer">Volunteer</a></li> <li><a href="/partner-with-us">Partner With Us</a></li> <li><a href="https://archive.org/about/jobs.php" title="Jobs">Careers</a></li> <li><a href="https://blog.openlibrary.org/">Blog</a></li> <li><a href="https://archive.org/about/terms.php">Terms of Service</a></li> <li><a href="https://archive.org/donate/?platform=ol&origin=olwww-TopNavDonateButton">Donate</a></li> </ul> </div> <div> <h2>Discover</h2> <ul> <li><a href="/" title="Go home">Home</a></li> <li><a href="/search" title="Explore Books">Books</a></li> <li><a href="/search/authors" title="Explore authors">Authors</a></li> <li><a href="/subjects" title="Explore subjects">Subjects</a></li> <li><a href="/collections" title="Explore collections">Collections</a></li> <li><a href="/advancedsearch" title="Advanced Search">Advanced Search</a></li> <li><a href="#top" title="Navigate to top of this page">Return to Top</a></li> </ul> </div> <div> <h2>Develop</h2> <ul> <li><a href="/developers" title="Explore Open Library Developer Center">Developer Center</a></li> <li><a href="/developers/api" title="Explore Open Library APIs">API Documentation</a></li> <li><a href="/developers/dumps" title="Bulk Open Library data">Bulk Data Dumps</a></li> <li><a href="https://github.com/internetarchive/openlibrary/wiki/Writing-Bots" title="Write a bot">Writing Bots</a></li> </ul> </div> <div> <h2>Help</h2> <ul> <li><a href="/help">Help Center</a></li> <li><a href="mailto:openlibrary@archive.org?subject=Support Case" title="Contact">Contact Us</a></li> <li><a href="/help/faq/editing" title="Suggest Edits">Suggesting Edits</a></li> <li><a href="/books/add" title="Add a new book to Open Library">Add a Book</a></li> <li><a href="https://github.com/internetarchive/openlibrary/releases" title="Release Notes">Release Notes</a></li> </ul> <aside> <a class="footer-icon" title="Twitter" href="https://twitter.com/OpenLibrary"><img src="/static/images/tweet.svg" alt="" loading="lazy"></a> <a class="footer-icon" title="GitHub" href="https://github.com/internetarchive/openlibrary"><img src="/static/images/github.svg" alt="" loading="lazy"></a> </aside> </div> <div> <h2>Change Website Language</h2> <ul class="locale-options "> <li><a href="#" lang="cs" data-lang-id="cs" title="Czech">Čeština (cs)</a></li> <li><a href="#" lang="de" data-lang-id="de" title="German">Deutsch (de)</a></li> <li><a href="#" lang="en" data-lang-id="en" title="English">English (en)</a></li> <li><a href="#" lang="es" data-lang-id="es" title="Spanish">Español (es)</a></li> <li><a href="#" lang="fr" data-lang-id="fr" title="French">Français (fr)</a></li> <li><a href="#" lang="hr" data-lang-id="hr" title="Croatian">Hrvatski (hr)</a></li> <li><a href="#" lang="it" data-lang-id="it" title="Italian">Italiano (it)</a></li> <li><a href="#" lang="pt" data-lang-id="pt" title="Portuguese">Português (pt)</a></li> <li><a href="#" lang="hi" data-lang-id="hi" title="Hindi">हिंदी (hi)</a></li> <li><a href="#" lang="sc" data-lang-id="sc" title="Sardinian">Sardu (sc)</a></li> <li><a href="#" lang="te" data-lang-id="te" title="Telugu">తెలుగు (te)</a></li> <li><a href="#" lang="uk" data-lang-id="uk" title="Ukrainian">Українська (uk)</a></li> <li><a href="#" lang="zh" data-lang-id="zh" title="Chinese">中文 (zh)</a></li> </ul> </div> </div> <hr> <div id="footer-details"> <img id="archive-logo" src="/static/images/pantheon.png" alt="Open Library logo" loading="lazy"> <div id="legal-details" > <span>Open Library is an initiative of the <a href="//archive.org/">Internet Archive</a>, a 501(c)(3) non-profit, building a digital library of Internet sites and other cultural artifacts in digital form. Other <a href="//archive.org/projects/">projects</a> include the <a href="//archive.org/web/">Wayback Machine</a>, <a href="//archive.org/">archive.org</a> and <a href="//archive-it.org">archive-it.org</a></span> </div> <div id="version-details"> <span class="version">version <a href="https://github.com/internetarchive/openlibrary/commit/45a0122">45a0122</a></span> </div> </div> </div> </footer> <script src="/cdn/archive.org/analytics.js" type="text/javascript"></script> <script src="/static/build/all.js?v=a73cfa9d42a0f061e2777a2207e24a8c" type="text/javascript"></script> <!-- Passes total_time for analytics to ol.analytics.js --> <div class="analytics-stats-time-calculator" data-time="27.457714080810547"></div> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10