# Cheapest Ticketmaster Scraper (`serp.cheap.ofc/cheapest-ticketmaster-scraper`) Actor

Scrape Ticketmaster events, venues and artists at the lowest price per result — plus live ticket prices and real seat availability. Pay per result — no start fee, no subscription.

- **URL**: https://apify.com/serp.cheap.ofc/cheapest-ticketmaster-scraper.md
- **Developed by:** [serp.cheap](https://apify.com/serp.cheap.ofc) (community)
- **Categories:** AI, E-commerce, Other
- **Stats:** 2 total users, 1 monthly users, 94.7% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 event founds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Cheapest Ticketmaster Scraper - Discovery, Live Prices/Seats, Seat Maps

> ⚠️ **Live pricing & seat maps (`event` mode) only work with a RESIDENTIAL proxy.** To read live prices, seats and auditorium maps you **must** set the proxy to **RESIDENTIAL** (Apify Proxy → Residential, or your own residential proxy). The discovery modes (`search`, `venue`, `artist`, `discover`) run on the default proxy. Blocked live-pricing / seat-map runs are **never charged**.

Scrape **Ticketmaster** events, venues and artists — plus **live ticket prices, real seat availability and full auditorium seat maps** — at the lowest price per result on the Apify Store. **Pay per result, no start fee, no subscription.**

- 🔎 **Search** events by keyword (artist, team, show)
- 🏟️ **Venue** & 🎤 **Artist** upcoming-event listings
- 🌆 **Discover** everything happening in a city
- 💵 **Live prices + seats** — the actual price range and available seats for an event (no other Store actor does this)
- 🗺️ **Seat maps** — the full auditorium map: every section as a polygon, availability joined in, optional per-seat coordinates
- 🩺 **Self-test** mode for uptime monitoring
- 💸 **$0.0005 / event** for discovery — the cheapest effective price on the Store — and **$0 start fee**

***

### What you get

#### Discovery modes (`search`, `venue`, `artist`, `discover`)

Fast and cheap. Each event row includes:

`eventId`, `title`, `url`, `startDate`, `onsaleDate`, `dateDisplay`, `timeZone`, `soldOut`, `limitedAvailability`, `ticketingStatus`, `cancelled` / `postponed` / `rescheduled` / `tba` / `virtual`, `category`, `imageUrl`, a nested `venue` (name, city, state, country, address, postal code, latitude, longitude) and `artists[]`. Venue/artist/discover rows also carry a `source` object identifying the venue, artist or city they came from.

#### Live pricing mode (`event`)

Reads the **live** data each event's own page loads:

`currency`, `priceMin`, `priceMax`, `soldOut`, `totalAvailable`, `priceLevels[]` (per price level: sections, areas, price range, count) and `availableSeats[]` (concrete section / row / seats sampled from the map).

> Every other Store competitor stops at discovery. This actor returns the live pricing data. **Requires a residential proxy.**

#### Seat map (`event` mode, opt-in via `includeSeatMap`)

Set `includeSeatMap: true` and each `event` row also gets a `seatMap` object — the venue's auditorium map:

`venueConfigId`, `totalPlaces`, `canvas` (map width/height), `mapImageUrl` (the seating-chart image), `sectionCount`, `totalAvailable`, and `sections[]`. Each section carries `name`, `category`, `totalPlaces`, live `available` count + `seating` + `inventoryTypes` (joined from real availability), and its polygon geometry (`bounds`, `path`). Set `seatLevel: true` to also get every individual `seats[]` entry (row, label, `x`/`y` coordinates) inside each section — great for building your own interactive map, but large for big arenas.

Billed as a separate **`seat-map`** charge per event, on top of `live-pricing`.

***

### Input

| Field | Used in | Description |
|---|---|---|
| `mode` | all | `search`, `venue`, `artist`, `discover`, `event`, or `selftest`. |
| `term` | `search` | Keyword — artist, team, show or event name. |
| `venueUrls` | `venue` | Ticketmaster venue URLs or bare venue IDs. |
| `artistUrls` | `artist` | Ticketmaster artist URLs or bare artist IDs. |
| `cities` | `discover` | Discover URLs or city slugs (e.g. `new-york`). |
| `eventUrls` | `event` | Event URLs (`.../event/<ID>`) or bare event IDs. **Requires a residential proxy.** |
| `includeSeatMap` | `event` | Also capture the auditorium seat map (adds the `seat-map` charge). Default `false`. |
| `seatLevel` | `event` | With `includeSeatMap`, also extract every seat's coordinates. Large output. Default `false`. |
| `maxItems` | all | Cap on results scraped in the run (default 100). |
| `proxyConfiguration` | all | Leave empty for discovery. **Set to RESIDENTIAL for `event` mode.** |

#### Example — search

```json
{ "mode": "search", "term": "Taylor Swift", "maxItems": 100 }
```

#### Example — live prices + seats + seat map (residential proxy required)

```json
{
  "mode": "event",
  "eventUrls": ["https://www.ticketmaster.com/event/0E00612D3B6E6D8F"],
  "includeSeatMap": true,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

#### Example — a city's events

```json
{ "mode": "discover", "cities": ["new-york", "los-angeles"] }
```

***

### Proxy

**Discovery** modes (`search`, `venue`, `artist`, `discover`) run on the default Apify proxy — lowest cost, no residential needed.

**Live pricing** (`event`) **requires a residential proxy** — set `proxyConfiguration` to RESIDENTIAL (or supply your own). If an event still can't be reached, the actor records a clear note and **does not charge you** for it.

### Pricing

**$0.0005 per discovery event, $0.04 per live-priced event, $0.02 per seat map, $0 start fee.** The cheapest effective Ticketmaster discovery scraper on the Store, and the only one that returns live prices, seats and auditorium maps. Blocked live-pricing / seat-map runs are never charged. Full comparison in [PRICING.md](./PRICING.md).

### Output

Results go to the dataset. Ready-made views: **Events (discovery)**, **Live prices + seats**, and **Seat map**. Export as JSON, CSV, Excel, or pull via the Apify API.

### Disclaimer

This actor scrapes publicly available information. Use it in compliance with Ticketmaster's terms and applicable law, and only for data you're permitted to collect.

# Actor input Schema

## `mode` (type: `string`):

What to scrape. "search" lists events matching a keyword; "venue"/"artist" list a venue's or artist's upcoming events; "discover" lists events in a city; "event" reads LIVE ticket prices and real seat availability for each event; "selftest" checks that everything still works (for monitoring).

## `term` (type: `string`):

Keyword to search for — an artist, team, show or event name (e.g. "Taylor Swift", "Lakers", "Hamilton"). Used only in "search" mode.

## `venueUrls` (type: `array`):

Venues to list upcoming events for. Accepts Ticketmaster venue URLs (https://www.ticketmaster.com/<slug>/venue/<id>) or bare venue IDs. Used only in "venue" mode.

## `artistUrls` (type: `array`):

Artists/attractions to list upcoming events for. Accepts Ticketmaster artist URLs (https://www.ticketmaster.com/<slug>/artist/<id>) or bare artist IDs. Used only in "artist" mode.

## `cities` (type: `array`):

Cities to discover events in. Accepts a bare city slug (e.g. "new-york", "los-angeles") — the "concerts" category is used by default. To pick another category, pass "<category>/<city>" (e.g. "sports/new-york", "arts-theater/chicago"), or a full Ticketmaster discover URL (https://www.ticketmaster.com/discover/<category>/<city>). Used only in "discover" mode.

## `eventUrls` (type: `array`):

Events to read LIVE prices and seat availability for. Accepts Ticketmaster event URLs (https://www.ticketmaster.com/event/<ID>) or bare event IDs. Used only in "event" mode. ⚠️ REQUIRES a RESIDENTIAL proxy. Set Proxy configuration below to RESIDENTIAL (or supply your own residential proxy). Runs that get blocked are NOT charged.

## `includeSeatMap` (type: `boolean`):

In "event" mode, also capture the venue's auditorium map: every section as a polygon on the seating chart, with per-section availability joined in, plus the seat-map image URL. Adds the "seat-map" charge per event. ⚠️ Also requires a RESIDENTIAL proxy.

## `seatLevel` (type: `boolean`):

When "Include seat map" is on, also extract every individual seat (row, label and x/y coordinates) inside each section. Produces large output for big arenas. No extra charge beyond "seat-map".

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

Maximum number of results to scrape across the whole run (events in search/discovery modes, pages in venue/artist, events in event mode).

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

The default Apify proxy works for discovery (search/venue/artist/discover) — leave this empty. ⚠️ The "event" (live prices + seats) mode REQUIRES a RESIDENTIAL proxy: set this to Apify Proxy → RESIDENTIAL, or supply your own residential proxy URLs.

## Actor input object example

```json
{
  "mode": "search",
  "term": "Taylor Swift",
  "cities": [
    "new-york"
  ],
  "includeSeatMap": false,
  "seatLevel": false,
  "maxItems": 100
}
```

# Actor output Schema

## `events` (type: `string`):

No description

## `pricing` (type: `string`):

No description

## `seatmap` (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 = {
    "term": "concerts",
    "cities": [
        "new-york"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("serp.cheap.ofc/cheapest-ticketmaster-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 = {
    "term": "concerts",
    "cities": ["new-york"],
}

# Run the Actor and wait for it to finish
run = client.actor("serp.cheap.ofc/cheapest-ticketmaster-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 '{
  "term": "concerts",
  "cities": [
    "new-york"
  ]
}' |
apify call serp.cheap.ofc/cheapest-ticketmaster-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/tViOaajiCJgogIu2e/builds/lHdzU2N6bIROBqCSv/openapi.json
