We supply a simple API to acquire excerpt links. There are three methods for fetching excerpt links:
We currently provide a single API to fetch the entire list of excerpts that Jellybooks has available at the time of the request.
We advise requesting this list once a week in order to keep up-to-date with updates and new publications.
Note: the Feed API has different default behaviour for publisher clients. By default the feed is filtered to list only those titles published by the publisher client.
All other client types (eg booksellers) will not have a publisher filter applied.
We grant access to the API via an API key. The key can be passed as a header or URL param.
Header | JB-Discovery-Api-Key |
Param | ?jb_discovery_api_key={api_key} |
GET /discovery/api/excerpts [application/json]
Note: it is important that you set the Accept header to Accept: application/json
.
language_code |
Filters publications to return those that have a matching language code. The language_code value should correspond to the ISO 639-1 two-letter format. If option is not passed (ie unset) then all publications will be returned regardless of their language. Default: unset Note: see section "Jellybooks Web Reader UI language" if you need to ensure the User Interface is also displayed in a preferred language. |
[application/json] object response_header object generated_at datetime page number per_page number count number total_count number excerpts array object isbn13 string title string url string created_at datetime
[REQUEST] curl https://www.jellybooks.com/discovery/api/excerpts?jb_discovery_api_key={api_key} \ -H 'Accept: application/json' \ --compressed [RESPONSE] { "response_header": { "generated_at": "2022-04-25T13:21:55.742+00:00", "page": 1, "per_page": 1000000, "count": 92887, "total_count": 92887 }, "excerpts": [ { "isbn13": "9781909954342", "title": "Virgin & Child", "url": "https://www.jellybooks.com/cloud_reader/excerpts/virgin-child_9781909954342-ex/L3Leb", "created_at": "2021-01-15T20:24:02.038Z" }, { "isbn13": "9781909954410", "title": "Angelica, Paintress of Minds", "url": "https://www.jellybooks.com/cloud_reader/excerpts/angelica-paintress-of-minds_9781909954410-ex/L3Leb", "created_at": "2021-01-15T20:24:27.548Z" }, ... // thousands of entries... ... ] }
The API lists an excerpt item per ISBN. There are many instances where we have multiple ISBNs for a given publication, eg ebook, hardback and paperback. In such instances, we output the same excerpt URL for each publication variant. For example:
... { "isbn13": "9780241590294", "title": "DK Eyewitness Top 10 Provence and the Cote d'Azur", "url": "https://www.jellybooks.com/cloud_reader/excerpts/dk-eyewitness-top-10-provence-and-the-cote-d-azur_9780241590287-ex/bwells", "created_at": "2022-04-13T10:01:26.894Z" }, { "isbn13": "9780241472194", "title": "DK Eyewitness Top 10 Provence and the Cote d'Azur", "url": "https://www.jellybooks.com/cloud_reader/excerpts/dk-eyewitness-top-10-provence-and-the-cote-d-azur_9780241590287-ex/bwells", "created_at": "2022-04-13T10:01:26.894Z" }, ...
The Excerpt Changes Feed API provides a list of excerpts that have been added or updated since a given date.
This API is useful for more advanced API consumers who prefer to keep their database of excerpts up to date by only fetching details for those that have changed, rather than having to fetch the entire list of excerpts every time.
GET /discovery/api/excerpt_updates [application/json]
Note: it is important that you set the Accept header to Accept: application/json
.
updated_since |
Returns excerpts that have been changed on/after the Can be a date coded as a ISO 8601 string. Default: 7 days prior to current date. Note: this is a maximum limit of 14 days prior to current date. |
language_code |
Filters publications to return those that have a matching language code. The language_code value should correspond to the ISO 639-1 two-letter format. If option is not passed (ie unset) then all publications will be returned regardless of their language. Default: unset Note: see section "Jellybooks Web Reader UI language" if you need to ensure the User Interface is also displayed in a preferred language. |
[application/json] object response_header object generated_at datetime page number per_page number count number total_count number excerpts array object isbn13 string title string url string updated_at datetime available boolean update_reason string
[REQUEST] curl https://www.jellybooks.com/discovery/api/excerpt_updates?jb_discovery_api_key={api_key}&updated_since=2023-03-19 \ -H 'Accept: application/json' \ --compressed [RESPONSE] { "response_header": { "generated_at": "2023-03-26T20:28:13.908+00:00", "page": 1, "per_page": 1000000, "count": 123, "total_count": 123 }, "excerpts": [ { "isbn13": "9781909954342", "title": "Virgin & Child", "url": "https://www.jellybooks.com/cloud_reader/excerpts/virgin-child_9781909954342-ex/L3Leb", "updated_at": "2023-03-23T20:24:02.038Z", "available": true, "update_reason": "added" }, { "isbn13": "9781909954410", "title": "Angelica, Paintress of Minds", "url": "https://www.jellybooks.com/cloud_reader/excerpts/angelica-paintress-of-minds_9781909954410-ex/L3Leb", "updated_at": "2023-03-21T11:48:29.132Z", "available": false, "update_reason": "withdrawn" }, ... // more entries... ... ] }
We grant access to the API via an API key. The key can be passed as a header or URL param.
Header | JB-Discovery-Api-Key |
Param | ?jb_discovery_api_key={api_key} |
GET /discovery/api/excerpts/{isbn13} [application/json]
Note: it is important that you set the Accept header to Accept: application/json
.
[application/json] object response_header object generated_at datetime excerpt object isbn13 string title string url string created_at datetime
[REQUEST] curl https://www.jellybooks.com/discovery/api/excerpts/9780241243626?jb_discovery_api_key={api_key} \ -H 'Accept: application/json' \ --compressed [RESPONSE] { "response_header": { "generated_at": "2022-05-26T11:09:52.676+00:00" }, "excerpt": { "isbn13": "9780241243626", "title": "Ulysses", "url": "https://www.jellybooks.com/cloud_reader/excerpts/ulysses_9780241243626-ex/L3Leb", "created_at": "2021-05-31T13:44:00.712Z" } }
The API supplies URLs for samples that are viewed within the Jellybooks Web Reader. The Jellybooks Web Reader's interface has been translated into many languages. We leave it to clients to decide for themselves the preferred language for their needs. The default is English.
The UI language can be specified via the URL parameter locale={language_code}
. Append
this parameter to the excerpt URL returned by the API. E.g.
https://www.jellybooks.com/cloud_reader/excerpts/ulysses_9780241243626-ex/L3Leb?locale=es
Catalan | ca |
Danish | da |
Dutch | nl |
English | en (default) |
French | fr |
German | de |
Italian | it |
Portuguese (Brazil) | pt-BR |
Russian | ru |
Spanish | es |