Skip to main content

Catalogue (v2)

Download OpenAPI specification:Download

Search our collections.

The Catalogue API exposes Wellcome Collection's catalogue of works, the images derived from them, and the concepts used to describe them.

Unrecognised query parameters are ignored rather than rejected, so a misspelled filter silently returns unfiltered results. Check your parameter names against this document.

Works

Individual works: books, archives, pictures, and groupings of them.

/works

Returns a paginated list of works

query Parameters
query
string

Full-text search query

include
Array of strings
Items Enum: "identifiers" "items" "holdings" "subjects" "genres" "contributors" "production" "languages" "notes" "formerFrequency" "designation" "images" "parts" "partOf" "precededBy" "succeededBy"

A comma-separated list of extra fields to include

aggregations
Array of strings
Items Enum: "workType" "genres.label" "genres" "production.dates" "subjects.label" "subjects" "languages" "contributors.agent.label" "contributors.agent" "items.locations.license" "availabilities"

What aggregated data in correlation to the results should we return.

The id-based variants (genres, subjects, contributors.agent) are returned under the same response key as their label-based counterparts (genres.label, subjects.label, contributors.agent.label); requesting the id variant populates the id field of each bucket's data.

sort
Array of strings
Items Enum: "production.dates" "items.locations.createdDate"

Which field to sort the results on

sortOrder
string
Default: "asc"
Enum: "asc" "desc"

The order in which to return the results

page
integer <int64> >= 1
Default: 1

The page to return from the result list

pageSize
integer <int64> [ 1 .. 100 ]
Default: 10

The number of results to return per page

items.locations.accessConditions.status
Array of strings
Items Enum: "open" "open-with-advisory" "restricted" "closed" "licensed-resources" "unavailable" "permission-required"

Filter by the access status of items on the retrieved works. A comma-separated list of AccessStatus ids. Prefix a value with ! to exclude it instead, e.g. !closed.

workType
string

Filter by the format of the searched works. A comma-separated list of Format ids, e.g. a,k.

type
string
Enum: "Collection" "Series" "Section"

Filter by the type of the searched works

languages
string

Filter by language. A comma-separated list of ISO 639-2 language ids.

genres.label
string

Filter by genre label. A comma-separated list of labels.

genres
string

Filter by genre id. A comma-separated list of concept ids.

subjects.label
string

Filter by subject label. A comma-separated list of labels.

subjects
string

Filter by subject id. A comma-separated list of concept ids.

contributors.agent.label
string

Filter by contributor label. A comma-separated list of labels.

contributors.agent
string

Filter by contributor id. A comma-separated list of concept ids.

identifiers
string

Filter by identifier value. A comma-separated list of identifiers.

availabilities
string

Filter by availability. A comma-separated list of Availability ids, e.g. online,open-shelves.

partOf
string

Filter by the id of an ancestor work.

partOf.title
string

Filter by the title of an ancestor work.

items
string

Filter by item id. A comma-separated list of item ids.

items.identifiers
string

Filter by item identifier value. A comma-separated list of identifiers.

items.locations.locationType
string

Filter by the LocationType of items on the retrieved works. A comma-separated list of LocationType ids.

items.locations.license
string

Filter by the license of items on the retrieved works. A comma-separated list of License ids.

production.dates.from
string <date>

Return works produced on or after this date, in YYYY-MM-DD format.

production.dates.to
string <date>

Return works produced on or before this date, in YYYY-MM-DD format.

items.locations.createdDate.from
string <date>

Return works with an item location created on or after this date, in YYYY-MM-DD format.

items.locations.createdDate.to
string <date>

Return works with an item location created on or before this date, in YYYY-MM-DD format.

Responses

Response samples

Content type
application/json
{
  • "type": "ResultList",
  • "pageSize": 0,
  • "totalPages": 0,
  • "totalResults": 0,
  • "results": [
    ],
  • "prevPage": "string",
  • "nextPage": "string",
  • "aggregations": {
    }
}

/works/{id}

Returns a single work

path Parameters
id
required
string

The canonical identifier of the record to return.

query Parameters
include
Array of strings
Items Enum: "identifiers" "items" "holdings" "subjects" "genres" "contributors" "production" "languages" "notes" "formerFrequency" "designation" "images" "parts" "partOf" "precededBy" "succeededBy"

