# Tickit Scraper (`aboo.script/tickit-co-scraper`) Actor

Fast Tickit scraper for concerts, comedy, and nightlife. Extract event dates, venues, organizer contacts, images, and ticket options with prices and availability. Filter by country, city, date, price, or genre. No login required.

- **URL**: https://apify.com/aboo.script/tickit-co-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 $2.80 / 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

## Tickit Scraper

![Tickit Scraper](https://i.ibb.co/C584MZHk/tickit-co-banner.png)

**Tickit Scraper** extracts events, venues, organizer contacts, and ticket prices from [Tickit](https://tickit.co/). Paste a country, city, or event URL to collect structured data that you can download as JSON, CSV, Excel, or HTML. No login required.

### Introduction

[Tickit](https://tickit.co/) lists concerts, comedy, nightlife, and other live events in Lebanon, the United Arab Emirates, and other countries. Its event pages include dates, venue information, booking options, and organizer details.

Collect these listings for an event calendar, market research, or regular price comparisons.

### What data can you extract from Tickit?

- Event URL, ID, title, full description, status, genres, and images.
- Start and end dates, timezone, and door opening time when available.
- Venue, street address, city, state, country, and coordinates.
- Starting price, currency, and advertised price range.
- Public ticket options with sale names, prices, fees, availability, sale dates, and order limits.
- Organizer name, profile URL, image, public email, and phone.
- Artist information, entry policy, and available booking types.

### Use Cases

- Build a calendar of upcoming events in a country or city.
- Compare ticket categories and sale prices across venues.
- Find public organizer contacts for partnerships.
- Feed event listings into spreadsheets, dashboards, and research workflows.

### How to scrape Tickit step by step

1. Add Tickit URLs to **Start URLs**.
2. Set **Maximum number of results** for each URL.
3. For homepage URLs, optionally select a country, city, date range, price range, or genres.
4. Click **Start**, then download the dataset from the **Output** tab.

### Input

- **Start URLs**: the homepage, country pages such as `https://tickit.co/events-in/lebanon`, city pages such as `https://tickit.co/events-in/lebanon/beirut`, or individual event pages.
- **Maximum number of results**: event limit per start URL. Default: `5`. Use `0` for all available results.
- **Country**: country name or two-letter code for homepage URLs. The default homepage selection is United Arab Emirates.
- **City**: city name for homepage URLs, such as Dubai or Beirut.
- **Start date** and **End date**: event date range for homepage URLs, in `YYYY-MM-DD` format. Provide both.
- **Minimum price** and **Maximum price**: starting price range in the event's currency for homepage URLs. Provide both.
- **Genres**: genre names for homepage URLs, such as Comedy, Rock, or Techno.

Country and city URLs retain their own location. They also accept their existing `from`, `to`, `priceFrom`, `priceTo`, and `genres` parameters. Explicit URL values take priority over the additional input fields. English, French, and Arabic URL prefixes are accepted.

### Input Examples

Default input:

```json
{
  "startUrls": [{ "url": "https://tickit.co/" }],
  "maxResults": 5
}
```

### Output

Each dataset item represents one event, with its public ticket options grouped in `ticketOptions`.

```json
{
  "url": "https://tickit.co/events/AKBzDvxxBEgysDyOco6u",
  "id": "AKBzDvxxBEgysDyOco6u",
  "title": "Redouane Bougheraba",
  "description": "FROM PARIS TO DUBAI – REDOUANE BOUGHERABA LIVE AT PEPPERONI COMEDY CLUB! 🎤🔥\n\nDubai, get ready for an unforgettable night of French comedy!\nStraight from Paris, the one and only Redouane Bougheraba is bringing his incredible energy, sharp humor, and hilarious storytelling to the intimate stage of Pepperoni Comedy Club!\nOne of France’s most celebrated comedians, Redouane is known for his unique style, spontaneous interactions, and unstoppable ability to make audiences laugh.\nGet ready for a nigh...",
  "venue": "Pepperoni Comedy Club",
  "address": "Dubai, , Dubai, United Arab Emirates.",
  "city": "Dubai",
  "state": "Dubai",
  "country": "United Arab Emirates",
  "latitude": 25.2197055,
  "longitude": 55.2849018,
  "startDate": "2026-10-22T17:00:00.000Z",
  "endDate": "2026-10-22T18:30:00.000Z",
  "timezone": "Asia/Dubai",
  "doorsOpen": null,
  "status": "scheduled",
  "priceFrom": 250,
  "currency": "AED",
  "priceRange": {
    "min": 250,
    "max": 250
  },
  "genres": ["Comedy"],
  "imageUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2FAKBzDvxxBEgysDyOco6u%2Fgallery%2FAKBzDvxxBEgysDyOco6u.jpeg?alt=media&token=d29fa696-251b-4f54-907a-cfa067c329e1",
  "thumbnailUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2FAKBzDvxxBEgysDyOco6u%2Fgallery%2Fthumbnail_1600x900.jpeg?alt=media&token=9a8a7f4f-0cd2-4b38-8e18-2762b71b4afc",
  "images": [
    "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2FAKBzDvxxBEgysDyOco6u%2Fgallery%2FAKBzDvxxBEgysDyOco6u.jpeg?alt=media&token=d29fa696-251b-4f54-907a-cfa067c329e1",
    "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2FAKBzDvxxBEgysDyOco6u%2Fgallery%2Fthumbnail_1600x900.jpeg?alt=media&token=9a8a7f4f-0cd2-4b38-8e18-2762b71b4afc"
  ],
  "organizer": {
    "name": "Pepperoni Comedy Club",
    "url": "https://tickit.co/organizations/uvySh6IZHEbaFe0ql7Qn",
    "imageUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/organizations%2FuvySh6IZHEbaFe0ql7Qn%2Fgallery%2FuvySh6IZHEbaFe0ql7Qn-logo.jpg?alt=media&token=f9ea416f-674f-447b-b4b5-ca11e69cdd24",
    "email": "book@pepperonicomedyclub.ae",
    "phone": "+971 45727040"
  },
  "artists": [],
  "ticketOptions": [
    {
      "id": "0VU6l16Aqerj2pv97XJA",
      "name": "VIP BOOTH (Up to 6 people)",
      "currency": "AED",
      "saleName": "Single ticket",
      "basePrice": 1800,
      "price": 1800,
      "serviceFees": 0,
      "status": "sold out",
      "isFree": false,
      "availableQuantity": 0,
      "minPerOrder": 0,
      "maxPerOrder": 0,
      "incrementBy": 1,
      "salesStart": "2026-10-18T01:49:32.000Z",
      "salesEnd": "2026-10-22T18:30:00.000Z",
      "notice": "NON REFUNDABLE - Guests are required to spend a minimum of AED 100 per person on food and beverages to qualify for complimentary valet parking validation. If the minimum spend requirement is not met, valet parking validation cannot be provided, and a AED 50 valet parking charge will apply.",
      "imageUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2Ftickets%2F0VU6l16Aqerj2pv97XJA.jpeg?alt=media&token=048da35f-3368-424e-b4ac-6e0b26259b81",
      "seatingRequired": true
    },
    {
      "id": "g4mdSz75BtEBqA38FUx3",
      "name": "Zone A",
      "currency": "AED",
      "saleName": "Single ticket",
      "basePrice": 250,
      "price": 250,
      "serviceFees": 0,
      "status": "sold out",
      "isFree": false,
      "availableQuantity": 0,
      "minPerOrder": 1,
      "maxPerOrder": 10,
      "incrementBy": 1,
      "salesStart": "2026-10-18T01:50:32.000Z",
      "salesEnd": "2026-10-22T18:30:00.000Z",
      "notice": "NON REFUNDABLE - Guests are required to spend a minimum of AED 100 per person on food and beverages to qualify for complimentary valet parking validation. If the minimum spend requirement is not met, valet parking validation cannot be provided, and a AED 50 valet parking charge will apply.",
      "imageUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2Ftickets%2Fg4mdSz75BtEBqA38FUx3.jpeg?alt=media&token=9f85cd81-bb5c-406d-81b9-1644fa414d75",
      "seatingRequired": true
    },
    {
      "id": "An251vJEB3RiV0RNo1xv",
      "name": "Zone B",
      "currency": "AED",
      "saleName": "Single ticket",
      "basePrice": 200,
      "price": 200,
      "serviceFees": 0,
      "status": "sold out",
      "isFree": false,
      "availableQuantity": 0,
      "minPerOrder": 0,
      "maxPerOrder": 0,
      "incrementBy": 1,
      "salesStart": "2026-10-18T01:51:32.000Z",
      "salesEnd": "2026-10-22T18:30:00.000Z",
      "notice": "NON REFUNDABLE - Guests are required to spend a minimum of AED 100 per person on food and beverages to qualify for complimentary valet parking validation. If the minimum spend requirement is not met, valet parking validation cannot be provided, and a AED 50 valet parking charge will apply.",
      "imageUrl": "https://firebasestorage.googleapis.com/v0/b/ticket-development-6f3af.appspot.com/o/events%2Ftickets%2FAn251vJEB3RiV0RNo1xv.jpeg?alt=media&token=b50d7315-a51f-4abb-ac8c-262960e82c90",
      "seatingRequired": true
    }
  ],
  "doorPolicy": "Admission restricted to 21+ — ID will be checked at the entrance. Tickets are non-refundable, non-exchangeable and non-transferable. Please arrive early to ensure smooth entry. Tickets do not include food and beverage consumption. By purchasing, you agree to all event terms and venue policies.",
  "ticketsEnabled": true,
  "tablesEnabled": false,
  "guestlistEnabled": false,
  "scrapedAt": "2026-10-21T13:13:56.841Z"
}
```

Download the dataset as JSON, CSV, Excel, XML, or HTML, or access it through the Apify API.

### Notes

- Homepage inputs default to United Arab Emirates; set **Country** or use a country URL for other locations.
- Only homepage, country, city, and event URLs are supported. Organization, venue, artist, and category pages are outside this actor's scope.
- City filters can take longer because the actor checks listings across the selected country.
- Hidden events and private ticket options are excluded. Sold-out ticket options remain included with their status.
- Some listings have no starting price, ticket options, artist details, or door opening time. Missing values are `null` or empty lists.
- Ticket prices and availability are snapshots. Additional checkout charges may apply; sale prices are returned as displayed, without estimating a checkout total.
- Ticket categories can have different prices from the advertised starting price, especially when categories have sold out.
- Repeated events are removed within each start URL. An event can appear again when it belongs to more than one supplied URL.

### Why use the Tickit Scraper?

- No login needed.
- Ticket options accompany each event, including sold-out categories.
- Separate result limits keep each source under your control.
- Clean descriptions, numeric prices, and standard dates are ready to export.

### FAQ

#### Do I need a Tickit account?

No. You do not need to sign in or provide account details.

#### How many results can I scrape?

Choose a limit per URL, or set `maxResults` to `0` to continue until the available listings end.

#### Can I scrape data on a schedule?

Yes. Use Apify Schedules to refresh the dataset automatically.

#### Can I request another filter or a custom version?

Yes. Additional filters, custom workflows, and private versions are available on request through the contact details below.

### Need to scrape other event platforms?

- [Ticketmaster Scraper](https://apify.com/aboo.script/ticketmaster-scraper): event listings, venues, and ticket information.

***

**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: [Tickit](https://tickit.co/)

# Actor input Schema

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

Tickit homepage, country, city, or event URLs. Country/city URLs keep their location selection and URL filters.

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

Maximum events per start URL. Set 0 to collect all available events.

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

Country name or two-letter code for homepage start URLs. Defaults to United Arab Emirates. Country and city URLs keep their own location.

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

City for homepage start URLs, for example Dubai or Beirut. City URLs keep their own selection.

## `dateFrom` (type: `string`):

Earliest event date for homepage URLs, YYYY-MM-DD. Provide both dates. Location URLs use their from/to parameters.

## `dateTo` (type: `string`):

Latest event date for homepage URLs, YYYY-MM-DD. Provide both dates.

## `minPrice` (type: `integer`):

Minimum starting ticket price in the local event currency for homepage URLs. Provide both price bounds.

## `maxPrice` (type: `integer`):

Maximum starting ticket price in the local event currency for homepage URLs. Provide both price bounds.

## `genres` (type: `array`):

Event genres for homepage URLs, for example Comedy, Rock, or Techno. Location URLs use their genres parameter.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://tickit.co/"
    }
  ],
  "maxResults": 5
}
```

# 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://tickit.co/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("aboo.script/tickit-co-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://tickit.co/" }] }

# Run the Actor and wait for it to finish
run = client.actor("aboo.script/tickit-co-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://tickit.co/"
    }
  ]
}' |
apify call aboo.script/tickit-co-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aboo.script/tickit-co-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/mZ9wG9bCtldbq2cZj/builds/0u9kEddUOwDQOgG4c/openapi.json
