String docs
Site integrations

Curzon

Curzon cinemas in the UK: every venue with its address and location, a venue's showtimes on a day with format, accessibility attributes, certificate and booking link, and a showtime's seat map with each seat's status and adult price.

Call these actions with your String API key; see Authentication. Every call answers with the envelope described in Responses & errors, whose data holds the rows below.

  • Site: curzon
  • Version: 1.0.0
  • Reads from: www.curzon.com
ActionDescriptionListed price
cinemasList Curzon's cinemas, about 14 venues across London and the south of England, each with its id, address, city, postcode, coordinates and page. Filter by text, postcode prefix or town. The cinemaId is what showtimes takes.Billed per request at your plan's rates
showtimesList a Curzon venue's showtimes on one day, by venue id or venue page URL: film, start time with the UK offset, format, labels such as open captioned or members preview, screen, certificate, running time, whether it is sold out, and the booking link. The showtimeId is what seats takes.Billed per request at your plan's rates
seatsRead a Curzon showtime's seat map, by showtime id or booking URL: every seat with its row, number, area, type (standard, sofa, wheelchair and so on), whether it is available, sold or held, and the adult ticket price for its area. It reads what the seat picker shows before a booking starts, so it never holds a seat.Billed per request at your plan's rates

cinemas

List Curzon's cinemas, about 14 venues across London and the south of England, each with its id, address, city, postcode, coordinates and page. Filter by text, postcode prefix or town. The cinemaId is what showtimes takes.

POST https://request.usestring.ai/v1/integrations/curzon/cinemas

Input

Unknown fields are rejected.

FieldTypeDescription
querystringKeep venues whose name, address, city or postcode contains this text, ignoring case, such as soho.
postcodestringKeep venues whose postcode starts with this, ignoring case and spaces, such as W1 or SW1E 6QW.
locationstringKeep venues whose city or address contains this town or area, ignoring case, such as London or Oxford.
limitintegerThe most venues to return. Every match by default. At least 1.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
cinemaIdstringThe venue's id, such as SOH1, which showtimes takes.
namestringThe venue's name, such as Soho.
addressstringThe street address, without the city and postcode.
citystringThe town or city, as the venue lists it.
postcodestringThe UK postcode.
countrystringThe ISO 3166-1 alpha-2 country code, GB.
latitudenumber | nullThe venue's latitude.
longitudenumber | nullThe venue's longitude.
urlstringThe venue's page on curzon.com.
chainstringThe cinema chain, Curzon.

Example

curl https://request.usestring.ai/v1/integrations/curzon/cinemas \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "location": "London"
  }'

data starts with these rows:

[
  {
    "cinemaId": "ALD1",
    "name": "Aldgate",
    "address": "2 Canter Way",
    "city": "London",
    "postcode": "E1 8PS",
    "country": "GB",
    "latitude": 51.5139007568359,
    "longitude": -0.0689999982714653,
    "url": "https://www.curzon.com/venues/aldgate/",
    "chain": "Curzon"
  },
  {
    "cinemaId": "BLO1",
    "name": "Bloomsbury",
    "address": "The Brunswick Centre",
    "city": "London",
    "postcode": "WC1N 1AW",
    "country": "GB",
    "latitude": 51.5247001647949,
    "longitude": -0.123000003397465,
    "url": "https://www.curzon.com/venues/bloomsbury/",
    "chain": "Curzon"
  },
  {
    "cinemaId": "CAM1",
    "name": "Camden",
    "address": "Dockray Place",
    "city": "London",
    "postcode": "NW1 8QD",
    "country": "GB",
    "latitude": 51.5423011779785,
    "longitude": -0.143399998545647,
    "url": "https://www.curzon.com/venues/camden/",
    "chain": "Curzon"
  }
]

Requests and billing

  • Requests: 1 Web Access request per call, plus up to 1 setup request per call.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.

showtimes

List a Curzon venue's showtimes on one day, by venue id or venue page URL: film, start time with the UK offset, format, labels such as open captioned or members preview, screen, certificate, running time, whether it is sold out, and the booking link. The showtimeId is what seats takes.

POST https://request.usestring.ai/v1/integrations/curzon/showtimes

Input

Unknown fields are rejected.

FieldTypeDescription
cinemaIdstringRequired. The venue: its id from cinemas, such as SOH1, or its page URL, such as https://www.curzon.com/venues/soho/. At least 1 character.
datestringThe day, as YYYY-MM-DD. Defaults to today in the UK. Matches ^\d{4}-\d{2}-\d{2}$.
filmIdstringKeep only this film's showtimes, by the filmId a showtime row carries, such as HO00007378.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
showtimeIdstringThe showtime's id, such as SOH1-57984, which seats takes.
cinemaIdstringThe venue's id.
filmIdstringThe film's id.
filmTitlestringThe film's title.
startTimestringWhen the showtime starts, trailers included, in RFC 3339 with the venue's UK offset.
format2D 3D IMAX 4DX ScreenX DolbyThe presentation: 2D, 3D, IMAX, 4DX, ScreenX or Dolby.
attributesstring[] | nullThe showtime's other labels in lower case, such as open captioned, relaxed, members preview or special preview.
screenstringThe screen, such as Screen 2.
bookingUrlstringThe page on curzon.com that books this showtime.
soldOutbooleanWhether every seat is sold.
ratingstring | nullThe BBFC certificate, such as 12A or 15, or TBC.
runtimeMinutesinteger | nullThe film's running time in minutes.

