# Ticketmaster Presale Monitor (`aboo.script/ticketmaster-presale-monitor-scraper`) Actor

\[💰$4.5 / 1K] ⚡ Fast, cheap Ticketmaster presale monitor that bypasses anti-bot blocking. No login, no API key. Track new events, presales, on-sale dates, sold-out, limited availability, cancellations and price changes in 20 countries by keyword or URL. Get only what changed since the last run.

- **URL**: https://apify.com/aboo.script/ticketmaster-presale-monitor-scraper.md
- **Developed by:** [Aboo Script](https://apify.com/aboo.script) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.15 / 1,000 results

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Ticketmaster Presale Monitor

![Ticketmaster Presale Monitor](https://i.ibb.co/rKdrMrm0/ticketmaster-banner.png)

**Ticketmaster Presale Monitor** tracks events on [Ticketmaster](https://www.ticketmaster.com/) in 20 countries, including the US, Canada, the UK, Germany, and Australia, and tells you what changed since the last run: new events, new presales, on-sale dates, sold-out and limited availability, cancellations, and price changes. Paste a Ticketmaster artist, venue, search, or category URL, or type a few keywords, then schedule it. Download the results as JSON, CSV, Excel, or HTML. No account, login, or API key required.

### Introduction

[Ticketmaster](https://www.ticketmaster.com/) is the largest ticketing platform for concerts, sports, theater, and comedy. Tickets for popular events are often released in several presale windows before the general sale, and the best seats go within minutes.

This actor checks the public event listings you see in your browser and keeps a history of every event between runs. Each event is marked as new, changed, or unchanged, with a list of exactly what changed. Run it on a schedule and get only the events that need your attention.

### What data can you extract from Ticketmaster?

- 🎫 Event name, date, time zone, and direct event URL
- 🗓️ Presale calendar: every presale window with its name, start, and end time
- 🚦 Sale status (Presale, On Sale, Not On Sale Yet, Sold Out, Cancelled, Postponed, Past), general on-sale date, and the next upcoming sale
- 📉 Sold-out, limited availability, cancelled, postponed, and rescheduled flags
- 💲 Lowest and highest ticket price with currency
- 🔔 Change type (New, Changed, Unchanged) and a list of changes with the previous and current value
- 📍 Venue name, address, city, postal code, country, and GPS coordinates
- 🎤 Artists with their Ticketmaster pages, event image, and seat map image
- ⏱️ When the event was first seen, last checked, and checked now

### Use Cases

- 🎟️ **Presale alerts**: know when a new presale is announced or opens for the artists, teams, or venues you follow.
- 📈 **Ticket market research**: track sell-outs, limited availability, and price moves across tours and venues.
- 🏟️ **Venue and promoter monitoring**: follow every new show added to a venue calendar.
- 📰 **Event news and listings**: keep an event guide up to date with new dates, cancellations, and postponements.
- 🤖 **AI and automation**: send changes to Slack, email, Google Sheets, or your own workflows.

### How to monitor Ticketmaster step by step

1. Paste one or more Ticketmaster URLs into **Start URLs**, or type keywords into **Search queries**.
2. Set **Maximum number of results** to how many events you want to follow per URL or per query.
3. Choose the **Output**: all events, or only new and changed events.
4. Click **Start**. The first run records every event as new.
5. Schedule the actor (for example every hour or every day). Each next run compares the events with the previous run and marks what changed.
6. Download your data in JSON, CSV, Excel, or HTML from the **Output** tab, or connect it to your tools.

### Input

- **Start URLs**: Ticketmaster URLs to monitor. Supported pages: search results, artist pages, venue pages, and category pages on ticketmaster.com (US), ticketmaster.ca (Canada), ticketmaster.co.uk (UK), and 17 other country sites. Filters in search URLs (keyword, dates, sort) are kept. The country is taken from the URL.
- **Search queries**: keywords to monitor, such as an artist, team, tour, or venue, one per line. Each query is searched separately.
- **Country**: the Ticketmaster country site used for search queries. Default: United States.
- **Start date** and **End date**: only monitor events in this date range. Applies to search queries.
- **Sort by**: order of search results (relevance or date). Applies to search queries.
- **Output**: "All events" saves every checked event on every run with its change type and changes. "Only new and changed events" saves an event only when it is new or one of its sale details changed, which is ideal for scheduled alerts.
- **Track ticket prices**: also check the lowest and highest ticket price of each event and report price changes.
- **Monitor name**: optional name for this monitor. Runs with the same name share their history. Leave it empty to keep a separate history for every combination of start URLs, search queries, and filters.
- **Maximum number of results**: how many events to monitor for each start URL or search query.
- **Proxy configuration**: residential proxies are required, because Ticketmaster blocks datacenter IP addresses. Keep the default.

You can use start URLs, search queries, or both in the same run.

### Input Examples

Monitor two venues, one in the US and one in the UK:

```json
{
  "startUrls": [
    { "url": "https://www.ticketmaster.com/madison-square-garden-tickets-new-york/venue/483329" },
    { "url": "https://www.ticketmaster.co.uk/o2-academy-bristol-tickets-bristol/venue/509558" }
  ],
  "outputMode": "all",
  "trackPrices": true,
  "maxResults": 5,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

Monitor a keyword on Ticketmaster US:

```json
{
  "searchQueries": ["comedy"],
  "country": "US",
  "sort": "relevance",
  "outputMode": "all",
  "maxResults": 5,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

### Output

Each event is saved as one item in the dataset. Here is an example of a single item:

```json
{
  "url": "https://www.ticketmaster.co.uk/angele-instinct-tour-2027-london-01-05-2027/event/1F00651A9CDC31EB",
  "eventId": "1F00651A9CDC31EB",
  "country": "GB",
  "name": "Angèle - Instinct Tour 2027",
  "startDate": "2027-05-01T18:00:00.000Z",
  "timeZone": "Europe/London",
  "dateToBeAnnounced": false,
  "saleStatus": "On Sale",
  "onsaleDate": "2026-09-07T09:00:00.000Z",
  "presales": [
    {
      "name": "Artist Presale",
      "startDate": "2026-09-02T09:00:00.000Z",
      "endDate": "2026-09-07T08:00:00.000Z"
    },
    {
      "name": "Priority from O2",
      "startDate": "2026-09-02T09:00:00.000Z",
      "endDate": "2026-09-07T08:00:00.000Z"
    },
    {
      "name": "Metropolis Presale - VIP Packages",
      "startDate": "2026-09-03T09:00:00.000Z",
      "endDate": "2026-09-07T08:00:00.000Z"
    }
  ],
  "nextSale": null,
  "soldOut": false,
  "limitedAvailability": false,
  "cancelled": false,
  "postponed": false,
  "rescheduled": false,
  "priceMin": 40.35,
  "priceMax": 119.8,
  "currency": "GBP",
  "venue": {
    "name": "Roundhouse",
    "address": "Chalk Farm Road, Camden",
    "city": "London",
    "state": null,
    "postalCode": "NW1 8EH",
    "countryCode": "GB",
    "latitude": 51.543051,
    "longitude": -0.151324,
    "url": "https://www.ticketmaster.co.uk/roundhouse-tickets-london/venue/254429"
  },
  "artists": [
    {
      "name": "Angèle",
      "url": "https://www.ticketmaster.co.uk/angele-tickets/artist/5258837"
    },
    {
      "name": "Angele",
      "url": "https://www.ticketmaster.co.uk/angele-tickets/artist/5252946"
    }
  ],
  "imageUrl": "https://s1.ticketm.net/dam/a/85d/878375a1-8008-4aab-bdcc-e630b38f285d_RETINA_PORTRAIT_16_9.jpg",
  "seatMapUrl": "https://s1.ticketm.net/uk/tmimages/venue/maps/uk5/19284s.gif",
  "changeType": "New",
  "changes": [],
  "firstSeenAt": "2026-10-17T16:17:28.210Z",
  "previousCheckAt": null,
  "checkedAt": "2026-10-17T16:17:28.210Z",
  "sourceUrl": "https://www.ticketmaster.co.uk/search?q=2027+tour&sort=relevance"
}
```

On later runs, `changeType` becomes `Changed` when something changed, and `changes` lists each changed field (`name`, `startDate`, `onsaleDate`, `presales`, `saleStatus`, `soldOut`, `limitedAvailability`, `cancelled`, `postponed`, `rescheduled`, `priceMin`, `priceMax`) with its `previousValue` and `currentValue`. `nextSale` shows the next presale or general sale that has not started yet, with its name and start time.

You can download the dataset in JSON, CSV, Excel, XML, or HTML, or access it through the Apify API.

### Notes

- The first run of a monitor reports every event as new. Changes appear from the second run on.
- The history is kept per monitor name, or per combination of start URLs, search queries, and filters when no name is set. Changing the URLs or queries starts a new history; set a **Monitor name** to keep it.
- Sale status is worked out at the moment of the check, so an event moves from "Not On Sale Yet" to "Presale" or "On Sale" by itself when a sale window opens.
- Ticket prices are not available on ticketmaster.com (US) and ticketmaster.ca (Canada), or for events sold through partner sites; those prices are `null`. Elsewhere, prices are face values (without service fees), and events that are not on sale yet have no price.
- Only events at venues in the country of the site are monitored. Search results from other countries are skipped.
- Single event URLs are not supported. Monitor the event through its artist, venue, or a search URL instead.
- Supported countries: United States, Canada, United Kingdom, Ireland, Germany, Austria, Switzerland, Netherlands, Belgium, Denmark, Norway, Sweden, Finland, Poland, Czech Republic, Australia, New Zealand, Mexico, South Africa, and United Arab Emirates. URLs from other Ticketmaster sites (such as France, Spain, or Italy) are skipped.
- Events that have taken place are removed from the history one day after their date.
- Residential proxies are required for stable results.

### Why use the Ticketmaster Presale Monitor?

- ✅ **No login or API key**: works with public data only, so there is nothing to set up.
- 🔔 **Real change tracking**: every run tells you what changed, with old and new values.
- 🌍 **20 countries**: monitor the US, Canada, the UK, Europe, Australia, and more in one run.
- 🎯 **Keeps your filters**: paste any search, artist, venue, or category URL from your browser.
- 💸 **Pay for what matters**: switch to "Only new and changed events" to get and pay for changes only.
- 🔄 **Ready for automation**: schedule runs and connect to Slack, Google Sheets, Make, Zapier, and n8n.

### FAQ

#### How often should I run the monitor?

Schedule it as often as you need. Hourly runs catch presales as they are announced; daily runs are enough to follow new dates and sell-outs.

#### How many events can I monitor?

Set any number in **Maximum number of results**. The actor keeps going through the pages until it reaches your limit or runs out of events.

#### Do I need a Ticketmaster account?

No. The actor only reads publicly available event listings. You do not need to log in or provide any account details.

#### Can I get alerts?

Yes. Use "Only new and changed events" and connect the actor to Slack, email, or any app through Apify integrations or webhooks, so each run sends only the changes.

#### Can I request a new feature or filter?

Yes. Right now the actor supports start URLs, search queries, country, date range, and sort. If you need other filters or alerts, such as a price threshold or a specific presale name, get in touch and they can be added.

#### Can I get a custom or private version?

Yes. The actor can be customized for your workflow, delivered as a private version, or a new scraper can be built for a different website. Use the contact details below.

### Need to scrape other event platforms?

- [Ticketmaster Scraper](https://apify.com/aboo.script/ticketmaster-scraper): full event details and every ticket price with fees from Ticketmaster in 18 countries.
- [Fever Scraper](https://apify.com/aboo.script/feverup-scraper): events, experiences, sessions, and ticket prices from Fever.
- [Tiqets Scraper](https://apify.com/aboo.script/tiqets-scraper): attraction and museum tickets with prices and ticket options from Tiqets.
- [Webook Scraper](https://apify.com/aboo.script/webook-scraper): events and experiences with tickets from Webook.
- [Agoda Activities Scraper](https://apify.com/aboo.script/agoda-scraper): tours and activities with packages and prices from Agoda.

***

**Need help or want a custom solution?**

- 📧 Email: aboo.script@gmail.com
- 🧩 More scrapers: [Apify profile](https://apify.com/aboo.script)

### Image Credit

Image credit: [Ticketmaster](https://www.ticketmaster.com/)

# Actor input Schema

## `startUrls` (type: `array`):

Ticketmaster search, artist, venue or category URLs to monitor, from ticketmaster.com, ticketmaster.ca, ticketmaster.co.uk or another supported country site. The country is taken from the URL.

## `searchQueries` (type: `array`):

Keywords to monitor on Ticketmaster, such as an artist, team, tour or venue. Each query is searched separately on the site of the selected country.

## `country` (type: `string`):

Ticketmaster country site to search. Applies to search queries; start URLs use the country of their own site.

## `startDate` (type: `string`):

Only monitor events on or after this date. Applies to search queries. Leave empty to start from today.

## `endDate` (type: `string`):

Only monitor events on or before this date. Applies to search queries. Leave empty to include all upcoming events.

## `sort` (type: `string`):

Order of search query results, which decides the events picked when the maximum number of results is reached. Applies to search queries.

## `outputMode` (type: `string`):

"All events" saves every checked event on every run, each marked as new, changed or unchanged with its list of changes. "Only new and changed events" saves an event only when it is seen for the first time or one of its sale details changed since the previous run, which suits scheduled runs.

## `trackPrices` (type: `boolean`):

Check the lowest and highest ticket price of each event and report price changes. Not available on ticketmaster.com (US) and ticketmaster.ca (Canada).

## `monitorId` (type: `string`):

Optional name of this monitor. Runs with the same name share their history, so changes are reported against the last run with that name. Leave empty to keep a separate history for every combination of start URLs, search queries and filters.

## `maxResults` (type: `integer`):

Maximum number of events to monitor per start URL or search query.

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

Residential proxies are required: Ticketmaster blocks datacenter IP addresses. Keep the default unless you have your own residential proxies.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.ticketmaster.com/madison-square-garden-tickets-new-york/venue/483329"
    },
    {
      "url": "https://www.ticketmaster.co.uk/o2-academy-bristol-tickets-bristol/venue/509558"
    }
  ],
  "searchQueries": [
    "comedy"
  ],
  "country": "US",
  "sort": "relevance",
  "outputMode": "all",
  "trackPrices": true,
  "maxResults": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `overview` (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 = {
    "startUrls": [
        {
            "url": "https://www.ticketmaster.com/madison-square-garden-tickets-new-york/venue/483329"
        },
        {
            "url": "https://www.ticketmaster.co.uk/o2-academy-bristol-tickets-bristol/venue/509558"
        }
    ],
    "searchQueries": [
        "comedy"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("aboo.script/ticketmaster-presale-monitor-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 = {
    "startUrls": [
        { "url": "https://www.ticketmaster.com/madison-square-garden-tickets-new-york/venue/483329" },
        { "url": "https://www.ticketmaster.co.uk/o2-academy-bristol-tickets-bristol/venue/509558" },
    ],
    "searchQueries": ["comedy"],
}

# Run the Actor and wait for it to finish
run = client.actor("aboo.script/ticketmaster-presale-monitor-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.ticketmaster.com/madison-square-garden-tickets-new-york/venue/483329"
    },
    {
      "url": "https://www.ticketmaster.co.uk/o2-academy-bristol-tickets-bristol/venue/509558"
    }
  ],
  "searchQueries": [
    "comedy"
  ]
}' |
apify call aboo.script/ticketmaster-presale-monitor-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aboo.script/ticketmaster-presale-monitor-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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