API v2¶
The Wagtail API v2 is built on Django REST framework and provides programmatic access to Tate's content. This API is being developed on a needs basis and currently serves various teams including e-commerce (events data), collection systems (archive details), and general content access.
Base URL¶
https://www.tate.org.uk/api/v2/
Available Endpoints¶
- Artists:
/api/v2/artists/ - Artworks:
/api/v2/artworks/ - Archives:
/api/v2/archives/ - Events:
/api/v2/events/ - Pages:
/api/v2/pages/ - Images:
/api/v2/images/ - Documents:
/api/v2/documents/
Common Parameters¶
Fields¶
Use ?fields= to specify which fields to return. Multiple fields can be comma-separated:
?fields=title,url,acno
Use ?fields=* to return all available fields:
?fields=*
Pagination¶
- limit: Number of items per page (default: 20)
- offset: Number of items to skip
?limit=10&offset=20
Ordering¶
Use ?order= to sort results:
?order=title # Ascending
?order=-title # Descending
Artists Endpoint¶
Overview¶
Access artist information including biographical data and metadata.
Filtering¶
- By CIS ID:
?cis_id=2121
Direct Lookup¶
Artists can be accessed directly by CIS ID:
/api/v2/artists/2121/
Examples¶
# Get artist by CIS ID (filter)
GET /api/v2/artists/?cis_id=2121&fields=*
# Get artist by CIS ID (direct lookup)
GET /api/v2/artists/2121/
# Get specific fields
GET /api/v2/artists/?cis_id=2121&fields=title,fc,birthYear,deathYear
Artworks Endpoint¶
Overview¶
Access artwork information including accession numbers, dimensions, and metadata.
Filtering¶
- By Accession Number:
?acno=T00001
Examples¶
# Get artwork by accession number
GET /api/v2/artworks/?acno=T00001&fields=*
# Get specific fields
GET /api/v2/artworks/?acno=T00001&fields=title,acno,allArtists,dateText
Archives Endpoint¶
Overview¶
Access archive and library collection items with detailed metadata.
Filtering¶
- By TGA Reference:
?tga=tga-729-3-1 - By CIS ID:
?cis_id=279413
Available Fields¶
When using fields=*, the following fields are available:
- Basic:
title,url,cis_id,acno,tga - Descriptive:
description,physicalDescription,dimensions,medium - Dates:
dateText,start_year,end_year,acquisitionYear - Access:
accessStatus,isByAppointment,isLoanedOut,onDisplayAtTate - Related:
allArtists,subjects,collection,parentRef - Administrative:
cisStatus,tate_status,popularity
Examples¶
# Get archive by TGA reference
GET /api/v2/archives/?tga=tga-729-3-1&fields=*
# Get archive URL by CIS ID
GET /api/v2/archives/?cis_id=279413&fields=url
# Get multiple specific fields
GET /api/v2/archives/?tga=tga-729-3-1&fields=title,acno,description,dateText
Events Endpoint¶
Overview¶
Access event information with extensive filtering options for different event types, audiences, and dates.
Filtering¶
Event Type (?event_type=)¶
exhibitioncollection_routefilmtourtalkworkshopprivate_viewcoursefood_and_drinklateperformancefestivalaccessawardconferenceonline
Audience Type (?audience_type=)¶
accessadult_learnersfamiliesgeneralgroupsmembersresearchersschoolsyoung_people
Date Range (?date_range=)¶
from_now- Future eventstoday- Today's events
Price (?price=)¶
freepaid
Other Filters¶
- Member Exhibition:
?member_current_exhibition=true - Gallery Group:
?gallery_group=tate_liverpool
Examples¶
# Get all future exhibitions
GET /api/v2/events/?event_type=exhibition&date_range=from_now&fields=*
# Get free family events
GET /api/v2/events/?audience_type=families&price=free&fields=title,start_datetime,end_datetime
# Get today's events at Tate Liverpool
GET /api/v2/events/?date_range=today&gallery_group=tate_liverpool&limit=50
Pages / Images / Documents Endpoints¶
These endpoints are part of Wagtail's core API implementation, please refer to the Wagtail API docs for more information.
Response Format¶
All endpoints return JSON responses with the following structure:
{
"meta": {
"total_count": 150
},
"items": [
{
"id": 12345,
"meta": {
"type": "art.ArtworkPage",
"detail_url": "http://localhost:8000/api/v2/pages/12345/"
},
"title": "Example Artwork",
// ... other fields
}
]
}
Error Handling¶
The API returns standard HTTP status codes:
200 OK- Successful request400 Bad Request- Invalid parameters404 Not Found- Resource not found500 Internal Server Error- Server error
Error responses include a descriptive message:
{
"message": "acno is not supported for this page type"
}
Rate Limiting¶
The API currently does not enforce rate limiting, but please be considerate with request frequency.
Authentication¶
The API v2 endpoints are currently public and do not require authentication.
Best Practices¶
- Use field filtering: Only request the fields you need to reduce response size
- Implement pagination: Use
limitandoffsetfor large result sets - Cache responses: Implement appropriate caching on the client side
- Handle errors gracefully: Always check for error responses
- Use direct lookups when possible: Direct lookups (e.g.,
/api/v2/artists/2121/) are more efficient than filtering
Support¶
For API issues or feature requests, please contact the development team.