openapi: 3.0.0 info: title: ISBNdb API v2 Author Books API description: "Definition of ISBNdb.com API v2.\n\n***Note: A 404 Not Found response for an ISBN lookup typically\nindicates that the book information is not yet available in our database.\nHowever, due to frequent updates, there is a high probability that the data will be \nadded shortly, often within a minute or up to 24 hours. We recommend trying your request \nagain after a while, as the information may soon become accessible***\n" version: 2.7.0 servers: - url: https://api2.isbndb.com description: API Endpoint tags: - name: Books description: Book endpoints paths: /book/{isbn}: get: tags: - Books summary: Get book details by isbn. description: "Returns the book details. \n \n**A 404 Not Found response for an ISBN lookup typically indicates that the book information is not yet available\nin our database. However, due to frequent updates, there is a high probability that the data will be added shortly,\noften within a minute or up to 24 hours. We recommend trying your request again after a while, as the information\nmay soon become accessible.**" operationId: get_app_api_book_book__invoke parameters: - name: with_prices in: query description: "Whether to include prices in the response. \n\n***Available starting from Pro plan***\n\n***Performance Impact:*** Enabling this will increase response time, as current prices are fetched from vendors in real-time." required: false schema: type: boolean default: false - name: isbn in: path required: true schema: type: string responses: '200': description: Returns the book details content: application/json: schema: $ref: '#/components/schemas/GetBookResponse' '404': description: Book not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - ApiKeyAuth: [] /books: post: tags: - Books summary: Search books description: "\nRetrieves a list of books matching the provided array of ISBNs. This endpoint is available on all plans and does not use pagination.\n\n**Request Limits per Plan:**\n* **Academic:** Up to 10 ISBNs per request.\n* **Basic:** Up to 100 ISBNs per request.\n* **Pro, Premium, and higher:** Up to 1,000 ISBNs per request.\n\n**Quota Usage (Important):** Each requested ISBN counts as a separate API call against your daily limit. For example, a single request containing 100 ISBNs will deduct 100 calls from your daily quota.\n\n**Response Behavior:**\n* The response will only include books that successfully match an ISBN in our database. \n* Any submitted ISBNs that are not found will be silently ignored and excluded from the response.\n* **Note:** Pricing information is not returned by this endpoint.\n" operationId: post_app_api_book_bookmultiple__invoke requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GetBooksMultipleRequest' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/GetBooksMultipleRequest' responses: '200': description: Returns books details content: application/json: schema: $ref: '#/components/schemas/GetBooksMultipleResponse' security: - ApiKeyAuth: [] /books/{query}: get: tags: - Books summary: Search books description: 'This returns a list of books that match the query. **This endpoint does not return pricing information.**' operationId: get_app_api_book_searchbook__invoke parameters: - name: query in: path description: 'The search query string. **Max length: 150 characters**.' required: true schema: type: string - name: year in: query description: Filter books by year of publication required: false schema: description: Filter books by year of publication type: integer nullable: true default: null - name: edition in: query description: Filter books by edition required: false schema: description: Filter books by edition type: integer nullable: true default: null - name: shouldMatchAll in: query description: "If set to `1` or `true`, the API will return books where the title \n or author exactly contains all the words entered by the user." required: false schema: description: "If set to `1` or `true`, the API will return books where the title \n or author exactly contains all the words entered by the user." type: boolean nullable: true default: false - name: column in: query description: 'Search limited to this column: * `` - Empty value search in every column * `title` - Only searches in Books Title * `author` - Only searches books by the given Author * `date_published` - Only searches books in a given year, e.g. 1998 * `subjects` - Only searches books by the given subject, e.g. physics' required: false schema: description: Search limited to this column type: string nullable: true default: null enum: - title - author - date_published - subjects - name: language in: query description: Language code to filter books by language (e.g., `eng` for English, `fra` for French, etc.) required: false schema: type: string nullable: true default: null maxLength: 50 - name: page in: query required: false schema: type: integer nullable: true default: 1 - name: pageSize in: query required: false schema: type: integer nullable: true default: 20 - name: publishedFrom in: query required: false schema: type: string pattern: .*(^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01]))?)?$).* nullable: true default: null - name: publishedTo in: query required: false schema: type: string pattern: .*(^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01]))?)?$).* nullable: true default: null responses: '200': description: Returns the book details content: application/json: schema: $ref: '#/components/schemas/GetBooksMultipleResponse' security: - ApiKeyAuth: [] components: schemas: RelatedIsbn: required: - isbn - binding properties: isbn: description: ISBN-13 of the related edition type: string binding: description: Binding type of the related edition (e.g. Hardcover, Paperback) type: string type: object GetBooksMultipleResponse: required: - total - data properties: total: type: integer data: type: array items: $ref: '#/components/schemas/Book' requested: type: integer nullable: true default: null type: object Price: required: - condition - merchant - merchant_logo - merchant_logo_offset - shipping - price - total - link properties: condition: description: Condition of the book offered at this price (e.g. new, used, digital) type: string merchant: description: Name of the merchant offering this price type: string merchant_logo: description: URL of the merchant logo image type: string merchant_logo_offset: $ref: '#/components/schemas/Point' shipping: description: Shipping cost for this offer type: string price: description: Item price excluding shipping type: string total: description: Total price including shipping type: string link: description: URL to purchase the book from this merchant type: string type: object Book: required: - title - title_long - isbn - isbn13 - date_published properties: title: description: Title type: string title_long: description: Long title (deprecated) type: string deprecated: true isbn: description: ISBN-13 (deprecated, use isbn13) type: string deprecated: true isbn13: description: ISBN-13 type: string isbn10: description: Book ISBN-10, if available type: string nullable: true dewey_decimal: description: Dewey Decimal Classification numbers assigned to the book type: array items: type: string nullable: true binding: description: Book binding type (e.g. Hardcover, Paperback, eBook) type: string nullable: true publisher: description: Name of the publisher type: string nullable: true language: description: Language of the book (ISO 639-1 code or full name) type: string nullable: true date_published: description: A publication date in YYYY-MM-DD, YYYY-MM, or YYYY format. type: string format: date example: '2023-10-26' edition: description: Edition of the book (e.g. 3rd, Revised) type: string nullable: true pages: description: Number of pages in the book type: integer nullable: true dimensions: description: Physical dimensions of the book as a formatted string (deprecated) type: string nullable: true deprecated: true dimensions_structured: description: Structured physical dimensions of the book nullable: true oneOf: - type: array items: nullable: true - type: object additionalProperties: nullable: true overview: description: Brief overview or description of the book (deprecated) type: string nullable: true deprecated: true image: description: Image link. Maximum height is 500px. type: string nullable: true image_original: description: 'Original image link. Note: This URL is temporary and will expire 2 hours after the API response is generated.' type: string nullable: true msrp: description: Manufacturer's suggested retail price type: number format: float nullable: true excerpt: description: Short excerpt from the book type: string nullable: true synopsis: description: Full synopsis or summary of the book type: string nullable: true authors: description: List of authors of the book type: array items: type: string nullable: true subjects: description: List of subjects or categories the book belongs to type: array items: type: string nullable: true reviews: description: User or editorial reviews of the book (deprecated) type: array items: type: string nullable: true deprecated: true prices: description: Available prices from various merchants type: array items: $ref: '#/components/schemas/Price' nullable: true related: description: Related books (deprecated) nullable: true deprecated: true oneOf: - type: array items: nullable: true - type: object additionalProperties: nullable: true other_isbns: description: Other ISBNs associated with this book (e.g. different formats or editions) type: array items: $ref: '#/components/schemas/RelatedIsbn' nullable: true type: object ErrorResponse: required: - message - error_message properties: message: type: string deprecated: true error_message: type: string type: object GetBooksMultipleRequest: required: - isbns properties: isbns: oneOf: - type: array items: oneOf: - type: integer - type: string - type: object additionalProperties: oneOf: - type: integer - type: string type: object GetBookResponse: required: - book properties: book: $ref: '#/components/schemas/Book' type: object Point: required: - x - y properties: x: type: string y: type: string type: object securitySchemes: ApiKeyAuth: type: apiKey name: Authorization in: header