Skip to main content
Glama

๐ŸŽฌ BookMyShow MCP Webscraper

Python Version FastAPI MCP Server License Tests

A Python scraper and API wrapper for BookMyShow that extracts movie listings, theater showtimes, ticket prices, and venue location details (including GPS latitude and longitude).

It packages everything into a FastAPI REST server, MCP tools (for AI assistants like Claude or Cursor), a CLI tool, and a built-in web dashboard.


โœจ Features

  • Lists Movies & Events: Gets active or upcoming movie listings across Indian cities (Mumbai, Delhi-NCR, Bengaluru, Chennai, etc.), with filters for language and genre.

  • Fetches Showtimes & Pricing: Pulls cinema showtimes, screen formats (2D, 3D, IMAX, 4DX), ticket price ranges (in โ‚น), and seat availability.

  • Extracts Venue Locations & Lat/Long: Pulls theater street addresses, exact latitude and longitude coordinates, and venue amenities (parking, food court, M-ticket entry).

  • Gets Movie Synopsis & Trailers: Retrieves plot summaries, cast and crew info, ratings, posters, and YouTube trailer links.

  • Runs as an MCP Server: Works out-of-the-box with AI tools (Claude Desktop, Cursor, Antigravity) via bms-mcp (or mcp_server.py locally).

  • FastAPI REST Server: Interactive Swagger API docs (/docs).

  • Terminal CLI: Terminal interface for search, listings, and exports.

  • Exports to Files: Exports scraped data to JSON, CSV, or Excel (.xlsx).

  • Web Dashboard: Simple light-theme dashboard to browse movies and test endpoints.


Related MCP server: Movie Booking Assistant

๐Ÿš€ Quickstart & Installation

git clone https://github.com/m0han-r/bookmyshow-mcp-webscraper.git
cd bookmyshow-mcp-webscraper
pip install -r requirements.txt

๐Ÿ”Œ API & MCP Tools

REST Endpoint

MCP Tool Name

Parameters

Description

GET /api/v1/cities

bms_get_cities

popular_only

Supported Indian regions & popular cities

GET /api/v1/movies

bms_get_movies

city, language, genre

Active movie listings with language/genre filters

GET /api/v1/events

bms_get_events

city, category

Live events, comedy shows, music concerts, and sports

GET /api/v1/movies/{code}

bms_get_movie_details

movie_code, city

Synopsis, cast, crew, ratings, poster & trailer links

GET /api/v1/showtimes

bms_get_showtimes

movie_code, city, date, language, format

Showtimes, screen formats (IMAX/3D/4DX), prices, seats & language filtering

GET /api/v1/venues/{code}

bms_get_venue_details

venue_code, city

Cinema street address, exact latitude, longitude & facilities

GET /api/v1/search

bms_search

query, city

Cross-search movies and live events

Sample Venue Response (GET /api/v1/venues/PCAN?city=chennai):

{
  "success": true,
  "count": 1,
  "data": {
    "venue_code": "PCAN",
    "venue_name": "PVR: VR Chennai, Anna Nagar",
    "address": "3rd Floor, VR Mall, Metro Zone, Jawaharlal Nehru Road, Anna Nagar, Chennai, Tamil Nadu 600040",
    "latitude": 13.082561,
    "longitude": 80.194803,
    "facilities": ["Ticket Cancellation", "F&B", "MTicket", "Parking Facility", "Food Court"]
  }
}

๐ŸŒ Running the REST API Server

Start the server:

python main.py

๐Ÿค– MCP Server Setup

Connect your AI assistant (Claude Desktop, Cursor, Antigravity) using uvx. uvx automatically fetches the package from GitHub and executes the bms-mcp script entry point registered in pyproject.toml.

Claude Desktop / Cursor / Antigravity Configuration

Add to your %APPDATA%\Claude\claude_desktop_config.json (or .cursor/mcp.json):

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

Direct Terminal Execution

Run natively in PowerShell or Command Prompt (uv generates and runs bms-mcp.exe wrappers on Windows):

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

Claude Desktop / Cursor / Antigravity Configuration

Add to your ~/.config/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

Direct Terminal Execution

Run directly in Linux Terminal:

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

Claude Desktop / Cursor / Antigravity Configuration

Add to your ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "bookmyshow": {
      "command": "uvx",
      "args": [
        "--from",
        "git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git",
        "bms-mcp"
      ]
    }
  }
}

Direct Terminal Execution

Run directly in macOS Terminal / zsh:

uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-mcp

If you have cloned the repository locally:

python mcp_server.py

๐Ÿ Python Usage

from bms_scraper import BookMyShowScraper

scraper = BookMyShowScraper()

# Get active movies
movies = scraper.get_movies(city="mumbai", language="Hindi")

# Get venue coordinates
venue = scraper.get_venue_details(venue_code_or_url="PCAN", city="chennai")
print(f"๐Ÿ“ {venue.venue_name} - Lat: {venue.latitude}, Lon: {venue.longitude}")

# Get showtimes (supports language filters e.g. "tamil", "hindi", "all" and format filters e.g. "IMAX", "2D")
showtimes = scraper.get_showtimes(movie_code_or_url="ET00378770", city="chennai", date="20260827", language="tamil", format="2D")

๐Ÿ’ป CLI Usage

Execute the CLI directly via uvx without installing dependencies, or locally via Python:

# List popular cities via uvx
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli cities --popular

# Scrape movies in Bengaluru and export to Excel
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes in Chennai for Tamil language with date and export to JSON
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --export json
# List popular cities via uvx
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli cities --popular

# Scrape movies in Bengaluru and export to Excel
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes in Chennai for Tamil language with date and export to JSON
uvx --from git+https://github.com/m0han-r/bookmyshow-mcp-webscraper.git bms-cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --export json
# List popular cities
python -m bms_scraper.cli cities --popular

# Scrape movies in Bengaluru and export to Excel
python -m bms_scraper.cli movies --city bengaluru --language Hindi --export xlsx

# Scrape showtimes with language filter
python -m bms_scraper.cli showtimes --code ET00378770 --city chennai --date 20260827 --language tamil --format 2D

๐Ÿ“Š Exporting Data

from bms_scraper import BookMyShowScraper, DataExporter

scraper = BookMyShowScraper()
movies = scraper.get_movies(city="mumbai")

DataExporter.to_csv(movies, "movies.csv")
DataExporter.to_excel(movies, "movies.xlsx")
DataExporter.to_json(movies, "movies.json")

๐Ÿงช Running Tests

python -m pytest

โš–๏ธ License

Distributed under the MIT License.

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Provides a comprehensive movie booking experience for AMC Theatres, enabling users to discover movies, find showtimes, select seats, and process payments through conversational AI. Supports multi-location theater search with real-time seat availability and booking management.
    6
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • Live Google Maps business search, review, and photo data for AI agents over MCP.

  • AI marketplace โ€” flights, tours, activities, transport & more via MCP. No auth required.

  • Free public MCP for AI agents โ€” 193 tools, 44 workflows. No API key.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/m0han-r/bookmyshow-mcp-webscraper'

If you have feedback or need assistance with the MCP directory API, please join our Discord server