# BookMyShow Scraper: Movies, Showtimes & Concerts (`getascraper/bookmyshow-scraper`) Actor

Extracts detailed movies, showtimes, live events, sports matches, plays, prices, certifications, languages, user ratings, and theater seating availability from BookMyShow.com. Supports all major Indian cities.

- **URL**: https://apify.com/getascraper/bookmyshow-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Automation, Developer tools, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.62 / 1,000 showtime or event listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does BookMyShow scraper do?

Get current cinema listings, movie details, live concert events, theatrical plays, and venue showtimes from BookMyShow.com: exact theater names, view dimensions, ticket price tiers, and seating availability status across major Indian cities, ready for your spreadsheets in under 10 seconds. This scraper connects directly to public directories unblocked, meaning no accounts or API keys are required. Built for event aggregators, competitive entertainment analysts, showtime trackers, and ticket pricing monitors compiling local event databases.

This tool extracts movie, theater, and ticket listings from BookMyShow.com. It connects to the platform using specialized regional pathways to harvest precise ticket details and show schedules. It runs fast and reliably without needing any user login, collecting listing data directly without any complex setup.

### Why use BookMyShow scraper?

- **Event aggregators:** Build an online directory of live plays, sports matches, and musical concerts in your region.
- **Movie developers:** Analyze local theater screening frequencies, showtime patterns, and viewing dimensions to track audience footprint.
- **Pricing analysts:** Monitor ticket price distributions across premium lounges and standard seat configurations.
- **Entertainment bloggers:** Feed automated schedules, user feedback scores, and movie releases into your website or app.

### How to use BookMyShow scraper

1. Create a free Apify account, no credit card required.
2. Open the BookMyShow scraper on the Apify Store.
3. Choose your target Indian city and specify your search type.
4. Set optional volume limits.
5. Click **Start**. Your structured datasets will download as CSV, Excel, or JSON.

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `city` | enum | Yes | Select the target Indian city region |
| `scrapeMode` | enum | Yes | Choose whether to extract movies, cinema showtimes, or live events |
| `targetDate` | string | No | Optional target date in YYYYMMDD format |
| `maxItems` | integer | No | Maximum number of results to save on this run |
| `proxyConfiguration` | object | Yes | Rotating Indian proxies required due to regional blocks |

### Output

A structured dataset of ticketing items with movie titles, theater locations, prices in INR, showtimes, and direct checkout seat selection URLs.

