openapi: 3.2.0
info:
title: ISBNdb API v2 Search 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: Search
description: Search
paths:
/search/authors:
get:
tags:
- Search
summary: Search all ISBNDB databases
description: "\n*Deprecated* use /authors/{query}\n \nUses a determined index and query string to search in any of the ISBNDB's databases"
operationId: get_app_api_search_searchauthors__invoke
parameters:
- name: text
in: query
required: true
schema:
type: string
- name: page
in: query
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
required: false
schema:
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
type:
- integer
- 'null'
default: 1
- name: pageSize
in: query
description: How many items should be returned per page, maximum of 1,000
required: false
schema:
description: How many items should be returned per page, maximum of 1,000
type:
- integer
- 'null'
default: 20
responses:
'200':
description: The query string found results in the author's database
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBaseResponse'
deprecated: true
security:
- ApiKeyAuth: []
/search/books:
get:
tags:
- Search
summary: Search all ISBNDB databases
description: Uses a determined index and query string to search in any of the ISBNDB's databases
operationId: get_app_api_search_searchbooks__invoke
parameters:
- name: page
in: query
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
required: false
schema:
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
type:
- integer
- 'null'
default: 1
- name: pageSize
in: query
description: How many items should be returned per page, maximum of 1,000
required: false
schema:
description: How many items should be returned per page, maximum of 1,000
type:
- integer
- 'null'
default: 20
- name: isbn
in: query
description: an ISBN 10 in the Books database
required: false
schema:
description: an ISBN 10 in the Books database
type:
- string
- 'null'
maxLength: 20
- name: isbn13
in: query
description: an ISBN 13 in the Books database
required: false
schema:
description: an ISBN 13 in the Books database
type:
- string
- 'null'
maxLength: 20
- name: author
in: query
description: The name of an author in the Author's database
required: false
schema:
description: The name of an author in the Author's database
type:
- string
- 'null'
maxLength: 150
- name: text
in: query
description: A string to search for determinated index database
required: false
schema:
description: A string to search for determinated index database
type:
- string
- 'null'
maxLength: 150
- name: subject
in: query
description: A subject in the Subject's database
required: false
schema:
description: A subject in the Subject's database
type:
- string
- 'null'
maxLength: 150
- name: publisher
in: query
description: The name of a publisher in the Publisher's database
required: false
schema:
description: The name of a publisher in the Publisher's database
type:
- string
- 'null'
maxLength: 150
- name: publishedFrom
in: query
description: 'Filter books published on or after this date. Accepted formats: `YYYY`, `YYYY-MM`, `YYYY-MM-DD`. Cannot be combined with the `year` parameter.'
required: false
schema:
description: 'Filter books published on or after this date. Accepted formats: `YYYY`, `YYYY-MM`, `YYYY-MM-DD`. Cannot be combined with the `year` parameter.'
type:
- string
- 'null'
pattern: .*(^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01]))?)?$).*
default: null
- name: publishedTo
in: query
description: 'Filter books published on or before this date. Accepted formats: `YYYY`, `YYYY-MM`, `YYYY-MM-DD`. Cannot be combined with the `year` parameter.'
required: false
schema:
description: 'Filter books published on or before this date. Accepted formats: `YYYY`, `YYYY-MM`, `YYYY-MM-DD`. Cannot be combined with the `year` parameter.'
type:
- string
- 'null'
pattern: .*(^\d{4}(-(0[1-9]|1[0-2])(-(0[1-9]|[12]\d|3[01]))?)?$).*
default: null
responses:
'200':
description: The query string found results in the books's database
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBookResponse'
security:
- ApiKeyAuth: []
/search/publishers:
get:
tags:
- Search
summary: Search all ISBNDB databases
description: "\n*Deprecated* use /publishers/{query}\n \nUses a determined index and query string to search in any of the ISBNDB's databases"
operationId: get_app_api_search_searchpublishers__invoke
parameters:
- name: text
in: query
required: true
schema:
type: string
- name: page
in: query
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
required: false
schema:
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
type:
- integer
- 'null'
default: 1
- name: pageSize
in: query
description: How many items should be returned per page, maximum of 1,000
required: false
schema:
description: How many items should be returned per page, maximum of 1,000
type:
- integer
- 'null'
default: 20
responses:
'200':
description: The query string found results in the publisher's database
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBaseResponse'
deprecated: true
security:
- ApiKeyAuth: []
/search/subjects:
get:
tags:
- Search
summary: Search all ISBNDB databases
description: "\n*Deprecated* use /publishers/{query}\n \nUses a determined index and query string to search in any of the ISBNDB's databases"
operationId: get_app_api_search_searchsubjects__invoke
parameters:
- name: text
in: query
required: true
schema:
type: string
- name: page
in: query
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
required: false
schema:
description: The number of page to retrieve, please note the API will not return more than 10,000 results no matter how you paginate them
type:
- integer
- 'null'
default: 1
- name: pageSize
in: query
description: How many items should be returned per page, maximum of 1,000
required: false
schema:
description: How many items should be returned per page, maximum of 1,000
type:
- integer
- 'null'
default: 20
responses:
'200':
description: The query string found results in the subjects's database
content:
application/json:
schema:
$ref: '#/components/schemas/SearchBaseResponse'
deprecated: true
security:
- ApiKeyAuth: []
components:
schemas:
SearchBookResponse:
required:
- data
- total
- page
- page_size
properties:
data:
type: array
items:
$ref: '#/components/schemas/Book'
total:
type: integer
page:
type: integer
page_size:
type: integer
type: object
Point:
required:
- x
- y
properties:
x:
type: string
y:
type: string
type: object
Book:
required:
- title
- title_long
- isbn
- isbn13
- date_published
properties:
title:
description: Title
type: string
title_long:
description: Title
type: string
deprecated: true
isbn:
description: ISBN-13
type: string
deprecated: true
isbn13:
description: ISBN-13
type: string
isbn10:
description: Book ISBN-10, if available
type:
- string
- 'null'
binding:
description: Book binding type (e.g. Hardcover, Paperback, eBook)
type:
- string
- 'null'
publisher:
description: Name of the publisher
type:
- string
- 'null'
language:
description: Language of the book (ISO 639-1 code or full name)
type:
- string
- 'null'
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
- 'null'
pages:
description: Number of pages in the book
type:
- integer
- 'null'
dimensions:
description: Physical dimensions of the book as a formatted string
type:
- string
- 'null'
deprecated: true
dimensions_structured:
description: Structured physical dimensions of the book (height, width, weight, etc.)
oneOf:
- type: array
items: {}
- type: object
additionalProperties: {}
overview:
description: Brief overview or description of the book
type:
- string
- 'null'
deprecated: true
image:
description: Image link. Maximum height is 500px.
type:
- string
- 'null'
image_original:
description: 'Original image link. Note: This URL is temporary and will expire 2 hours after the API response is generated.'
type:
- string
- 'null'
msrp:
description: Manufacturer's suggested retail price
type:
- number
- 'null'
format: float
excerpt:
description: Short excerpt from the book
type:
- string
- 'null'
synopsis:
description: Full synopsis or summary of the book
type:
- string
- 'null'
authors:
description: List of authors of the book
type:
- array
- 'null'
items:
type: string
subjects:
description: List of subjects or categories the book belongs to
type:
- array
- 'null'
items:
type: string
reviews:
description: User or editorial reviews of the book
type:
- array
- 'null'
items:
type: string
deprecated: true
prices:
description: Available prices from various merchants
type:
- array
- 'null'
items:
$ref: '#/components/schemas/Price'
related:
description: Related books
deprecated: true
oneOf:
- type: array
items: {}
- type: object
additionalProperties: {}
other_isbns:
description: Other ISBNs associated with this book (e.g. different formats or editions)
type:
- array
- 'null'
items:
$ref: '#/components/schemas/RelatedIsbn'
type: object
SearchBaseResponse:
required:
- name
- data
- total
- page
- page_size
properties:
name:
type: string
data:
type: array
items:
type: string
total:
type: integer
page:
type: integer
page_size:
type: integer
type: object
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
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
securitySchemes:
ApiKeyAuth:
type: apiKey
name: Authorization
in: header