# Flight Fare Scanner — Google Flights Prices (`sleekly_featherstar/flight-fare-scanner`) Actor

Search real-time flight prices from Google Flights. Find cheapest travel dates, discover nonstop destinations from any airport, and compare fares across airlines. No API key required.

- **URL**: https://apify.com/sleekly\_featherstar/flight-fare-scanner.md
- **Developed by:** [Grant](https://apify.com/sleekly_featherstar) (community)
- **Categories:** E-commerce, Travel, Other
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 flight searches

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Flight Fare Scanner — Google Flights Prices, Routes & Destinations

Search real-time flight prices from **Google Flights** and discover nonstop routes from **Kayak**. Get structured fare data for any airport pair, find the cheapest dates in a travel window, or explore all nonstop destinations from an origin airport. No API key required.

**Flight data** powers travel research, price monitoring, trip planning, booking automation, and travel intelligence. This Actor makes it accessible as structured JSON/CSV data.

### Why scrape flight prices?

Flight prices are volatile and opaque. Airlines and OTAs don't make it easy to compare systematically.

- **Monitor price drops** on specific routes over time
- **Find the cheapest travel dates** in a month-long window
- **Research destinations** reachable nonstop from your airport
- **Build travel dashboards** with real-time fare data
- **Feed price prediction models** with historical search data
- **Compare airlines** on price, duration, and stops

### What you can extract

#### Flights mode (specific dates)

| Data Field | Description |
|---|---|
| Airline & Flight # | e.g. "Delta DL1234" |
| Departure/Arrival airports | IATA codes + full airport names |
| Departure/Arrival times | Local time at each airport |
| Duration | Total travel time (e.g. "6h 12m") |
| Stops | Number of layovers (0 = nonstop) |
| Price | Fare in your chosen currency |
| Aircraft type | e.g. "Boeing 737", "Airbus A321" |
| Amenities | WiFi, in-seat USB, power outlets |
| Booking URL | One-click link to book on the airline's site |
| Google Flights URL | View the same search on Google Flights |

#### Dates mode (cheapest in window)

| Data Field | Description |
|---|---|
| Departure date | Date with the lowest fare |
| Price | Cheapest fare found for that date |
| Currency | Price currency |

#### Explore mode (nonstop destinations)

| Data Field | Description |
|---|---|
| Destination airport | IATA code + city name |
| Country | Country code |
| Distance | Miles between airports |
| Duration | Typical flight time |
| Airlines | Airlines operating the route |
| Flights per day | How many daily flights exist |

### Input options

| Input | Type | Default | Description |
|---|---|---|---|
| Query Type | Select | Flights | Flights (specific dates), Dates (cheapest window), or Explore (destinations) |
| Origin | Text | — | IATA airport code (e.g. JFK, LAX, LHR) |
| Destination | Text | — | IATA airport code (required for Flights/Dates) |
| Departure Date | Text | — | YYYY-MM-DD (required for Flights mode) |
| Return Date | Text | — | YYYY-MM-DD for round trips (optional) |
| Date From | Text | — | Start of travel window (Dates mode) |
| Date To | Text | — | End of travel window (Dates mode) |
| Max Results | Integer | 25 | Maximum results to return (1–200) |
| Max Stops | Integer | Any | 0 = nonstop only, 1 = max 1 stop, etc. |
| Currency | Text | USD | ISO 4217 currency code (USD, EUR, GBP, etc.) |
| Sort By | Select | Price | Sort by price, duration, or stops |

### Quick start

1. Enter an **origin airport** (e.g. `JFK`)
2. Select **Query Type** (start with "Flights" for specific dates)
3. Enter a **destination** (e.g. `LAX`)
4. Set a **departure date**
5. **Run** the Actor
6. Download the results as **JSON, CSV, or Excel**

For destination discovery, select **"Explore"** mode and just enter an origin airport — it'll return all nonstop destinations.

### Example output

#### Flights mode

```json
[
  {
    "price": 234,
    "currency": "USD",
    "totalDuration": "5h 55m",
    "totalDurationMinutes": 355,
    "stops": 1,
    "bookingUrl": "https://www.aa.com/booking/...",
    "googleFlightsUrl": "https://www.google.com/travel/flights/...",
    "legs": [
      {
        "departureAirport": "JFK",
        "departureAirportName": "John F. Kennedy International Airport",
        "arrivalAirport": "PHX",
        "arrivalAirportName": "Phoenix Sky Harbor International Airport",
        "departureTime": "2026-08-15T10:00:00",
        "arrivalTime": "2026-08-15T12:21:00",
        "duration": "5h 21m",
        "airline": "American",
        "flightNumber": "AA557",
        "aircraftType": "Airbus A321",
        "amenities": ["wifi", "in-seat-usb"]
      }
    ]
  }
]
```

#### Explore mode

```json
[
  {
    "destinationCode": "LAX",
    "destinationName": "Los Angeles",
    "countryCode": "US",
    "distanceMiles": 2467,
    "duration": "5h 58m",
    "airlines": ["AA", "B6", "DL"],
    "flightsPerDay": 102
  }
]
```

### Use cases

#### Travel price monitoring

Track fare changes on specific routes over time. Run the Actor daily on your favorite routes and build a price history dataset.

#### Trip planning

Find the cheapest month to fly somewhere. Use "Dates" mode to scan a 30-day window and pick the lowest fare.

#### Travel business intelligence

Compare airline pricing across routes, monitor market trends, and identify underserved destination pairs.

#### Research and analysis

Build datasets of flight pricing patterns, airline route networks, and seasonal price variations.

### Pricing

- **Flight data sources**: Google Flights and Kayak are free, public services
- **Apify platform costs**: Standard compute unit pricing applies (typically $0.01–0.05 per run)
- **Pay-per-event**: Charged per search query at $0.005/query (primary event)

### How it works

1. You configure the search (airports, dates, mode)
2. The Actor queries Google Flights or Kayak via the flight-goat CLI
3. Data is normalized into a consistent schema
4. Results are pushed to the Apify dataset for download
5. Booking URLs enable one-click booking on airline sites

No API key, no authentication, no credit card required for the data source. Read-only access to real-time flight pricing.

### Tips for best results

- Start with **Explore mode** to see what destinations are reachable from your airport
- Use **Flights mode** with a specific date for the most detailed results
- Use **Dates mode** to find the cheapest day to fly within a month
- Set **Currency** to your local currency for easy price comparison
- Use **Max Stops = 0** to find nonstop flights only
- For round trips, add a **Return Date** in Flights mode
- The data is live — prices change daily (sometimes hourly)

### Legal

This Actor extracts publicly available flight information from Google Flights and Kayak. It does not book flights, access user accounts, or interact with authenticated services. Flight data is publicly accessible for research and travel planning purposes. For commercial use, consult the respective platforms' terms of service.

### Support

For questions, bug reports, or feature requests, reach out via the [Apify Discord](https://discord.apify.com).

# Actor input Schema

## `queryType` (type: `string`):

What kind of flight search to perform

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

IATA airport code (e.g. JFK, LAX, LHR, CDG)

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

IATA airport code (required for 'Flights' and 'Dates' modes)

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

Departure date in YYYY-MM-DD format (required for 'Flights' mode)

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

Return date for round trips in YYYY-MM-DD format (optional, 'Flights' mode only)

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

Start of travel window in YYYY-MM-DD format (used with 'Dates' mode)

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

End of travel window in YYYY-MM-DD format (used with 'Dates' mode)

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

Maximum number of results to return

## `maxStops` (type: `integer`):

Maximum number of stops (0 = nonstop only, empty = any)

## `currency` (type: `string`):

ISO 4217 currency code (e.g. USD, EUR, GBP, JPY)

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

How to sort results

## Actor input object example

```json
{
  "queryType": "flights",
  "origin": "JFK",
  "destination": "LAX",
  "departureDate": "2026-08-15",
  "returnDate": "2026-08-22",
  "dateFrom": "2026-08-01",
  "dateTo": "2026-08-31",
  "maxResults": 25,
  "maxStops": -1,
  "currency": "USD",
  "sortBy": "price"
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("sleekly_featherstar/flight-fare-scanner").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("sleekly_featherstar/flight-fare-scanner").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{}' |
apify call sleekly_featherstar/flight-fare-scanner --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sleekly_featherstar/flight-fare-scanner",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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