This guide describes how to integrate ChiliFresh Cover Art into your OPAC, discovery layer or library web site.
There are two ways to integrate:
Basic request format:
https://content.chilifresh.com/?isbn=XXXXXXXXXX&size=Y
Live example:
https://content.chilifresh.com/?isbn=9780578033440&size=M
| Parameter | Type (size) | Mandatory | Description |
|---|---|---|---|
isbn | Variable characters | Yes (at least one identifier) | Item's ISBN (ISBN-10 or ISBN-13) |
upc | Variable characters | Item's UPC | |
oclc | Variable characters | Item's OCLC number, with the (OCoLC) prefix (not case sensitive), as it appears in the bibliographic record |
|
lccn | Variable characters | Item's LCCN | |
issn | Variable characters | Item's ISSN | |
size | Variable characters (1) | No | Options: S - small, M - medium, L - large. If empty or incorrect, treated as S |
generic | Boolean | No | Default true: if no actual cover exists, a generic placeholder image (book title/author) is returned. Set generic=false to disable generic images |
showerror | Boolean | No | Default false: if no image is returned, the output is a blank 1×1 px GIF. Set showerror=true to return an HTTP 404 error instead |
At least one identifier parameter (isbn, upc, oclc, lccn or issn) must be present. Any identifier parameter accepts multiple values as a comma-separated list, and several identifier parameters can be combined in one request — see below.
The following item identifiers are accepted as request parameters:
| Parameter | Identifier | Notes |
|---|---|---|
isbn | ISBN | ISBN-10 or ISBN-13 |
upc | UPC | |
oclc | OCLC number | Currently expected with the (OCoLC) prefix (not case sensitive), exactly as the number appears in the bibliographic record — including any ocm/ocn/on prefixes if present. See examples below |
lccn | LCCN | |
issn | ISSN |
Each identifier parameter accepts either a single value or multiple values as a comma-separated list.
Provide multiple identifiers at once — pass all identifiers you have on the bibliographic record in a single request:
https://content.chilifresh.com/?isbn=9780578033440&oclc=(OCoLC)4048055&size=M
Identifiers are processed in the order provided and the first existing cover image is returned. Supplying every identifier you have (ISBN, UPC, OCLC, …) maximizes the chance of retrieving a cover.
The same applies to multiple values of the same identifier type: pass them as a comma-separated list — they are processed in order and the first match is returned. Example with several ISBNs from one record:
https://content.chilifresh.com/?isbn=9780578033440,0807282588&size=M
OCLC number examples (as they appear in bibliographic records):
https://content.chilifresh.com/?oclc=(OCoLC)ocm50035236&size=M https://content.chilifresh.com/?oclc=(OCoLC)ocn933282680&size=M https://content.chilifresh.com/?oclc=(OCoLC)on1021885771&size=M https://content.chilifresh.com/?oclc=(OCoLC)pcl00007081&size=M https://content.chilifresh.com/?oclc=(OCoLC)4048055&size=M
Three image sizes are available via the size parameter:
| Size | Value | Max dimensions | Example (isbn=0807282588) |
|---|---|---|---|
| Small | S | 70 x 100 px | |
| Medium | M | 150 x 240 px | |
| Large | L | 300 x 480 px | |
If the size parameter is omitted (or invalid), the small image is returned.
generic=false to the retrieval URL:https://content.chilifresh.com/?isbn=9780578033440&size=M&generic=false
showerror=true to the retrieval URL:https://content.chilifresh.com/?isbn=9780578033440&size=M&generic=false&showerror=true
Custom placeholder: you can also provide your own placeholder image to be displayed instead of the ChiliFresh generic image — contact support@chilifresh.com to set this up.
| Description | Request URL |
|---|---|
| Small cover (default size) | https://content.chilifresh.com/?isbn=0807282588 |
| Medium cover | https://content.chilifresh.com/?isbn=0807282588&size=M |
| Large cover | https://content.chilifresh.com/?isbn=0807282588&size=L |
| Multiple ISBNs (first match returned) | https://content.chilifresh.com/?isbn=9780578033440,0807282588&size=M |
| Multiple identifier types | https://content.chilifresh.com/?isbn=9780578033440&oclc=(OCoLC)4048055&size=M |
| OCLC number | https://content.chilifresh.com/?oclc=(OCoLC)ocm50035236&size=M |
| No generic image, 404 on miss | https://content.chilifresh.com/?isbn=9780578033440&generic=false&showerror=true |
For client-side integrations, ChiliFresh provides a small dependency-free JavaScript library that builds cover URLs, injects the <img> elements and handles items without covers (hide the element, or show your own placeholder). It uses the direct image retrieval method described above — no extra API calls are made.
Remember: add your catalog/web page hostnames in ChiliFresh Admin panel → Covered hosts before going live.
Mark elements with data-cf-* attributes and include the script with the data-cf-auto attribute — the library scans the page and inserts the cover images automatically:
<span data-cf-isbn="9780578033440" data-cf-size="M"></span> <script src="https://content.chilifresh.com/js/chilifresh-covers.js" data-cf-auto></script>
Supported element attributes:
| Attribute | Description |
|---|---|
data-cf-isbn | Item's ISBN(s). All identifier attributes accept multiple values, comma-separated |
data-cf-upc | Item's UPC(s) |
data-cf-oclc | Item's OCLC number(s), with the (OCoLC) prefix |
data-cf-lccn | Item's LCCN(s) |
data-cf-issn | Item's ISSN(s) |
data-cf-size | S, M or L (default S) |
data-cf-generic | Set to false to disable generic title/author placeholder images |
data-cf-alt | Alt text for the inserted image |
data-cf-class | CSS class(es) added to the inserted image |
data-cf-fallback | URL of your own image to display when no cover exists |
data-cf-hide-on-miss | Set to false to keep the element visible when no cover exists (default: element is hidden) |
data-cf-detect | Miss detection mode: error (default, uses HTTP 404 via showerror=true), pixel (detects the blank 1×1 px image; no 404s in the browser console) or none |
Several identifier attributes can be combined on one element — one request is made and the first existing cover is returned:
<span data-cf-isbn="9780578033440,0807282588" data-cf-oclc="(OCoLC)4048055" data-cf-size="M"></span>
The library exposes a global ChiliFreshCovers object (also usable as a CommonJS module):
| Function | Description |
|---|---|
ChiliFreshCovers.url(opts) | Returns a cover image URL built from the given options. Identifier options (isbn, upc, oclc, lccn, issn) accept a string or an array (sent as a comma-separated list); plus size, generic, showerror |
ChiliFreshCovers.load(target, opts) | Inserts a cover into target (element or CSS selector; an <img> element gets its src set, any other element gets an <img> appended). Returns a Promise resolving to {found, img, url}. Extra options: alt, className, detect, fallbackSrc, hideOnMiss, onMiss |
ChiliFreshCovers.auto(root) | Scans root (default: whole document) for data-cf-* elements and loads all covers. Useful after rendering search results via AJAX. Returns a Promise |
Examples:
// Build a URL only var url = ChiliFreshCovers.url({ isbn: '9780578033440', size: 'L' }); // Load a cover, with your own placeholder on miss ChiliFreshCovers.load('#cover', { isbn: ['9780578033440', '0807282588'], // arrays become comma-separated lists oclc: '(OCoLC)4048055', size: 'M', generic: false, fallbackSrc: '/img/no-cover.png' }).then(function (result) { console.log('cover found:', result.found); }); // Re-scan the page after AJAX-rendered results ChiliFreshCovers.auto(document.getElementById('search-results'));
After each element is processed, the library sets data-cf-status=“found” or data-cf-status=“miss” on it, so miss states can also be styled purely with CSS.
If your application needs to know whether a cover exists before rendering (e.g. to control layout, caching or fallbacks), use the Covers API. It returns availability flags and cover URLs for each size, with XML and JSON output.
https://content.chilifresh.com/api/https://content.chilifresh.com/api/json/Full reference: Covers (RESTful) API
Authorization for image display is managed through white-listing in the ChiliFresh Admin panel → Covered hosts. Enter there:
Please note:
| Integration type | How it works | Whitelist entry | Examples |
|---|---|---|---|
| Client-side | The catalog page includes the ChiliFresh image URL directly in its HTML; the patron's browser retrieves the image | Catalog / web page hostnames | Innovative Polaris (live example), Innovative Encore, SirsiDynix Enterprise |
| Server-side | The catalog server retrieves (and typically caches) the image from ChiliFresh and serves it to patrons itself | Server IP address(es) | Evergreen, Aspen Discovery |
Questions about integration, custom placeholder images or white-listing: support@chilifresh.com.