# In Bookmyshow — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse movies and live events across Indian cities on BookMyShow. Retrieve recommended and now-showing movies, upcoming releases, and event listings with full details including cast, synopsis, ticket info, and similar recommendations.

**Category:** Entertainment | **Website:** [in.bookmyshow.com/](https://in.bookmyshow.com/) | **Docs:** [parse.bot/marketplace/8b60c1f5-5d41-419d-b4ac-38d0f75fe7f6/in-bookmyshow-com-api](https://parse.bot/marketplace/8b60c1f5-5d41-419d-b4ac-38d0f75fe7f6/in-bookmyshow-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get cities

Retrieve all supported cities and regions with their codes, slugs, coordinates, and sub-regions. Returns both top cities and other cities combined into a single list. Each city includes a RegionCode (used internally) and a RegionSlug (used as the city identifier in other endpoints).

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-cities \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get events list

Retrieve list of events (concerts, comedy shows, sports, etc.) in a specific city. Paginates internally up to 5 pages and returns all results combined. Each event includes title, event_code, genre, language, certification, poster_url, cta_url, and event_date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-events-list \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### Get kids events

Retrieve kids events (workshops, classes, entertainment, activities for children) in a specific city. Paginates internally up to 5 pages and returns all results combined. Each event includes title, event_code, genre, language, certification, poster_url, cta_url, and event_date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-kids-events \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### Get movie details

Retrieve detailed information for a specific movie including cast, crew, synopsis, ratings, banner info, and release metadata. Combines data from multiple API sources and returns a flattened structure. The event_code is obtainable from get_recommended_movies, get_now_showing_movies, or get_upcoming_movies results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |
| `event_code` | string | Yes | Movie event code (alphanumeric ID starting with 'ET', e.g. 'ET00439772'). Obtainable from get_recommended_movies, get_now_showing_movies, or get_upcoming_movies results. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-movie-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","event_code":"<string>"}'
```

### Get movie showtimes

Retrieve theaters and showtimes for a specific movie in a city. Returns a list of venues (cinemas/theaters) with their available showtimes, seat categories, pricing, and availability for a given date. Automatically fetches showtimes for all language/format variants (child events) of the movie and merges them into the response. If no date is provided, returns showtimes for the earliest available date. Also returns the list of available dates for the movie. If venue_code is provided, only the matching venue is returned.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |
| `date` | string | No | Show date in YYYYMMDD format (e.g. '20260712'). If omitted, returns showtimes for the earliest available date. |
| `event_code` | string | Yes | Movie event code (alphanumeric ID starting with 'ET', e.g. 'ET00496605'). Obtainable from get_recommended_movies, get_now_showing_movies, or get_upcoming_movies results. |
| `venue_code` | string | No | Venue code to filter results to a single theater (e.g. 'SSNR'). Obtainable from a prior get_movie_showtimes call's venues[*].venue_code field. If omitted, all venues are returned. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-movie-showtimes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","date":"<string>","event_code":"<string>","venue_code":"<string>"}'
```

### Get now showing movies

Retrieve currently playing movies in a specific city. Paginates internally up to 5 pages and returns all results combined. Each movie includes title, event_code, genre, language, certification, poster_url, cta_url, and event_date (which may contain rating text for currently showing movies).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-now-showing-movies \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### Get recommended movies

Retrieve recommended/top movies for a specific city from the homepage TOP_MOVIES_WEB widget. Returns a list of movies with titles, event codes, genres, languages, poster URLs, and ratings where available. The limit parameter caps the number of results returned; 0 means all available.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |
| `limit` | integer | No | Maximum number of movies to return. 0 returns all available. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-recommended-movies \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","limit":"<integer>"}'
```

### Get upcoming movies

Retrieve upcoming movies in a specific city. Paginates internally up to 5 pages and returns all results combined. Each movie includes title, event_code, genre, language, certification, poster_url, cta_url, and event_date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-upcoming-movies \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>"}'
```

### Get venue events

Retrieve ongoing and upcoming events (movies, concerts, and other events) at a specific venue/cinema. Returns a list of events with title, genre, language, certification, poster, and status (ongoing/upcoming) for the requested date. If no date is specified, returns today's events (status=ongoing). Passing a future date returns events with status=upcoming. The venue_code is obtainable from get_movie_showtimes results (venues[*].venue_code). Also returns available_dates showing which dates have screenings.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `city` | string | No | City slug from get_cities results (RegionSlug field). |
| `date` | string | No | Date in YYYYMMDD format (e.g. '20260818'). If omitted, defaults to today's date. Events on today's date have status 'ongoing'; events on future dates have status 'upcoming'. |
| `venue_code` | string | Yes | Venue/cinema code (e.g. 'PVFF', 'ANBL'). Obtainable from get_movie_showtimes results venues[*].venue_code field. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/in-bookmyshow/get-venue-events \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"city":"<string>","date":"<string>","venue_code":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.