Open Library API
Open Library public APIs for human-centered book discovery, search, work/edition lookup, authors, subjects and library identifiers.
Connect this API to an AI agent Browse all specs
What you can do with Open Library API via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /search.json |
SearchOpenLibrary | Search books and authors Method: GET Path: /search.json IMPORTANT: This function has 0 REQUIRED parameter(s) and 9 OPTIONAL parameter(s) REQUIRED parameters MUST be provided OPTIONAL parameters can be omitted if not needed Parameters: Query Parameters: OPTIONAL: - q: General full-text query. - title: Title query. - author: Author query. - isbn: ISBN query. - subject: Subject query. - language: Language filter. - page: One-based page number. - limit: Number of records per page. - fields: Comma-separated fields to return. |
| GET | /books |
GetBooksByIdentifiers | Get books by identifiers Method: GET Path: /books IMPORTANT: This function has 1 REQUIRED parameter(s) and 2 OPTIONAL parameter(s) REQUIRED parameters MUST be provided OPTIONAL parameters can be omitted if not needed Parameters: Query Parameters: REQUIRED: - bibkeys: Comma-separated identifiers using the provider identifier prefix. OPTIONAL: - format: Response format. - jscmd: Optional response command. |
| GET | /works/{work_id}.json |
GetOpenLibraryWork | Get a work Method: GET Path: /works/{work_id}.json IMPORTANT: This function has 1 REQUIRED parameter(s) and 0 OPTIONAL parameter(s) REQUIRED parameters MUST be provided OPTIONAL parameters can be omitted if not needed Parameters: Path Parameters: REQUIRED: - work_id: Open Library work identifier without the `.json` suffix. |
Usage guide
## Authentication Open Library public discovery routes do not require an API key or bearer token. For regular or frequent use, identify your application with a descriptive `User-Agent` containing a contact email, for example `MyResearchApp ([email protected])`. The official page documents lower default limits for unidentified requests and higher limits for identified requests. ```bash curl -H "User-Agent: MyResearchApp ([email protected])" "https://openlibrary.org/search.json?q=machine%20learning&limit=10" ``` Open Library asks clients to keep traffic low, cache responses and avoid using the API as a bulk data backend. Use the documented dumps for bulk access.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “Open Library API” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.