A comma-separated list of extra fields to include

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "alternativeTitles": [
    ],
  • "referenceNumber": "string",
  • "description": "string",
  • "physicalDescription": "string",
  • "workType": {
    },
  • "lettering": "string",
  • "createdDate": {
    },
  • "contributors": [
    ],
  • "identifiers": [
    ],
  • "subjects": [
    ],
  • "genres": [
    ],
  • "thumbnail": {
    },
  • "items": [
    ],
  • "holdings": [
    ],
  • "availabilities": [
    ],
  • "production": [
    ],
  • "languages": [
    ],
  • "edition": "string",
  • "notes": [
    ],
  • "duration": 0,
  • "currentFrequency": "string",
  • "formerFrequency": [
    ],
  • "designation": [
    ],
  • "images": [
    ],
  • "parts": [
    ],
  • "partOf": [
    ],
  • "precededBy": [
    ],
  • "succeededBy": [
    ],
  • "type": "Work"
}

Images

Images derived from the works in our collections.

/images

Returns a paginated list of images

query Parameters
query
string

Full-text search query

include
Array of strings
Items Enum: "source.contributors" "source.languages" "source.genres" "source.subjects"

A comma-separated list of extra fields to include

aggregations
Array of strings
Items Enum: "locations.license" "source.contributors.agent.label" "source.contributors.agent" "source.genres.label" "source.genres" "source.subjects.label" "source.subjects"

What aggregated data in correlation to the results should we return.

locations.license is returned under the response key license. The id-based variants (source.genres, source.subjects, source.contributors.agent) are returned under the same response key as their label-based counterparts; requesting the id variant populates the id field of each bucket's data.

sort
Array of strings
Items Value: "source.production.dates"

Which field to sort the results on

sortOrder
string
Default: "asc"
Enum: "asc" "desc"

The order in which to return the results

page
integer <int64> >= 1
Default: 1

The page to return from the result list

pageSize
integer <int64> [ 1 .. 100 ]
Default: 10

The number of results to return per page

color
string^[0-9a-fA-F]{6}$

Filter by the colours of the image, given as a single hex colour without a leading #, e.g. ff6700.

locations.license
string

Filter by the license of the image. A comma-separated list of License ids.

source.contributors.agent.label
string

Filter by the label of a contributor to the source work. A comma-separated list of labels.

source.contributors.agent
string

Filter by the id of a contributor to the source work. A comma-separated list of concept ids.

source.genres.label
string

Filter by the genre label of the source work. A comma-separated list of labels.

source.genres
string

Filter by the genre id of the source work. A comma-separated list of concept ids.

source.subjects.label
string

Filter by the subject label of the source work. A comma-separated list of labels.

source.subjects
string

Filter by the subject id of the source work. A comma-separated list of concept ids.

source.production.dates.from
string <date>

Return images whose source work was produced on or after this date, in YYYY-MM-DD format.

source.production.dates.to
string <date>

Return images whose source work was produced on or before this date, in YYYY-MM-DD format.

Responses

Response samples

Content type
application/json
{
  • "type": "ResultList",
  • "pageSize": 0,
  • "totalPages": 0,
  • "totalResults": 0,
  • "results": [
    ],
  • "prevPage": "string",
  • "nextPage": "string",
  • "aggregations": {
    }
}

/images/{id}

Returns a single image

path Parameters
id
required
string

The canonical identifier of the record to return.

query Parameters
include
Array of strings
Items Enum: "withSimilarFeatures" "source.contributors" "source.languages" "source.genres" "source.subjects"

A comma-separated list of extra fields to include. withSimilarFeatures is only available on this endpoint, not on /images.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "thumbnail": {
    },
  • "locations": [
    ],
  • "aspectRatio": 0.1,
  • "averageColor": "string",
  • "source": {
    },
  • "withSimilarFeatures": [
    ],
  • "type": "Image"
}

Concepts

The people, places, subjects and genres used to describe works.

/concepts

Returns a paginated list of concepts

query Parameters
query
string

Full-text search query

identifiers.identifierType
string

Filter the concepts by IdentifierType ID

id
string

A comma-separated list of concept ids to fetch directly.

When supplied, all other filters and pagination parameters are ignored: the concepts are fetched in a single batch, returned in the order requested, and ids that do not exist are silently omitted. The response has totalPages: 1 and no prevPage or nextPage.

page
integer <int64> >= 1
Default: 1

The page to return from the result list

pageSize
integer <int64> [ 1 .. 100 ]
Default: 10

The number of results to return per page

Responses

Response samples

Content type
application/json
{
  • "type": "ResultList",
  • "pageSize": 0,
  • "totalPages": 0,
  • "totalResults": 0,
  • "results": [
    ],
  • "prevPage": "string",
  • "nextPage": "string"
}

/concepts/{id}

Returns a single concept

path Parameters
id
required
string

The canonical identifier of the record to return.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "label": "string",
  • "displayLabel": "string",
  • "alternativeLabels": [
    ],
  • "description": {
    },
  • "identifiers": [
    ],
  • "relatedConcepts": {
    },
  • "sameAs": [
    ],
  • "displayImages": [
    ],
  • "type": "Agent"
}