Example

curl https://request.usestring.ai/v1/integrations/curzon/showtimes \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "cinemaId": "SOH1",
    "date": "2026-10-31"
  }'

data starts with these rows:

[
  {
    "showtimeId": "SOH1-58077",
    "cinemaId": "SOH1",
    "filmId": "HO00007405",
    "filmTitle": "NAZA",
    "startTime": "2026-10-31T16:40:00+00:00",
    "format": "2D",
    "attributes": [],
    "screen": "Screen 3",
    "bookingUrl": "https://www.curzon.com/ticketing/seats/SOH1-58077/",
    "soldOut": false,
    "rating": "15",
    "runtimeMinutes": 80
  },
  {
    "showtimeId": "SOH1-58108",
    "cinemaId": "SOH1",
    "filmId": "HO00007430",
    "filmTitle": "Ken Russell's The Devils",
    "startTime": "2026-10-31T17:40:00+00:00",
    "format": "2D",
    "attributes": [],
    "screen": "Screen 2",
    "bookingUrl": "https://www.curzon.com/ticketing/seats/SOH1-58108/",
    "soldOut": false,
    "rating": "18",
    "runtimeMinutes": 114
  },
  {
    "showtimeId": "SOH1-57594",
    "cinemaId": "SOH1",
    "filmId": "HO00007350",
    "filmTitle": "Wild Horse Nine",
    "startTime": "2026-10-31T18:00:00+00:00",
    "format": "2D",
    "attributes": ["members preview", "special preview"],
    "screen": "Screen 1",
    "bookingUrl": "https://www.curzon.com/ticketing/seats/SOH1-57594/",
    "soldOut": false,
    "rating": "15",
    "runtimeMinutes": 117
  }
]

Requests and billing

  • Requests: 1–2 Web Access requests per call, plus up to 1 setup request per call.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.

seats

Read a Curzon showtime's seat map, by showtime id or booking URL: every seat with its row, number, area, type (standard, sofa, wheelchair and so on), whether it is available, sold or held, and the adult ticket price for its area. It reads what the seat picker shows before a booking starts, so it never holds a seat.

POST https://request.usestring.ai/v1/integrations/curzon/seats

Input

Unknown fields are rejected.

FieldTypeDescription
showtimeIdstringRequired. The showtime: its id from showtimes, such as SOH1-57984, or its booking URL, such as https://www.curzon.com/ticketing/seats/SOH1-57984/. At least 1 character.

Output

data is an array of rows, one per result. Each row has:

FieldTypeDescription
showtimeIdstringThe showtime's id.
seatIdstringThe seat's id within the screen, area_row_column, such as 1_3_7.
rowstringThe row's label, such as G.
numberstringThe seat's number in its row, as printed on the ticket.
areastringThe seating area, such as Standard or Premium.
typestringThe seat: standard, sofa (one half of a two-seat sofa), wheelchair, companion, recliner or premium; another kind the site adds is passed through in lower case.
statusavailable sold reserved unavailableavailable, sold, reserved (held back by the venue) or unavailable.
pricenumber | nullThe full adult ticket price for this seat's area, tax and seat included and the per-order booking fee not, in currency.
currencystring | nullThe price's ISO 4217 currency, GBP.

Example

curl https://request.usestring.ai/v1/integrations/curzon/seats \
  -H "Authorization: Bearer $STRING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "showtimeId": "SOH1-57608"
  }'

data starts with these rows:

[
  {
    "showtimeId": "SOH1-57608",
    "seatId": "1_1_1",
    "row": "G",
    "number": "12",
    "area": "Standard",
    "type": "sofa",
    "status": "available",
    "price": 19.95,
    "currency": "GBP"
  },
  {
    "showtimeId": "SOH1-57608",
    "seatId": "1_1_2",
    "row": "G",
    "number": "11",
    "area": "Standard",
    "type": "sofa",
    "status": "available",
    "price": 19.95,
    "currency": "GBP"
  },
  {
    "showtimeId": "SOH1-57608",
    "seatId": "1_1_3",
    "row": "G",
    "number": "10",
    "area": "Standard",
    "type": "sofa",
    "status": "available",
    "price": 19.95,
    "currency": "GBP"
  }
]

Requests and billing

  • Requests: 3 Web Access requests per call, plus up to 1 setup request per call.
  • Billing: passthrough. Each request the action makes bills at its own rate on your plan; there is no separate charge for the action. See Pricing.