# flydubai Fare Radar: Compare & Track Daily Flight Prices (`boring_internet_explorer/flydubai-flights-scraper`) Actor

Compare and track flydubai flight prices day by day. Enter a destination (departure airport optional, Dubai by default) to get the lowest fare for every day up to a year ahead, one-way or return. Find the cheapest date and catch price drops with scheduled runs. Export to Excel, CSV or JSON.

- **URL**: https://apify.com/boring_internet_explorer/flydubai-flights-scraper.md
- **Developed by:** [Boring Internet Explorer](https://apify.com/boring_internet_explorer) (community)
- **Categories:** Travel
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
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

## ✈️ flydubai Fare Radar — Compare & Track Daily Flight Prices

**Know when flydubai flights are cheapest.** Fare Radar is a **flight price comparison and price tracking tool for flydubai**. Enter a destination and it returns the lowest fare for **every day** over the next weeks or months — the same daily price strip you see at the top of the flydubai results page, collected for as long a period as you want and delivered as a table you can download as Excel, CSV or JSON.

- 🔍 **Compare prices** across days, destinations and directions to find the cheapest date to fly
- 📈 **Track prices** by running it on a schedule and watching fares rise or drop between runs

flydubai is the Dubai-based low-cost airline flying to destinations across the Middle East, Africa, Europe and Asia. Checking one route's price day by day on the website takes a long time. Fare Radar does it in seconds, for one-way and return trips.

### 💡 What you get

Type `DEL` as the destination and you get one row per day, for example:

| Date   | Route     | Lowest fare | Available |
| ------ | --------- | ----------- | --------- |
| 6 Oct  | DXB → DEL | AED 1,217   | yes       |
| 7 Oct  | DXB → DEL | AED 1,208   | yes       |
| 8 Oct  | DXB → DEL | —           | no flight |
| 9 Oct  | DXB → DEL | AED 1,236   | yes       |
| 10 Oct | DXB → DEL | AED 1,139   | yes       |

Each row also includes the base fare and taxes, the price in Skywards miles, and whether the day is sold out or a promotional fare.

### 🔍 Compare prices

- **Compare days** — scan 30, 90 or 365 days in one run and sort by `price` to see the cheapest dates, and which weekdays or weeks cost more
- **Compare destinations** — run the same dates for several destinations and rank them by price
- **Compare directions** — add a return date to see outbound and return fares side by side
- **Compare against your budget** — filter the table to days under your target price

### 📈 Track prices over time

Every row carries a `scrapedAt` timestamp, so results from different runs can be compared.

1. Run Fare Radar once for your route and period.
2. Create a **schedule** in Apify (for example every day at 8:00) so it runs automatically.
3. Compare the new table with the previous one — or send the data to Google Sheets, Slack, email or your own database — to see which fares rose, dropped or disappeared.

### ⚡ Why use Fare Radar?

- 📉 **Find the cheapest day to fly** — scan a month or a whole season instead of clicking through dates
- 🔔 **Catch price drops early** — scheduled runs show when a fare falls, so you can book at the right time
- 🧭 **Compare routes and destinations** — rank destinations by price for the same dates
- ✈️ **See where flydubai doesn't fly** — days without a fare show a route's real schedule
- 🧳 **Built for travel businesses and analysts** — travel agents, deal sites, corporate travel teams and fare analysts get fare data without manual checking

### 🚀 How to use it

1. **Type a destination** airport code, for example `DEL` for Delhi.
2. **Optional:** choose a start date and how many days you want. By default it starts tomorrow and covers 30 days.
3. **Click Start.** The table appears in a few seconds. Download it from the Output tab.

### 📥 Input

Only the destination is required. Everything else has a default.

| Field                | Type    | Default      | Description                                                                         |
| -------------------- | ------- | ------------ | ----------------------------------------------------------------------------------- |
| `destination`        | string  | — (required) | Where you fly to, as a 3-letter airport code, e.g. `DEL`. Cairo is `SPX`, not `CAI` |
| `departureDate`      | string  | tomorrow     | First day to get prices for, `YYYY-MM-DD`                                           |
| `numberOfDays`       | integer | `30`         | How many days in a row to cover (1–365)                                             |
| `returnDate`         | string  | —            | Optional. Add a date to also get prices for the flight back (same number of days)   |
| `origin`             | string  | `DXB`        | Where you fly from, as a 3-letter airport code                                      |
| `proxyConfiguration` | object  | no proxy     | Not needed in our tests. Enable Apify residential proxy if runs get blocked         |

#### Example input

```json
{
  "destination": "DEL",
  "departureDate": "2026-10-20",
  "numberOfDays": 90
}
```

### 📤 Output

Each row is one day on one direction. A return search gives rows for both directions.

```json
{
  "scrapedAt": "2026-10-05T12:34:51.317Z",
  "url": "https://flights2.flydubai.com/en/results/ow/a1c0i0/DXB_DEL/20261020?cabinClass=Economy&isOriginMetro=false&isDestMetro=false&pm=cash",
  "title": "DXB → DEL 2026-10-20",
  "price": 1365,
  "currency": "AED",
  "country": "UAE",
  "market": "uae",
  "direction": "outbound",
  "origin": "DXB",
  "destination": "DEL",
  "date": "2026-10-20",
  "baseFare": 1080,
  "tax": 285,
  "cabin": "economy",
  "milesPrice": 37708,
  "isAvailable": true,
  "isSoldOut": false,
  "isPromoFare": false,
  "tripType": "oneway"
}
```

### 📚 Field reference

| Field                    | Type           | Description                                                                                                                                   |
| ------------------------ | -------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| `scrapedAt`              | string         | When the price was collected (ISO 8601)                                                                                                       |
| `url`                    | string         | flydubai search page for that day                                                                                                             |
| `title`                  | string         | Route and date                                                                                                                                |
| `price`                  | number | null | Lowest fare per passenger including tax. `null` when not available                                                                            |
| `currency`               | string | null | Currency of the fare                                                                                                                          |
| `country` / `market`     | string | null | Country and market code of the fare currency (e.g. `UAE` / `uae`, `Kuwait` / `kw`). `null` for currencies outside the GCC, such as INR or USD |
| `direction`              | string         | `outbound`, or `inbound` for the way back                                                                                                     |
| `origin` / `destination` | string         | Airport codes for this direction                                                                                                              |
| `date`                   | string         | Travel date, `YYYY-MM-DD`                                                                                                                     |
| `baseFare` / `tax`       | number | null | The fare split into base fare and taxes                                                                                                       |
| `cabin`                  | string | null | Cabin of the lowest fare                                                                                                                      |
| `milesPrice`             | number | null | Price in Skywards miles                                                                                                                       |
| `isAvailable`            | boolean        | `false` when flydubai has no fare that day                                                                                                    |
| `isSoldOut`              | boolean        | Whether the day is sold out                                                                                                                   |
| `isPromoFare`            | boolean        | Whether the lowest fare is a promotional fare                                                                                                 |
| `tripType`               | string         | `oneway`, or `return` when a return date was given                                                                                            |

### ❓ FAQ

**What is Fare Radar for?** Comparing flydubai prices across days and routes, and tracking how they change over time. It is a price comparison and tracking tool, not a booking tool.

**How do I track prices?** Run it on an Apify schedule (for example daily) and compare the results of each run. The `scrapedAt` field tells you when each price was collected.

**Does it show flights, departure times or ticket types?** No. It returns the lowest fare per day only. It does not list individual flights, times, baggage rules or fare types such as Lite or Flex.

**Is it only for flights from Dubai?** No. Dubai (`DXB`) is the default departure airport, but any flydubai departure airport works, for example `KWI` to `AMM` or `LHR` to `DXB`.

**What currency are prices in?** The currency of the departure country: AED from Dubai, KWD from Kuwait, INR from India, USD from London. The `currency` field on every row says which.

**What does the price cover?** One passenger in Economy, including taxes. It does not change with the number of passengers or cabin.

**Why is the price empty on some days?** flydubai has no fare that day, usually because the route doesn't operate daily.

**Are return-trip prices comparable to one-way prices?** Not directly. For return searches flydubai shows each direction's share of a return fare, so the same day can cost differently one-way.

**How many results will I get?** One per day, so `numberOfDays` is the number of results (twice that for a return trip, which also covers the way back).

**How far ahead can I look?** About a year. Days beyond what flydubai sells are skipped with a warning.

**Which airport codes should I use?** flydubai's own codes, such as `DXB`, `DEL`, `LHR`. Cairo is `SPX` (Sphinx), not `CAI`.

**Do I need a proxy?** Not in our tests. If flydubai starts blocking runs, enable Apify residential proxy.

### 🛠️ Need a custom scraper?

Need this scraper adapted to your use case — extra fields, additional filters, a different output format, or a new website? Reach out at boringinternetexplorer@gmail.com and we'll make it happen.

# Actor input Schema

## `destination` (type: `string`):

Where you want to fly to, as a 3-letter flydubai airport code. Examples: DEL (Delhi), LHR (London), KWI (Kuwait City), AMM (Amman), DXB (Dubai). Cairo is SPX, not CAI.

## `departureDate` (type: `string`):

The first day to get prices for, in YYYY-MM-DD format (example: 2026-11-10). Leave empty to start from tomorrow.

## `numberOfDays` (type: `integer`):

How many days in a row you want prices for, counting from the start date. You get one lowest-fare result per day. Examples: 7 = one week, 30 = one month (default), 90 = three months, 365 = a full year. For a return trip you also get the same number of days for the way back, so 30 days gives 60 results. flydubai sells flights about a year ahead, so the maximum is 365.

## `returnDate` (type: `string`):

Optional. Add a date in YYYY-MM-DD format to also get daily prices for the flight back. The same number of days is covered, starting from this date.

## `origin` (type: `string`):

Where you fly from, as a 3-letter airport code. Defaults to DXB (Dubai), flydubai's main hub, but any flydubai departure airport works, e.g. KWI, DEL, LHR. Prices are returned in the currency of the departure country.

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

Not needed in our tests, so the default is no proxy. If runs ever get blocked, switch on Apify residential proxy here.

## Actor input object example

```json
{
  "destination": "DEL",
  "numberOfDays": 30,
  "origin": "DXB",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "destination": "DEL",
    "numberOfDays": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("boring_internet_explorer/flydubai-flights-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 = {
    "destination": "DEL",
    "numberOfDays": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("boring_internet_explorer/flydubai-flights-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 '{
  "destination": "DEL",
  "numberOfDays": 30
}' |
apify call boring_internet_explorer/flydubai-flights-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,boring_internet_explorer/flydubai-flights-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/8SwjLkyCYQ6qcn4nM/builds/vhlVeVGYMTXcmgQQK/openapi.json