```json
{
  "title": "Kalki 2898 AD",
  "url": "https://in.bookmyshow.com/mumbai/movies/ET00352941",
  "city": "mumbai",
  "scrapeMode": "movies",
  "cinemaName": "PVR Phoenix Mills Lower Parel",
  "showtime": "06:15 PM",
  "format": "IMAX 3D",
  "price": 380,
  "availability": "Available",
  "artist": "Telugu | Hindi | Tamil",
  "scrapedAt": "2026-06-22T18:02:49.787Z"
}
````

### Data table

| Field | Type | Description |
| --- | --- | --- |
| `title` | string | Name of the movie, concert, play, or sports match |
| `url` | string | Direct listing link on BookMyShow |
| `city` | string | Target city selection (e.g. mumbai, bengaluru) |
| `scrapeMode` | string | Selected crawl category mode (movies or events) |
| `cinemaName` | string | Name of the venue multiplex hosting the show |
| `showtime` | string | Showtime schedule string (e.g. 06:15 PM) |
| `format` | string | Screen format or zone type (e.g. 2D, 3D, IMAX) |
| `price` | number | Ticket base price in Indian Rupees |
| `availability` | string | Seating state indicator (Available, Filling Fast, Sold Out) |
| `artist` | string | Show audio languages or performer names |
| `scrapedAt` | string | ISO 8601 extraction timestamp |

### Pricing

This Actor uses pay-per-event pricing. You are charged for each movie or event showtime that is successfully resolved with complete theater and scheduling details and saved to the dataset.

You are not charged for invalid, deleted, private, or unavailable cinema listings that do not produce an output row.

### Tips or advanced options

- **No browser overhead.** Because this scraper connects directly to BookMyShow directory pages, it does not launch Chrome or execute heavy scripts. This makes it 100x faster than browser-based scrapers, running in a fraction of the time.
- **Indian residential proxies are mandatory.** Since BookMyShow blocks all non-Indian IP addresses, always ensure Indian rotating residential proxies are active.
- **Schedule daily runs** via the built-in scheduler to maintain a fresh daily feed.

### FAQ, disclaimers, and support

##### Is the BookMyShow scraper legal and compliant?

Yes. The BookMyShow scraper collects publicly visible information that is accessible to anonymous visitors. It does not bypass paywalls, read private user credentials, or place automatic bookings. You are responsible for compliance with local regional regulations.

##### Does this scraper require proxies or get blocked?

Yes. BookMyShow implements strict geographic restrictions. All incoming requests from non-Indian IPs are blocked with challenge screens. You must use rotating Indian proxies to access the platform successfully.

##### Can I schedule automatic daily showtime tracking?

Yes. You can use the built-in scheduler to run the BookMyShow scraper at specific hours every day and output fresh CSV reports.

**Disclaimer:** This Actor collects public web listings only. It does not bypass authorization, paywalls, or any other security layers. BookMyShow is the registered trademark of Bigtree Entertainment Pvt. Ltd. This Actor is not affiliated with, endorsed by, or sponsored by Bigtree Entertainment Pvt. Ltd.

# Actor input Schema

## `city` (type: `string`):

Select the target Indian city to scrape listings from.

## `scrapeMode` (type: `string`):

Select whether to extract movies/cinema showtimes, live events/concerts, or custom Start URLs.

## `targetDate` (type: `string`):

Target date to scrape showtimes for (e.g. '20260623'). Leave empty for today's date.

## `filterByLanguage` (type: `string`):

Only include listings in this language (case-insensitive partial match). Examples: 'hindi', 'english', 'tamil'. Leave empty for all.

## `filterByCertification` (type: `string`):

Only include movies with this exact certification. Leave empty for all.

## `minRating` (type: `number`):

Only include listings with a BookMyShow user rating at or above this value (1 to 10). Set to 0 to disable.

## `onlyWithRating` (type: `boolean`):

Skip listings that have no user rating yet (new releases, upcoming shows). Useful for data quality.

## `maxItems` (type: `integer`):

The maximum number of listing items or showtimes to save.

## `proxyConfiguration` (type: `object`):

Proxy settings. Indian rotating residential proxies are highly recommended.

## Actor input object example

```json
{
  "city": "mumbai",
  "scrapeMode": "movies",
  "targetDate": "",
  "filterByLanguage": "",
  "filterByCertification": "",
  "minRating": 0,
  "onlyWithRating": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "city": "mumbai",
    "scrapeMode": "movies",
    "targetDate": "",
    "filterByLanguage": "",
    "filterByCertification": "",
    "minRating": 0,
    "onlyWithRating": false,
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/bookmyshow-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "city": "mumbai",
    "scrapeMode": "movies",
    "targetDate": "",
    "filterByLanguage": "",
    "filterByCertification": "",
    "minRating": 0,
    "onlyWithRating": False,
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/bookmyshow-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "city": "mumbai",
  "scrapeMode": "movies",
  "targetDate": "",
  "filterByLanguage": "",
  "filterByCertification": "",
  "minRating": 0,
  "onlyWithRating": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call getascraper/bookmyshow-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/bookmyshow-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "BookMyShow Scraper: Movies, Showtimes & Concerts",
        "description": "Extracts detailed movies, showtimes, live events, sports matches, plays, prices, certifications, languages, user ratings, and theater seating availability from BookMyShow.com. Supports all major Indian cities.",
        "version": "0.1",
        "x-build-id": "MMn8vijlhtjTw3XKJ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~bookmyshow-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-bookmyshow-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getascraper~bookmyshow-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-bookmyshow-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getascraper~bookmyshow-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-bookmyshow-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "city": {
                        "title": "Target City",
                        "enum": [
                            "mumbai",
                            "bengaluru",
                            "national-capital-region-ncr",
                            "pune",
                            "hyderabad",
                            "chennai",
                            "kolkata",
                            "ahmedabad",
                            "chandigarh"
                        ],
                        "type": "string",
                        "description": "Select the target Indian city to scrape listings from.",
                        "default": "mumbai"
                    },
                    "scrapeMode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "movies",
                            "events"
                        ],
                        "type": "string",
                        "description": "Select whether to extract movies/cinema showtimes, live events/concerts, or custom Start URLs.",
                        "default": "movies"
                    },
                    "targetDate": {
                        "title": "Target Date (YYYYMMDD)",
                        "type": "string",
                        "description": "Target date to scrape showtimes for (e.g. '20260623'). Leave empty for today's date.",
                        "default": ""
                    },
                    "filterByLanguage": {
                        "title": "Filter by Language",
                        "type": "string",
                        "description": "Only include listings in this language (case-insensitive partial match). Examples: 'hindi', 'english', 'tamil'. Leave empty for all.",
                        "default": ""
                    },
                    "filterByCertification": {
                        "title": "Filter by Certification",
                        "enum": [
                            "",
                            "U",
                            "A",
                            "UA",
                            "UA16+",
                            "A16+",
                            "S"
                        ],
                        "type": "string",
                        "description": "Only include movies with this exact certification. Leave empty for all.",
                        "default": ""
                    },
                    "minRating": {
                        "title": "Minimum Rating",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "number",
                        "description": "Only include listings with a BookMyShow user rating at or above this value (1 to 10). Set to 0 to disable.",
                        "default": 0
                    },
                    "onlyWithRating": {
                        "title": "Only Rated Listings",
                        "type": "boolean",
                        "description": "Skip listings that have no user rating yet (new releases, upcoming shows). Useful for data quality.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "The maximum number of listing items or showtimes to save.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Indian rotating residential proxies are highly recommended.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "IN"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
