OverDrive Libby Library Availability Scraper
EDUCATIONBUSINESS
OverDrive Libby Library Availability Scraper
Scrape real-time ebook and audiobook availability from any public library's OverDrive/Libby catalog. Provide one or more library slugs (e.g. lapl for LA Public Library, nypl for New York Public Library) and search queries — the actor returns copy counts, holds, estimated wait times, and full metadata for every matching title.
What you get
Each output record contains:
| Field | Description |
|---|---|
library |
Library slug (e.g. lapl) |
query |
Search query that returned this title |
title |
Book title |
subtitle |
Subtitle (if present) |
creators |
Pipe-separated authors/narrators with roles |
media_type |
ebook or audiobook |
formats |
Pipe-separated format IDs (e.g. ebook-overdrive | ebook-kindle) |
isbn |
ISBN from the primary format |
publisher |
Publisher name |
publish_date |
Publication date (YYYY-MM-DD) |
subjects |
Pipe-separated subject categories |
languages |
Pipe-separated language names |
availability_status |
available or waitlist |
owned_copies |
Number of copies the library owns |
available_copies |
Copies currently available to borrow |
holds_count |
Number of holds in the queue |
estimated_wait_days |
Estimated wait in days (0 if available now) |
cover_url |
Cover image URL (300 px wide) |
sample_url |
Free sample URL (if available) |
detail_url |
Direct link to the title on Libby |
reserve_id |
OverDrive internal ID (UUID) |
Input
| Parameter | Type | Required | Description |
|---|---|---|---|
libraryIds |
array | Yes | OverDrive library slugs (e.g. ["lapl", "nypl"]) |
queries |
array | Yes | Search terms (e.g. ["Stephen King", "fiction"]) |
maxItems |
integer | No | Max total records to return (0 = unlimited) |
Finding your library's slug
The slug is the short identifier in your library's OverDrive/Libby URL. Examples:
- Los Angeles Public Library:
lapl - New York Public Library:
nypl - Chicago Public Library:
chipublib - Toronto Public Library:
torontopubliclibrary
Open libbyapp.com, sign in, and find the slug in the URL after /library/.
Example input
{
"libraryIds": ["lapl", "nypl"],
"queries": ["Stephen King", "science fiction"],
"maxItems": 200
}
This returns up to 200 results from both LAPL and NYPL for both queries — every combination.
Use cases
- Publishers & authors — Track copy counts and holds across library systems to gauge demand for your titles
- Library analytics — Compare collection depth across multiple libraries
- Reading research — Find which libraries have a title available now vs. waitlisted
- Market research — Identify which genres or authors have the most library demand
Notes
- Uses the public OverDrive thunder API — no authentication or API key required
- The API is rate-polite by default (~2 requests/second)
- Results reflect real-time availability at the time of the run
- Multi-library × multi-query runs fetch every combination (e.g. 3 libraries × 4 queries = 12 API streams)