Library Account API
The Library Account API delivers general information about an account including available formats, OverDrive Advantage collections, and a products hypermedia link that returns all available titles in a library collection.
Note: The examples below show our production API URL. If you're using our integration environment, use https://integration.api.overdrive.com or https://integration-patron.api.overdrive.com. For more information on the integration environment, please see Getting Started.
To access the Library Account API, you'll need to know your library ID. If you don't know your library ID, contact support.
Accessing the Library Account API
The Library Account API serves as the starting point for most API clients to discover additional resources for a library account using hypermedia.
Library Account API resources include:
- products: A library's digital collection, and the starting point for the Search API.
- advantage accounts: Titles purchased to supplement a library's digital collection. These are in addition to the consortium titles available.
Resource URL
https://api.overdrive.com/v1/libraries/{Library ID}
This URL returns a JSON response that includes:
- The library's name
- The account type
- A link for all products available in the digital media collection
- A link for all advantageAccounts associated with the account
- A link for the curated lists created by the account
- The formats supported by the library account
- The enabled platforms (the OverDrive platforms associated with the account)
Example request
GET https://api.overdrive.com/v1/libraries/4225 User-Agent: {Your application} Authorization: Bearer {OAuth access token} Host: api.overdrive.com
Example response
200 OK Pragma: no-cache X-Frame-Options: deny Content-Length: 1140 Cache-Control: no-cache Content-Type: application/json; charset=utf-8 Date: Thu, 19 Jan 2023 18:54:50 GMT Expires: -1 { "id": 4225, "name": "OverDrive API Integration Library (OH)", "type": "Library", "collectionToken": "v1L1BBQ0AAA2_", "links": { "self": { "href": "https://api.overdrive.com/v1/libraries/4425", "type": "application/vnd.overdrive.api+json" }, "products": { "href": "https://api.overdrive.com/v1/collections/v1L1BBQ0AAA2_/products", "type": "application/vnd.overdrive.api+json" }, "advantageAccounts": { "href": "https://api.overdrive.com/v1/libraries/4425/advantageAccounts", "type": "application/vnd.overdrive.api+json" }, "dlrHomepage": { "href": "https://link.overdrive.com/?websiteID=100300", "type": "text/html" }, "lists": { "href": "https://api.overdrive.com/v1/libraries/4425/lists", "type": "application/vnd.overdrive.api+json" } }, "formats": [ { "id": "ebook-mediado", "name": "MediaDo eBook" }, { "id": "ebook-kindle", "name": "Kindle Book" }, { "id": "magazine-overdrive", "name": "OverDrive Magazine" }, { "id": "ebook-overdrive", "name": "OverDrive Read" }, { "id": "audiobook-overdrive", "name": "OverDrive Listen" } ], "enabledPlatforms": [ "lightning", "libby" ] }
Now that you have the library account products URL, you can access the Search API. From there, follow the hypermedia links to access the Metadata and Library Availability APIs to get the information you need to make your app work.
Curated lists
The lists link in the response will show you the curated lists created by the account. Curated lists are hand-picked lists of titles that libraries and schools build to promote those titles (such as holiday titles or series starters).
Example request
GET https://api.overdrive.com/v1/libraries/4425/lists User-Agent: {Your application} Authorization: Bearer {OAuth access token} Host: api.overdrive.com
Example response
200 OK Pragma: no-cache X-Frame-Options: deny Content-Length: 816 Cache-Control: no-cache Content-Type: application/json; charset=utf-8 Date: Thu, 18 May 2023 18:54:50 GMT Expires: -1 { "totalItems": 1, "limit": 25, "offset": 0, "lists": [ { "id": 53247, "name": "Metro Public Library Staff Picks", "links": { "listAtOverDrive": { "href": "https://link.overdrive.com?websiteID=100300&collectionId=21391", "type": "text/html" }, "listItems": { "href": "https://api.overdrive.com/v1/collections/v1L1BBQ0AAA2_/products/lists/53247", "type": "application/vnd.overdrive.api+json" } } } ], "links": { "self": { "href": "https://api.overdrive.com/v1/libraries/4425/lists?limit=25&offset=0", "type": "application/vnd.overdrive.api+json" }, "first": { "href": "https://api.overdrive.com/v1/libraries/4425/lists?limit=25&offset=0", "type": "application/vnd.overdrive.api+json" }, "last": { "href": "https://api.overdrive.com/v1/libraries/4425/lists?limit=25&offset=0", "type": "application/vnd.overdrive.api+json" } } }
For each curated list, you'll see:
- The list id
- The name of the list
- A listAtOverDrive link to view the list on the library or school's OverDrive website
- A listItems link that returns the titles included in the list
Enabled platforms
Enabled platforms tell you which OverDrive platforms are associated with the account. This will let you know what type of account it is (e.g., library or school), where to direct users, and what branding to use in your implementation.
The table below shows all the enabled platform values and what they mean.
Value | Description |
---|---|
Libby | OverDrive's flagship app for public, academic, and corporate libraries. Most OverDrive partner libraries use Libby. |
Sora | OverDrive's app for K-12 schools. Almost all OverDrive partner schools use Sora. |
LexisNexis | The LexisNexis Digital Library. Used primarily by research-based organizations, such as law libraries and academic libraries. |
Lightning | A library's OverDrive website. Most partners promote Libby over their OverDrive website, but the website is available if needed. |
In rare cases, you'll see a legacy OverDrive website as the enabled platform. This will display as either DLR (for public libraries), SDL (for schools), CDL (for colleges and academic institutions), or Corporate (for corporations). Legacy OverDrive websites are primarily used by libraries that need support for right-to-left languages.
Seeing Kanopy subscription information
You can use the Kanopy subscription endpoint to see whether a library has an active Kanopy subscription. You can also get a link to the library's Kanopy URL.
Example request
GET https://api.overdrive.com/v1/libraries/612/kanopyinfo User-Agent: {Your application} Authorization: Bearer {OAuth access token} Host: api.overdrive.com
Example response
200 OK Cache-Control: no-cache Pragma: no-cache X-Frame-Options: DENY Date: Thu, 03 Nov 2022 09:58:43 GMT Content-Type: application/json; charset=utf-8 Expires: -1 Content-Length: 5269 { "subscriptions": [ { "id": 10, "name": "Wayne County Public Library", "subscriptionId": "45ad1fd9fc03606fc71b4acae1b70d4a", "url": "https://www.kanopy.com/en/wcplohio", "status": "Active", "startDate": "2021-12-07T18:07:08Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 11, "name": "Sandusky Library", "subscriptionId": "6f2f81ebd0673a01eab32ae30428c9c2", "url": "https://www.kanopy.com/en/sanduskylib", "status": "Active", "startDate": "2021-12-07T18:07:11Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 12, "name": "Willoughby-Eastlake Public Library", "subscriptionId": "62279c2d54f6705782fe4f3cb10cb5aa", "url": "https://www.kanopy.com/en/welibrary", "status": "Active", "startDate": "2021-12-07T18:07:13Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 13, "name": "Twinsburg Public Library", "subscriptionId": "164ae45e2b0e0c47987ad10206a78742", "url": "https://www.kanopy.com/en/twinsburg", "status": "Active", "startDate": "2021-12-07T18:07:18Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 19, "name": "Ritter Public Library", "subscriptionId": "fd1c5a3fa0e030e27b1c06cabacc3654", "url": "https://www.kanopy.com/en/ritterlib", "status": "Active", "startDate": "2021-12-07T18:07:39Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 20, "name": "Hudson Library & Historical Society", "subscriptionId": "19f0d3e1581ea5059c3931ccee65e6c3", "url": "https://www.kanopy.com/en/hudsonlibrary", "status": "Active", "startDate": "2021-12-07T18:07:43Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 21, "name": "Euclid Public Library", "subscriptionId": "4e7686737d1377ca3c2b1f77d99b3bdb", "url": "https://www.kanopy.com/en/euclidlibrary", "status": "Active", "startDate": "2021-12-07T18:07:51Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 22, "name": "Cleveland Hts-University Hts Public Library", "subscriptionId": "17934adde535b95b3d59c5074910ab1f", "url": "https://www.kanopy.com/en/heightslibrary", "status": "Active", "startDate": "2021-12-07T18:07:56Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 26, "name": "McKinley Memorial Library", "subscriptionId": "b44f5035367d901695865bccb9be18c1", "url": "https://www.kanopy.com/en/mcklib", "status": "Active", "startDate": "2022-01-04T23:25:16Z", "endDate": "2023-01-04T05:00:00Z" }, { "id": 27, "name": "Elyria Public Library", "subscriptionId": "644a084415e0ce1f4fd1cbc4442c5af4", "url": "https://www.kanopy.com/en/elyria", "status": "Active", "startDate": "2022-04-26T20:25:30Z", "endDate": "2023-04-26T04:00:00Z" }, { "id": 28, "name": "Burton Public Library", "subscriptionId": "ec541e7a77ad9f7e8950465fd4c82afc", "url": "https://www.kanopy.com/en/burtonlibrary", "status": "Active", "startDate": "2021-12-07T18:08:18Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 3, "name": "Shaker Heights Public Library", "subscriptionId": "ff9055d04629d57dca334e3fd1b1c289", "url": "https://www.kanopy.com/en/shakerlibrary", "status": "Active", "startDate": "2021-12-07T18:06:49Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 31, "name": "Geauga County Public Library", "subscriptionId": "becee83232b9fae0af60f6872b08f2ba", "url": "https://www.kanopy.com/en/geaugalibrary", "status": "Active", "startDate": "2022-01-18T22:25:15Z", "endDate": "2023-01-18T05:00:00Z" }, { "id": 32, "name": "Rocky River Public Library", "subscriptionId": "2e1dc004ac0ba45cf923c620b16837b0", "url": "https://www.kanopy.com/en/rrpl", "status": "Active", "startDate": "2021-12-07T18:08:40Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 34, "name": "Huron Public Library", "subscriptionId": "e1be608d7e1bbdb92e11fd4ff691698e", "url": "https://www.kanopy.com/en/huronlibrary", "status": "Active", "startDate": "2021-12-07T18:08:48Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 35, "name": "Lorain Public Library", "subscriptionId": "456651915e389319afe4cd8597e912b4", "url": "https://www.kanopy.com/en/lpls", "status": "Active", "startDate": "2021-12-07T18:08:51Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 37, "name": "Bellevue Public Library", "subscriptionId": "067c619dce5a3637a67a9b2a3825c34b", "url": "https://www.kanopy.com/en/bellevuelib", "status": "Active", "startDate": "2022-04-26T20:25:35Z", "endDate": "2023-04-26T04:00:00Z" }, { "id": 38, "name": "Mentor Public Library", "subscriptionId": "abca3cdbc7d5b7d6c88e030b51a85a71", "url": "https://www.kanopy.com/en/mentorpl", "status": "Active", "startDate": "2021-12-07T18:09:06Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 40, "name": "Cleveland Public Library", "subscriptionId": "8726aab0122b086366365abd7f30a06a", "url": "https://www.kanopy.com/en/cpl", "status": "Active", "startDate": "2021-12-07T18:09:17Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 52, "name": "Milan-Berlin Township Public Library", "subscriptionId": "224c0b0c8817fd17665aa4a9b52f0356", "url": "https://www.kanopy.com/en/milanberlin", "status": "Active", "startDate": "2021-12-07T18:09:58Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 58, "name": "Girard Free Library", "subscriptionId": "ab65587d3cacfc4c9dc868b3fd95868b", "url": "https://www.kanopy.com/en/girardfreelibrary", "status": "Active", "startDate": "2021-12-07T18:10:20Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 59, "name": "Stow-Munroe Falls Public Library", "subscriptionId": "59892f7323a3b76027738f421de81c6f", "url": "https://www.kanopy.com/en/smfpl", "status": "Active", "startDate": "2021-12-07T18:10:24Z", "endDate": "2022-12-07T05:00:00Z" }, { "id": 9, "name": "Medina County District Library", "subscriptionId": "d10ccee5d03c023022d16e7c1ae41b7c", "url": "https://www.kanopy.com/en/mcdl", "status": "Active", "startDate": "2021-12-07T18:07:04Z", "endDate": "2022-12-07T05:00:00Z" } ] }
If you want to see the Kanopy subscription information for an Advantage account, append the Advantage ID to the URL.
GET https://api.overdrive.com/v1/libraries/612/kanopyinfo/52 User-Agent: {Your application} Authorization: Bearer {OAuth access token} Host: api.overdrive.com
This will return information for only the individual Advantage account.
200 OK Cache-Control: no-cache Pragma: no-cache X-Frame-Options: DENY Date: Thu, 03 Nov 2022 09:59:08 GMT Content-Type: application/json; charset=utf-8 Expires: -1 Content-Length: 239 { "id": 52, "name": "Milan-Berlin Township Public Library", "subscriptionId": "224c0b0c8817fd17665aa4a9b52f0356", "url": "https://www.kanopy.com/en/milanberlin", "status": "Active", "startDate": "2021-12-07T18:09:58Z", "endDate": "2022-12-07T05:00:00Z" }