Cinemark APIcinemark.com ↗
Access Cinemark US theater locations, movie catalog, showtimes, and ticket prices via 5 endpoints. Filter by state, date, and format.
What is the Cinemark API?
The Cinemark API covers 5 endpoints that expose US theater locations, the current movie catalog, session-level showtimes, and itemized ticket prices. Starting with get_theaters, you can retrieve all Cinemark locations filtered by state and get full address and format details for each venue. From there, showtimes and per-session ticket breakdowns — including base price, fee, and ticket category — are accessible with the IDs returned at each step.
curl -X GET 'https://api.parse.bot/scraper/419c732a-574b-40b8-a153-54dce7810331/get_theaters?state=VA' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace cinemark-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: cinemark_com_api SDK — bounded, re-runnable; every call capped."""
from parse_apis.Cinemark_US_API import Cinemark, MovieStatus, MovieNotFound
client = Cinemark()
# List theaters in Virginia with full details (address, formats)
for theater in client.theaters.list(state="VA", limit=3):
print(theater.name, theater.city, theater.state)
# List currently showing movies
for movie in client.movies.list(status=MovieStatus.SHOWING_NOW, limit=3):
print(movie.title, movie.rating, movie.runTime)
# Get detailed info for a movie via instance navigation
movie = client.movies.list(limit=1).first()
try:
detail = movie.details()
print(detail.title, detail.synopsis[:80], detail.genres)
except MovieNotFound as e:
print(f"Movie not found: {e.slug}")
# Get showtimes by theater name (fuzzy match)
for showtime in client.showtimes.list(theater_name="Cinemark Fairfax Corner and XD", limit=3):
print(showtime.movieName, showtime.sessionDateTime, showtime.format)
# Get showtimes via theater instance navigation
theater = client.theaters.list(state="VA", limit=1).first()
for showtime in theater.showtimes(limit=3):
print(showtime.movieName, showtime.sessionDateTime, showtime.format)
# Get ticket prices for a showtime
showtime = theater.showtimes(limit=1).first()
for ticket in showtime.prices(limit=3):
print(ticket.ticketTypeName, ticket.price)
print("exercised: theaters.list / movies.list / movie.details / showtimes.list / theater.showtimes / showtime.prices")
Returns all US Cinemark theater locations. When a state filter is applied (and the result set is 20 or fewer), each theater includes full address and available format details fetched from its detail page. Without filter, returns basic info (name, city, state, URL slug) for all 300+ locations. The id field is the theater path slug used by get_showtimes.
| Param | Type | Description |
|---|---|---|
| state | string | Two-letter US state abbreviation to filter theaters (e.g. VA, TX, CA). |
{
"type": "object",
"fields": {
"total": "integer count of theaters returned",
"theaters": "array of theater objects with id, slug, name, city, state, url, and when state filter applied: numericId, address, zipCode, formats"
},
"sample": {
"total": 4,
"theaters": [
{
"id": "va-fairfax/cinemark-fairfax-corner-and-xd",
"url": "https://www.cinemark.com/theatres/va-fairfax/cinemark-fairfax-corner-and-xd",
"city": "Fairfax",
"name": "Cinemark Fairfax Corner and XD",
"slug": "cinemark-fairfax-corner-and-xd",
"state": "VA",
"address": "11900 Palace Way",
"formats": [
"Stadium Seating",
"D-BOX",
"Cinemark XD",
"Bar / Alcohol",
"Expanded Menu",
"Luxury Loungers"
],
"zipCode": "22030",
"numericId": "1111"
}
]
}
}About the Cinemark API
Theater and Movie Data
get_theaters returns all US Cinemark locations. Without a filter it returns basic fields — id, slug, name, city, state, and url — for every theater in the network. Add a two-letter state parameter (e.g. TX, VA) and, when the result set is 20 theaters or fewer, each record is augmented with numericId, address, zipCode, and format details. The id field (a path slug like va-fairfax/cinemark-fairfax-corner-and-xd) is what you pass to get_showtimes.
get_movies returns the current catalog with fields including title, status, rating, runTime, posterUrl, trailerUrl, cast, and description. Pass a status filter to narrow results; omitting it returns now-showing titles. For a deeper record on any film, get_movie_details accepts the slug from get_movies and returns synopsis, genres, languages, formats, and the full cast array.
Showtimes and Ticket Prices
get_showtimes takes a required theater_id (the slug from get_theaters) and an optional date in YYYY-MM-DD format — defaulting to today. Each showtime object in the response includes movieName, sessionId, sessionDateTime, format, attributes (accessibility info), theaterId (numeric), and movieId. These three IDs are exactly what get_ticket_prices requires.
get_ticket_prices returns every ticket type available for a specific session: ticketTypeName, price, basePrice, fee, priceCode, and category. The response also identifies the auditorium (e.g. Auditorium 9). Because get_ticket_prices requires movie_id, theater_id, showtime_id, and showtime_datetime together, it is designed to be called after chaining through get_theaters → get_showtimes.
The Cinemark API is a managed, monitored endpoint for cinemark.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cinemark.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official cinemark.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a showtime aggregator that displays all Cinemark sessions for a given date and theater, grouped by movie format.
- Compare ticket prices (base price + fee) across different session formats like IMAX, XD, and standard for the same film.
- Generate a state-level map of Cinemark locations using address and zipCode fields from the filtered get_theaters response.
- Track which movies are currently showing versus upcoming by monitoring the status field from get_movies over time.
- Display full movie metadata — synopsis, genres, rating, runtime, poster — in a custom mobile app using get_movie_details.
- Alert users when accessible showtimes (attributes field) are available at their preferred theater.
- Compile a pricing dataset across theaters and formats by chaining get_showtimes and get_ticket_prices for multiple locations.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.