# Great Deals UAE Scraper - Attractions & Tours (`aboo.script/greatdeals-ae-scraper`) Actor

⚡ Fast Great Deals UAE scraper. No login, no API key. Extract discounted attraction tickets, tours, cruises, desert safaris and staycations by category, search or deal URL or keyword: price, original price, discount, ticket and package option prices, location, categories and vouchers sold.

- **URL**: https://apify.com/aboo.script/greatdeals-ae-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

## Great Deals UAE Scraper - Attractions & Tours

![Great Deals UAE Scraper - Attractions & Tours](https://i.ibb.co/hR5wd7kt/greatdeals-ae-banner.png)

**Great Deals UAE Scraper** extracts discounted attraction tickets, tours, cruises, desert safaris, staycations, and food deals from [Great Deals UAE](https://www.greatdeals.ae/) into clean, structured data you can download as JSON, CSV, Excel, or HTML. Paste a category or search URL, or type a few keywords, and get the deal price, original price, discount, ticket and package options with their prices, location, categories, number of vouchers sold, and images for every deal. No account or login required.

### Introduction

[Great Deals UAE](https://www.greatdeals.ae/) (greatdeals.ae) is a UAE deals website that sells discounted tickets for Burj Khalifa, theme parks, water parks, museums, zoos, shows, dhow and yacht cruises, desert safaris, hotel staycations, and restaurant offers in Dubai, Abu Dhabi, and the northern emirates. Its prices are a useful benchmark for anyone tracking attraction and tour prices in the UAE.

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 Great Deals UAE?

- 🏷️ Deal title, SKU, and deal URL
- 💲 Deal price, original price, discount amount, discount percentage, and currency (AED)
- 🎟️ Ticket options with adult and child prices, the lowest and highest price across dates, and the first and last bookable dates
- 🏨 Package options (nights, room types, pick-up and drop-off, and similar) with their final prices and price differences
- 📍 Location of the deal
- 🗂️ Categories with links
- 🛒 Number of vouchers sold, rating, and number of reviews
- 📝 Description and fine print as plain text
- 🖼️ Main image and the full image gallery
- 📅 Discount start and end dates, and when the deal was created and last updated
- ✅ Stock status

### Use Cases

- 📈 **Market research**: compare attraction, tour, and staycation prices across the UAE and see which deals sell best.
- 🕵️ **Competitor monitoring**: track how Great Deals UAE prices and discounts Burj Khalifa, theme park, and cruise tickets against your own offers.
- 🧳 **Travel planning tools**: power comparison sites, travel apps, or newsletters with current UAE deal prices.
- 🗂️ **Database building**: build a catalog of UAE attractions, tours, and hotel offers with locations and images.
- 🤖 **AI and automation**: feed clean, structured data into spreadsheets, dashboards, or AI workflows.

### How to scrape Great Deals UAE step by step

1. Paste one or more Great Deals UAE URLs into **Start URLs**, or type keywords into **Search queries**.
2. Optionally pick a **Category** and a **Sort by** order for your search queries.
3. Set **Maximum number of results** to how many deals 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**: Great Deals UAE URLs to scrape. Supported pages: category pages (for example `https://www.greatdeals.ae/dhow-cruise-dubai.html` or `https://www.greatdeals.ae/hotel-deals-in-uae-getaway/staycation-dubai.html`), search result pages (`https://www.greatdeals.ae/catalogsearch/result/?q=yacht`), and single deal pages. Sorting and page size you choose on the website are kept in the results.
- **Search queries**: keywords to search on Great Deals UAE, one per line (for example `desert safari` or `yacht`). Each query is scraped separately.
- **Category**: only return deals from one category, such as Theme Parks, Desert Safari, Staycation, or Dinner Cruise. Applies to search queries only.
- **Sort by**: order of search results: relevance, price from low to high, price from high to low, or name. Applies to search queries only.
- **Maximum number of results**: how many deals to collect for each start URL or search query. Set `0` for no limit.

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

### Input Examples

Scrape a category page from Great Deals UAE:

```json
{
  "startUrls": [{ "url": "https://www.greatdeals.ae/dhow-cruise-dubai.html" }],
  "maxResults": 5
}
```

Search by keywords inside one category, cheapest first:

```json
{
  "searchQueries": ["dubai"],
  "category": "29",
  "sortBy": "priceAsc",
  "maxResults": 5
}
```

### Output

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

```json
{
  "url": "https://www.greatdeals.ae/lotus-royale-yacht.html",
  "id": 4238,
  "sku": "20001124",
  "title": "Lotus Royale Dinner Cruise along JBR, Marina, Palm, Blue Waters & more",
  "location": "Pierre 7 Marina Mall",
  "price": 249,
  "originalPrice": 299,
  "discountAmount": 50,
  "discountPercent": 17,
  "currency": "AED",
  "inStock": true,
  "boughtCount": 184,
  "rating": null,
  "reviewCount": null,
  "categories": [
    {
      "name": "Dhow Cruise Dubai",
      "url": "https://www.greatdeals.ae/dhow-cruise-dubai.html"
    },
    {
      "name": "Private Yachts & Boats",
      "url": "https://www.greatdeals.ae/private-yachts-and-boats-dubai.html"
    }
  ],
  "ticketOptions": [
    {
      "name": "Dinner Cruise with soft drinks",
      "price": 299,
      "childPrice": 249,
      "priceMin": 299,
      "priceMax": 299,
      "firstAvailableDate": "2026-10-21",
      "lastAvailableDate": "2027-04-18",
      "availableDays": 180
    },
    {
      "name": "Dinner Cruise with Beverage",
      "price": 399,
      "childPrice": 249,
      "priceMin": 399,
      "priceMax": 399,
      "firstAvailableDate": "2026-10-21",
      "lastAvailableDate": "2027-04-18",
      "availableDays": 180
    }
  ],
  "packageOptions": [],
  "description": "Experience a breathtaking Megayacht Lotus Royale Dinner Cruise with a great buffet and amazing Dubai Marina views!\nMegayacht Lotus Royale Yacht Cruise with 3 hours Dinner along JBR, Marina, Palm, Blue Waters & Atlantis ...",
  "finePrint": "Valid for same day of your booking\nNot valid for New Year's Eve\nReservation are subject to availability ...",
  "imageUrl": "https://www.greatdeals.ae/pub/media/catalog/product/cache/3190874da09f9059a5640dce93659a51/l/o/lotus_royale_1.jpg",
  "images": [
    "https://www.greatdeals.ae/pub/media/catalog/product/cache/3190874da09f9059a5640dce93659a51/l/o/lotus_royale_1.jpg",
    "https://www.greatdeals.ae/pub/media/catalog/product/cache/3190874da09f9059a5640dce93659a51/l/o/lotus_royale_4.jpg"
  ],
  "discountStartDate": "2025-02-11T00:00:00Z",
  "discountEndDate": null,
  "createdAt": "2025-02-11T06:22:10Z",
  "updatedAt": "2026-01-15T11:50:05Z"
}
```

Hotel and safari deals with selectable packages fill `packageOptions` instead, for example:

```json
{
  "group": "Select an Option",
  "name": "1 Night for 2Adults and 1Child with 1 Park tickets",
  "price": 1280,
  "priceAdjustment": 240,
  "required": true
}
```

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

### Notes

- All prices are in UAE dirhams (AED), the only currency on the website.
- Ticket option prices are the prices for the first bookable date; `priceMin` and `priceMax` show the range across all bookable dates. A ticket option price can be higher than the headline deal price, because the website often advertises the lowest price (for example the child price).
- `childPrice` is `null` when a ticket option has a single price for everyone.
- Rating and review count are `null` for deals that have no reviews yet, which is the case for most deals.
- The price range filter on the website does not change the results, so it has no effect in start URLs either.
- URLs from other websites and Great Deals UAE pages that are not categories, searches, or deals (such as the homepage or help pages) are skipped.
- The same deal found by several start URLs or queries is only returned once.

### Why use the Great Deals UAE Scraper?

- ✅ **No login needed**: works with public data only, so there is no account to manage.
- 🎟️ **Every price, not just the headline**: ticket options with adult and child prices and package options with their final prices.
- 🎯 **Keeps your filters**: paste any category or search URL from your browser and get exactly what you see there.
- 🧹 **Clean data**: prices and counts 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 deals in that category or search.

#### Do I need a Great Deals UAE 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 deal prices automatically.

#### Can I scrape all deals from one category?

Yes. Paste the category URL into **Start URLs** and set **Maximum number of results** to `0`.

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

Yes. Right now the actor supports start URLs, search queries, a category filter, and sorting. If you need other filters or data, 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 travel and attraction platforms?

- [Tiqets Scraper - Attractions & Tours](https://apify.com/aboo.script/tiqets-scraper): attraction and tour tickets with prices, ratings, and locations from Tiqets.
- [GetYourGuide Scraper - Activities & Attractions](https://apify.com/aboo.script/getyourguide-scraper): activities, tours, and attraction tickets with prices and reviews from GetYourGuide.
- [Rayna Tours Scraper](https://apify.com/aboo.script/raynatours-scraper): UAE tours, activities, and attraction tickets with prices from Rayna Tours.
- [Viator Scraper](https://apify.com/aboo.script/viator-scraper): tours and experiences with prices, ratings, and reviews from Viator.
- [Agoda Activities Scraper](https://apify.com/aboo.script/agoda-scraper): activities and attraction tickets with 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: [Great Deals UAE](https://www.greatdeals.ae/)

# Actor input Schema

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

Great Deals UAE category pages (e.g. https://www.greatdeals.ae/dhow-cruise-dubai.html), search result pages (https://www.greatdeals.ae/catalogsearch/result/?q=yacht) or deal pages. Sorting and category parameters in the URL are kept.

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

Keywords to search on Great Deals UAE (e.g. desert safari, yacht). Each query is scraped separately.

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

Only return deals from this category. Applies to search queries only; start URLs keep their own filters.

## `sortBy` (type: `string`):

Order of search results. Applies to search queries only; start URLs keep their own sorting.

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

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

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.greatdeals.ae/dhow-cruise-dubai.html"
    }
  ],
  "sortBy": "relevance",
  "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://www.greatdeals.ae/dhow-cruise-dubai.html"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("aboo.script/greatdeals-ae-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.greatdeals.ae/dhow-cruise-dubai.html" }] }

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

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,aboo.script/greatdeals-ae-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/9G3Gu5MpSx6JCqapx/builds/VYfGdpJhqslBZKItT/openapi.json
