# Open Library on Onekey > 12 endpoints for Open Library (12 stable, 0 beta), 1 to 5 credits each. Category: Knowledge & reference. One key, one JSON shape. Base URL: https://api.onekey.dev Auth: header `x-api-key: `. Call shape: `GET /v1/{platform}/{endpoint}?{params}`. Every response is `{success, data, metadata, error}`; check `success` first. Cost is in `metadata.credits_charged`. Free when served from cache (0.2 credit for a cached response over 100 KB). Failed and not-found calls are refunded. Status: stable = verified against the live source; beta = not yet verified, fields may be missing. Page: https://onekey.dev/platforms/openlibrary Reference (Markdown): https://onekey.dev/docs/api/openlibrary.md All docs: https://onekey.dev/llms.txt ## Canonical fields returned Unified-schema fields (same names on every platform), with how many of the 12 mapped Open Library endpoints return each: - `entity.id` (string): 8 - `entity.name` (string): 7 - `paper.publisher` (string): 3 - `author.birthDate` (ISO 8601 date): 2 - `author.displayName` (string): 2 - `author.id` (string): 2 - `author.bio` (string): 1 - `entity.description` (string): 1 - `entity.stats.ratingCount` (integer): 1 - `media.height` (integer): 1 - `media.width` (integer): 1 - plus 17 platform-specific fields under `ext.` ## Endpoints ### openlibrary.author Open Library author. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/author?id=OL23919A` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library author id, e.g. OL23919A - Fields returned: `author.id`, `author.displayName`, `author.birthDate`, `author.bio`, `ext.deathDate` - Reference: https://onekey.dev/docs/api/openlibrary/author.md ### openlibrary.author_search Search Open Library authors. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openlibrary/author_search?q=tolkien` with header `x-api-key: YOUR_API_KEY` - Parameters: - `q` (string, required): Search query - Fields returned: `author.id`, `author.displayName`, `author.birthDate`, `ext.topWork`, `ext.works` - Reference: https://onekey.dev/docs/api/openlibrary/author_search.md ### openlibrary.author_works Works of an Open Library author. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openlibrary/author_works?id=OL23919A` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library author id, e.g. OL23919A - Fields returned: `entity.id`, `entity.name`, `ext.coverId` - Reference: https://onekey.dev/docs/api/openlibrary/author_works.md ### openlibrary.cover_metadata Open Library cover image metadata (dimensions, source) by ISBN. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/cover_metadata?isbn=9780140328721` with header `x-api-key: YOUR_API_KEY` - Parameters: - `isbn` (string, required): ISBN-10 or ISBN-13 (no hyphens) - Fields returned: `entity.id`, `media.width`, `media.height`, `ext.id`, `ext.sourceUrl` - Reference: https://onekey.dev/docs/api/openlibrary/cover_metadata.md ### openlibrary.edition Open Library edition by OLID. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/edition?id=OL7353617M` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library edition id, e.g. OL7353617M - Fields returned: `entity.id`, `entity.name`, `paper.publisher`, `ext.publishDate`, `ext.pages`, `ext.isbn13`, `ext.coverId` - Reference: https://onekey.dev/docs/api/openlibrary/edition.md ### openlibrary.isbn Open Library edition by ISBN. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/isbn?isbn=9780140328721` with header `x-api-key: YOUR_API_KEY` - Parameters: - `isbn` (string, required): ISBN-10 or ISBN-13 (no hyphens) - Fields returned: `entity.id`, `entity.name`, `paper.publisher`, `ext.publishDate`, `ext.pages`, `ext.isbn13` - Reference: https://onekey.dev/docs/api/openlibrary/isbn.md ### openlibrary.search Search Open Library books. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openlibrary/search?q=dune` with header `x-api-key: YOUR_API_KEY` - Parameters: - `q` (string, required): Search query - Fields returned: `entity.id`, `entity.name`, `ext.author`, `ext.firstPublishYear`, `ext.editions`, `ext.coverId` - Reference: https://onekey.dev/docs/api/openlibrary/search.md ### openlibrary.subject Works on an Open Library subject. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openlibrary/subject?subject=love` with header `x-api-key: YOUR_API_KEY` - Parameters: - `subject` (string, required): Subject slug, e.g. love or science_fiction - Fields returned: `entity.id`, `entity.name`, `ext.firstPublishYear`, `ext.editions` - Reference: https://onekey.dev/docs/api/openlibrary/subject.md ### openlibrary.work Open Library work (a book across all its editions). - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/work?id=OL45804W` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library work id, e.g. OL45804W - Fields returned: `entity.id`, `entity.name`, `entity.description`, `ext.firstPublishDate`, `ext.coverId` - Reference: https://onekey.dev/docs/api/openlibrary/work.md ### openlibrary.work_editions Editions of an Open Library work. - Price: 5 credits per fresh call. Status: stable. Returns: a list. - Request: `GET https://api.onekey.dev/v1/openlibrary/work_editions?id=OL45804W` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library work id, e.g. OL45804W - Fields returned: `entity.id`, `entity.name`, `paper.publisher`, `ext.publishDate`, `ext.pages` - Reference: https://onekey.dev/docs/api/openlibrary/work_editions.md ### openlibrary.work_ratings Reader rating summary of an Open Library work. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/work_ratings?id=OL45804W` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library work id, e.g. OL45804W - Fields returned: `entity.stats.ratingCount`, `ext.ratingAverage` - Reference: https://onekey.dev/docs/api/openlibrary/work_ratings.md ### openlibrary.work_shelves Reader shelf counts (want to read, reading, read) of a work. - Price: 1 credit per fresh call. Status: stable. Returns: one record. - Request: `GET https://api.onekey.dev/v1/openlibrary/work_shelves?id=OL45804W` with header `x-api-key: YOUR_API_KEY` - Parameters: - `id` (string, required): Open Library work id, e.g. OL45804W - Fields returned: `ext.wantToRead`, `ext.currentlyReading`, `ext.alreadyRead` - Reference: https://onekey.dev/docs/api/openlibrary/work_shelves.md ## Sample request ```bash curl "https://api.onekey.dev/v1/openlibrary/author?id=OL23919A" \ -H "x-api-key: YOUR_API_KEY" ```