District Showtimes Scraper
Pricing
from $3.00 / 1,000 showtime founds
District Showtimes Scraper
Finds every showtime for a movie across the cinemas in a city on District (district.in) — dates, times, theatres, screen formats, ticket prices and live seats-available counts.
Pricing
from $3.00 / 1,000 showtime founds
Rating
0.0
(0)
Developer
Monk N Warriors
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
District Movie Showtimes & Cinema Schedule Scraper
Get every movie showtime across the cinemas in a city on District (district.in) — dates, times, theatres, screen formats, ticket prices, and how many seats are still free — in one structured dataset, without checking cinema by cinema.
Built for cinema analysts, distributors tracking a release's rollout, price and occupancy monitoring, and anyone who needs a city-wide view of what's playing and how full it is.
What you can do with it
- Track a movie's rollout across every cinema in a city, day by day.
- Monitor ticket prices per cinema and per seating class over time.
- Watch seat availability / occupancy fill up ahead of a release or across a weekend.
- Compare formats (2D / 3D / IMAX / 4DX) and premium screens across a city.
- Build a cinema directory for a city — names, addresses, chains, coordinates.
Input
| Field | Description |
|---|---|
| Cities | One or more city names, e.g. Mumbai, Bengaluru, Ahmedabad. District covers 1,300+ Indian cities and towns, not just the metros. Matching is case-insensitive. |
| Movies | Optional. A District movie link (https://www.district.in/movies/...-MV181196), a MV181196 code, or just a movie name. Leave empty to capture every movie currently showing in each city. |
| Movies per city | Used only when Movies is empty — caps how many now-showing movies are pulled per city (default 10). |
| Which dates to check | Automatic (recommended) checks exactly the dates District has released for the movie. Or pick specific dates / a date range. |
| Stop looking after N days ahead | Safety cap for Automatic mode (default 14). |
| Include far-away cinemas | District returns a secondary "also showing nearby" group (often a neighbouring town). Keep on to capture it (default on). |
| Proxy | Residential, India by default — District only serves Indian IPs. |
Minimal input — every movie showing in Mumbai, all released dates:
{ "cities": ["Mumbai"] }
Output
The dataset is flat — no nested columns — so it opens cleanly in Excel / Google Sheets. Pick one grain with the Output mode input; the whole dataset is that grain, so every column has data (no empty columns to scroll past):
SHOWTIMES(default) — one row per showtime: movie, cinema, time, price range, total seat counts, occupancy, and aprice_classestext summary of every seating class.PRICE_CLASSES— one row per seating class per showtime: that class's price and live seat counts, structured for per-class analysis.
Both carry the same movie / cinema / showtime columns and the
seat_layout_ref.
SHOWTIMES grain — one row per showtime
(Illustrative — codes and numbers change constantly.)
{"row_type": "SHOWTIME","session_key": "district|mumbai|181196|1023314|20668|2026-09-08","scraped_at": "2026-09-07T18:22:46+00:00","city_key": "mumbai", "city_name": "Mumbai", "state_key": "maharashtra","movie_id": "181196","movie_code": "n5N_fTqZr8","movie_title": "Mirzapur: The Movie","movie_languages": "Hindi","movie_genres": "Action, Crime, Thriller","censor_rating": "A","duration_min": 197,"cinema_id": "1023314","cinema_name": "PVR C&B Square Chakala, Andheri East, Mumbai","cinema_chain": "PVR","cinema_address": "Andheri - Kurla Rd, Opp Acme Plaza, Chakala, Andheri East, Mumbai 400059","cinema_pincode": "400059","latitude": 19.112491, "longitude": 72.864875,"provider_id": "1707","is_far_cinema": false,"distance_km": 2.29,"session_id": "20668","provider_movie_code": "OB7YWB","date": "2026-09-08","show_datetime_ist": "2026-09-08T04:45:00+05:30","close_datetime_ist": "2026-09-08T05:30:00+05:30","screen_name": "SCREEN 3","screen_format": "2D","premium_label": "","is_premium": false,"max_tickets": 10,"status_color": "G","session_tags": "price_100_200, 2d, 8_am_to_12_pm, wheelchair_friendly","min_price": 149.0,"max_price": 299.0,"seats_available_total": 277,"seats_total": 304,"occupancy_pct": 8.9,"price_class_count": 5,"price_classes": "CLASSIC ROWS 149: 39/39 | PRIME ROWS 149: 174/178 | RECLIINER ROWS 299: 13/15","seat_layout_ref": "1023314|20668|1707|OB7YWB|n5N_fTqZr8|181196|mumbai|2026-09-08|2D"}
PRICE_CLASSES grain — one row per seating class per showtime
{"row_type": "PRICE_CLASS","session_key": "district|mumbai|181196|1023314|20668|2026-09-08","movie_title": "Mirzapur: The Movie","cinema_name": "PVR C&B Square Chakala, Andheri East, Mumbai","show_datetime_ist": "2026-09-08T04:45:00+05:30","area_code": "QR","area_label": "PRIME ROWS","area_price": 149.0,"area_currency": "INR","area_seats_available": 174,"area_seats_total": 178,"area_status_color": "G"}
(all the shared movie / cinema / showtime columns are on this row too — trimmed here for brevity)
Field reference
| Field | Grain | Meaning |
|---|---|---|
row_type | both | SHOWTIME or PRICE_CLASS. |
session_key | both | Stable ID for the showtime — same value on every re-run, and the join key to the Seat Availability Scraper. |
scraped_at | both | UTC timestamp of capture. |
city_key / city_name / state_key | both | The resolved city. |
movie_id / movie_code | both | District's IDs for the movie (and its language/format variant). |
movie_title, movie_languages, movie_genres, censor_rating, duration_min | both | Movie metadata. Languages/genres are comma-separated strings. |
cinema_id, cinema_name, cinema_chain | both | The theatre. cinema_chain e.g. PVR, INOX, Cinepolis, City Gold. |
cinema_address, cinema_pincode, latitude, longitude | both | Location. |
is_far_cinema | both | true if from District's secondary "also showing nearby" group. |
distance_km | both | Distance from the city centre. |
session_id, provider_movie_code | both | District's IDs for the showtime. |
date | both | Show date (YYYY-MM-DD). |
show_datetime_ist / close_datetime_ist | both | Start time and booking-close time, ISO-8601 with +05:30. |
screen_name, screen_format | both | Auditorium label; 2D / 3D / IMAX 2D / 4DX / … |
premium_label / is_premium | both | Sound / premium-screen tag (e.g. DOLBY 7.1) and a flag. |
max_tickets | both | Max tickets sellable in one booking. |
status_color | both | District's fill indicator: G plenty, Y filling, R almost full, D sold out. |
session_tags | both | Comma-separated filter tags (price band, format, time-of-day, amenities). |
seat_layout_ref | both | Pipe-delimited reference — paste this column straight into the Seat Availability Scraper. |
min_price / max_price | SHOWTIMES | Cheapest / dearest ticket for the showtime. |
seats_available_total / seats_total | SHOWTIMES | Live free seats and screen capacity, summed across classes. |
occupancy_pct | SHOWTIMES | (seats_total − seats_available_total) / seats_total, as a percentage. |
price_class_count | SHOWTIMES | How many seating classes this showtime has. |
price_classes | SHOWTIMES | One-line readable summary of every class: <class> <price>: <available>/<total>, pipe-separated. |
area_code / area_label | PRICE_CLASSES | The seating class. |
area_price / area_currency | PRICE_CLASSES | Its ticket price. |
area_seats_available / area_seats_total | PRICE_CLASSES | Live free / total seats in that class. |
area_status_color | PRICE_CLASSES | That class's own fill indicator. |
Also written to the run's key-value store: RUN_REPORT — which cities,
movies and dates were checked, counts found for each, and any errors.
Views
- Overview — the run's grain, key columns only (the Console hides the columns that don't apply).
Notes
- Dates: District releases each movie's booking window on its own schedule. Automatic mode uses exactly the dates District lists for the movie — no guessing a number of days.
- Seat counts are live at the moment of capture — re-run to track how a showtime fills up.
- India only. Keep the proxy on Residential / India; other IPs are blocked.
Pairs with
District Cinema Seat Availability & Occupancy Scraper — every row here
carries a seat_layout_ref ready to drop into it for a seat-by-seat
occupancy map.