What Teams Build with It
BI Dashboards
Daily feeds into Power BI, Tableau, Looker, or your data warehouse, next to your own sales.
Forecasting Models
Presale curves and comparable titles as model inputs for opening-weekend and run forecasts.
Alternative Data
Daily attendance of listed exhibitors and the films driving them, months before quarterly reports.
Endpoints
Every path below is an endpoint the SEATmio dashboard itself runs on. Unless a row says otherwise, each one takes the common parameters and answers only within your plan.
Market and rankings
| Method | Path | Description |
|---|---|---|
| GET | /v1/overview | Totals, tickets per day, and the top films, chains, and countries for the period. |
| GET | /v1/rank/{film|chain|market|cinema|distributor} | A full ranking by film, chain, country, theater, or company, with share, occupancy, tickets per screening, and like-for-like change. chain= or film= narrows it. |
| GET | /v1/detail/{film|chain|market|cinema|distributor}/{key} | One film, chain, country, or theater: totals, daily series, breakdowns, weekday x hour, formats, and the presale curve for films. |
| GET | /v1/compare?dim=film&keys=a,b,c&align=release | Daily lines of two to five films, chains, countries, or theaters side by side; align=release starts every film on its first day. |
| GET | /v1/weekend?friday=YYYY-MM-DD | The weekend box office in tickets, Friday to Sunday by film, against the weekend before, with week in release, tickets per theater, and the total to date. |
| GET | /v1/live | Today so far: totals, tickets by start hour, the top films, and the day's best-selling screenings. |
| GET | /v1/legs | Holdovers: films of the last seven played days with their week in release, the like-for-like drop against the week before, and the multiple. |
| GET | /v1/search?q= | Find films, theaters, and companies by name. |
One film
| Method | Path | Description |
|---|---|---|
| GET | /v1/film/{key}/presale?country=xx | Presales in one country: tickets already sold for the screenings still to come. |
| GET | /v1/film/{key}/presale-start | When each chain started selling the film, which chain was first in each country, and which chains do not sell it yet. |
| GET | /v1/film/{key}/forecast | The expected first week, published only where the model has proven its accuracy. |
| GET | /v1/legs/film/{key} | The film's weeks in release per country, with the drop week over week. |
| GET | /v1/film/{key}/programming | Programming quality per theater: screenings, occupancy, the film's rank in that theater by occupancy and by screenings, prime-time share, and auditorium size. |
| GET | /v1/film/{key}/lost-slots | Who took the film's slots: per theater, screen, and time band, the film that gained the screenings it lost, with both occupancies. |
| GET | /v1/film/{key}/missing-cinemas | Theaters in the film's countries that do not play it, while its comparable titles sold well there. |
| GET | /v1/demand/film?film={key} | The film's demand index per country: share of tickets divided by share of screenings (above 1.2 under-screened, below 0.8 over-screened). |
| GET | /v1/audience/film/{key}?part=versions|timing | Language versions (share of screenings against share of tickets, city by city) or how far ahead people buy, against the market and comparable titles. |
| GET | /v1/film/{key}/interest | The pre-release interest index per country, with its signals and 60 days of history. |
| GET | /v1/film/{key}/social | The film's social accounts day by day and its hashtag counts. |
Release planning
| Method | Path | Description |
|---|---|---|
| GET | /v1/premieres | Films opening in the next 120 days or in the last 7, with presold tickets. |
| GET | /v1/release-calendar?weeks=16 | The coming weeks per country: films opening, their presales, how many wide releases compete, and the holidays, plus titles announced up to a year ahead. |
| GET | /v1/demand | Every film in the scope with its demand index: which films sell more than the screens they get, and which fewer. |
| GET | /v1/free-screens?country=xx&weeks=YYYY-MM-DD,... | Screens expected to free up per week in a country against what new releases need, with the measured error of the estimate. |
| GET | /v1/cut-risk?film=&chain= | Per chain, the occupancy below which it usually cuts a film's screenings, by week in release, and the film's risk this week. |
| GET | /v1/calendar | Public holidays and school breaks in the scope's countries over its dates. |
Theaters, screenings, and program
| Method | Path | Description |
|---|---|---|
| GET | /v1/screenings?dim={film|chain|market|cinema}&key= | Individual screenings of a film, chain, country, or theater: room, version, tickets, capacity, and occupancy; screenings still to come show sales so far. |
| GET | /v1/screening/{id} | One screening: how it sold day by day before it started, against the film's average screening that day and the theater's. |
| GET | /v1/schedule?days=7 | The published program for the next days (up to 21) by film and by chain, against the same weekdays a week earlier. |
| GET | /v1/schedule/film/{key} | One film's program: chain by day for the next 14 days, the week before, and its recent cancellations. |
| GET | /v1/cancellations?days=7 | Screenings withdrawn before they started in the last days (up to 14), by film and by chain. |
| GET | /v1/cinema/{id}/programming | Every film in one theater, ranked by occupancy and by screenings. |
| GET | /v1/cinema/{id}/nearby?km=5|10|25 | The catchment: theaters within the distance, this theater's share of their tickets, and the films the competition sells better. |
| GET | /v1/cinema/{id}/benchmark | One theater against its catchment and its country. |
| GET | /v1/cities | The city ranking of the scope, with coordinates for a map. |
Companies and people
| Method | Path | Description |
|---|---|---|
| GET | /v1/company/{id}/films?role= | A distributor's, producer's, or sales agent's films with their results in your countries. |
| GET | /v1/people?category=&q= | People ranked by the tickets of their films: directors, cast, writers, and more. |
| GET | /v1/person/{id} | A person's profile: their films' results in your countries, filmography, and awards. |
Context and data quality
| Method | Path | Description |
|---|---|---|
| GET | /v1/events?country=xx | Large concerts and matches near the theaters, and natural disasters, over the period. |
| GET | /v1/weather?country=xx | Daily weather where the audience is: for one theater, or a country weighted by tickets. |
| GET | /v1/coverage | Per country, the theaters whose sales were read in the last 7 days. |
| GET | /v1/freshness | When the figures last moved, and per chain the newest read of today. |
| GET | /v1/status | Per country and chain: theaters read, last read, since when, and any open issue. |
Common Parameters
- from
- First day, YYYY-MM-DD (default: 30 days ago)
- to
- Last day, YYYY-MM-DD (default: today)
- countries
- Comma-separated ISO country codes, e.g. de,fr,br (default: all in your plan)
- chains
- Comma-separated chain keys (default: all in your plan)
- compare
- period | year | none: adds the previous period or the same period last year
- own
- 1: only the films, chains, and theaters marked as yours
Authentication
Every request carries your organization's key in the Authorization header. A key sees exactly what your plan allows: the same countries, chains, and history as your dashboard.
Limits and Formats
JSON over HTTPS, UTF-8, dates in each country's local time. 60 requests a minute per key. Figures refresh every 30 minutes; yesterday is complete from 06:00 UTC.
Example
curl -H "Authorization: Bearer $SEATMIO_KEY" \
"https://seatmio.com/api/v1/rank/film?from=2026-09-28&to=2026-10-04&countries=de,fr"
{
"range": ["2026-09-28", "2026-10-04"],
"rows": [
{
"key": "film x|2026",
"title": "Film X",
"tickets": 412380,
"screenings": 9214,
"occupancy": 0.312,
"share": 0.221,
"prevTickets": 351904,
"matchedTickets": 369720,
"change": 0.0506,
"perScreening": 44.8,
"venues": 611,
"countries": 2,
"firstShow": "2026-10-02"
}
]
}Changes are like for like: each day of the period is paired with the same day of the previous one (a week compares the same weekdays), and only theaters read on both days of a pair count. prevTickets and previous are the previous period over those pairs, matchedTickets and currentMatched the current one; change is between them, or null when the pairs carry less than a tenth of the current tickets. tickets and current always cover every theater.
API access is part of the API plan. Keys are issued by our team after a short conversation.
Ask for API Access