# LiveTicket.ma Scraper - Morocco Events (`aboo.script/liveticket-ma-scraper`) Actor

⚡ Fast LiveTicket.ma scraper for Morocco events. No login, no API key. Get concerts and shows by keyword, category, city, date or URL with dates, venues, organizer, every ticket category with prices in MAD, sales status and posters. Perfect for event and price monitoring.

- **URL**: https://apify.com/aboo.script/liveticket-ma-scraper.md
- **Developed by:** [Aboo Script](https://apify.com/aboo.script) (community)
- **Security:** Limited permissions
- **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

## LiveTicket.ma Scraper - Morocco Events

![LiveTicket.ma Scraper - Morocco Events](https://i.ibb.co/BHrzVwdH/liveticket-ma-banner.png)

**LiveTicket.ma Scraper** extracts concerts, shows and other events in Morocco from [LiveTicket.ma](https://liveticket.ma/) into clean, structured data you can download as JSON, CSV, Excel, or HTML. Paste a LiveTicket.ma page or type a keyword, and get the event title, date, venue, city, organizer, sales status, every ticket category with its price in MAD, the description and the poster image. No account or login required.

### Introduction

[LiveTicket.ma](https://liveticket.ma/) is a Moroccan ticketing website for live events, mostly concerts and tribute shows in Casablanca, Rabat, Marrakech and Tangier. Its event pages list every ticket category with its price, which makes it a useful source for following the Moroccan live entertainment market.

This actor collects the same public information you see in your browser and turns it into a ready-to-use dataset. You can run it once, schedule it to run daily, or connect it to your own tools.

### What data can you extract from LiveTicket.ma?

- 🎤 Event title, tagline, category and description
- 📅 Event date and time, plus the date text shown on the page (e.g. when a new date is still to be announced)
- 📍 Venue and city
- 🏢 Organizer
- 🎟️ Every ticket category with its name, description, price, and booking link
- 💲 Lowest and highest ticket price in MAD
- 🚦 Sales status (on sale, sales closed, postponed, unavailable) and whether the event is already over
- 🖼️ Event poster image
- 🔗 Direct URL and ID of each event

### Use Cases

- 📈 **Market research**: track which artists and shows are booked in Moroccan cities and how tickets are priced.
- 🕵️ **Competitor monitoring**: follow the events, venues and price levels of other promoters.
- 🤝 **Lead generation**: build a list of organizers and venues active in the Moroccan events scene.
- 🗂️ **Database building**: create your own calendar of concerts and shows in Morocco.
- 🤖 **AI and automation**: feed clean, structured data into spreadsheets, dashboards, or AI workflows.

### How to scrape LiveTicket.ma step by step

1. Paste one or more LiveTicket.ma URLs into **Start URLs**, or type keywords into **Search queries**.
2. Optionally pick a **Category**, **City**, **Date from** or **Date to** for your search queries.
3. Set **Maximum number of results** to how many events you want per URL or per query.
4. Click **Start** and wait for the run to finish.
5. Download your data in JSON, CSV, Excel, or HTML from the **Output** tab.

### Input

- **Start URLs**: LiveTicket.ma URLs to scrape. Supported pages: the home page, the events page with or without filters (e.g. `https://liveticket.ma/events/?category=concerts&city=rabat`), category pages (`https://liveticket.ma/event-category/concerts/`), city pages (`https://liveticket.ma/event-city/casablanca/`) and single event pages. Any filters you apply on the events page (category, city, dates, keyword) are kept in the results.
- **Search queries**: keywords to search on LiveTicket.ma, such as an artist or show name, one per line. Each query is scraped separately.
- **Maximum number of results**: how many events to collect for each start URL or search query. Set 0 for no limit.
- **Category**: only return events of this category. Applies to search queries only.
- **City**: only return events in this city. Applies to search queries only.
- **Date from**: only return events on or after this date. A date in the past also returns past events. Applies to search queries only.
- **Date to**: only return events on or before this date. Applies to search queries only.

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

### Input Examples

Scrape the events page of LiveTicket.ma:

```json
{
  "startUrls": [{ "url": "https://liveticket.ma/events/" }],
  "maxResults": 5
}
```

Search by keyword with filters:

```json
{
  "searchQueries": ["tribute"],
  "category": "concerts",
  "city": "casablanca",
  "dateFrom": "2026-01-01",
  "maxResults": 5
}
```

### Output

Each event is saved as one item in the dataset. Here is an example of a single item (ticket list and description shortened):

```json
{
  "url": "https://liveticket.ma/event/coldplay-tribute-a-sky-full-of-stars/",
  "id": 46334,
  "title": "Coldplay Tribute – A Sky Full of Stars",
  "tagline": "Mega Show",
  "category": "Concerts",
  "city": "Casablanca",
  "venue": "Église du Sacré-Cœur",
  "organizer": "UnderGround",
  "startDate": "2026-10-29T20:00:00Z",
  "dateText": "29 octobre 2026 20:00",
  "saleStatus": "On sale",
  "isPastEvent": false,
  "priceMin": 300,
  "priceMax": 1490,
  "currency": "MAD",
  "tickets": [
    {
      "id": 46337,
      "name": "GENERAL ACCESS",
      "description": null,
      "price": 300,
      "priceText": "300 DH",
      "currency": "MAD",
      "url": "https://liveticket.ma/ticket/coldplay-tribute-a-sky-full-of-stars-october-29-2026-800-pm/?ticket_id=46337"
    },
    {
      "id": 46338,
      "name": "GOLD EXPERIENCE",
      "description": null,
      "price": 450,
      "priceText": "450 DH",
      "currency": "MAD",
      "url": "https://liveticket.ma/ticket/coldplay-tribute-a-sky-full-of-stars-october-29-2026-800-pm/?ticket_id=46338"
    }
  ],
  "description": "Préparez-vous à vivre une soirée exceptionnelle au cœur de La Cathédrale du Sacré-Cœur de Casablanca avec un hommage spectaculaire à Coldplay.\n\nEntre bracelets ...",
  "image": "https://liveticket.ma/wp-content/uploads/royaltickets-uploads/2026/10/Affiche-hommage-a-Coldplay-a-Casablanca-1.png"
}
```

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

### Notes

- LiveTicket.ma usually lists only a handful of upcoming events at a time, so a run over the events page returns a small number of results.
- Past events can be reached with a search query and a **Date from** in the past. The website no longer shows their ticket prices, so their ticket list is empty and the sales status is "Unavailable".
- Event dates are converted from Moroccan local time. When an event is postponed without a new date, the date is `null` and the page text is kept in `dateText`.
- Titles, descriptions and ticket names are in the language used by the website (mostly French).
- Venue pages and other website pages (blog, contact) are not supported and are skipped.

### Why use the LiveTicket.ma Scraper?

- ✅ **No login needed**: works with public data only, so there is no account to manage.
- 🎯 **Keeps your filters**: paste any events page URL from your browser and get exactly what you see there.
- 🎟️ **All ticket prices**: every ticket category of an event, not just the cheapest one.
- 🧹 **Clean data**: prices are real numbers, dates use one standard format, and text is free of HTML.
- 💸 **Pay for what you need**: set a result limit per URL or query and keep every run small and cheap.
- 🔄 **Ready for automation**: schedule runs, export to Google Sheets, or connect to Make, Zapier, and n8n.

### FAQ

#### How many results can I scrape?

You can set any number in **Maximum number of results**, or 0 for no limit. The actor keeps going until it reaches your limit or runs out of events.

#### Do I need a LiveTicket.ma account?

No. The actor only collects publicly available data. You do not need to log in or provide any account details.

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

Yes. Use Apify Schedules to run the actor every hour, day, or week, and get fresh data automatically.

#### Why are some fields empty?

Some events simply do not show every piece of information, such as a tagline or a ticket description. When a field is not available on the website, it is returned as `null`.

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

Yes. Right now the actor supports start URLs, search queries, and category, city and date filters. If you need other inputs, 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): events, venues and ticket prices from Ticketmaster.
- [Fever Scraper - Events & Experiences](https://apify.com/aboo.script/feverup-scraper): events and experiences with prices from Fever.
- [Webook Scraper - Events & Experiences](https://apify.com/aboo.script/webook-scraper): events and experiences from Webook in Saudi Arabia and the Gulf.
- [The Agenda Scraper - Dubai Concerts & Shows](https://apify.com/aboo.script/theagenda-scraper): concerts and shows in Dubai.
- [Get-In Scraper - Events](https://apify.com/aboo.script/get-in-scraper): events and ticket prices from Get-In.

***

**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: [LiveTicket.ma](https://liveticket.ma/)

# Actor input Schema

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

LiveTicket.ma URLs to start with: the home page, the events page with or without filters (e.g. https://liveticket.ma/events/?category=concerts\&city=rabat), a category page (https://liveticket.ma/event-category/concerts/), a city page (https://liveticket.ma/event-city/casablanca/) or an event page.

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

Keywords to search on LiveTicket.ma, like the site's keyword search (e.g. an artist or show name). Each query is scraped separately.

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

Maximum number of events to scrape per start URL or search query. Set 0 for no limit.

## `category` (type: `string`):

Only return events of this category. Applies to search queries only.

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

Only return events in this city. Applies to search queries only.

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

Only return events on or after this date (YYYY-MM-DD). A date in the past also returns past events. Without it, a 'Date to' range starts today. Applies to search queries only.

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

Only return events on or before this date (YYYY-MM-DD). Applies to search queries only.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://liveticket.ma/events/"
    }
  ],
  "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://liveticket.ma/events/"
        }
    ]
};

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

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aboo.script/liveticket-ma-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/bpEGPNuQxwyYrQyP0/builds/c7q63vAFXXpp9ceoy/openapi.json
