# Skyscanner Flight Deal Scraper (x402)

> Skyscanner Flight Deal Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured flight deal listings from Skyscanner routes and returns price, directness, and booking URLs as JSON, billed per successful call.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/skyscanner?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/skyscanner-flight-deal-scraper-x402-4062ef10
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_5ydSHWQt5BvfXrPGQnDD5

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability skyscanner-flight-deal-scraper-x402-4062ef10 -d '<json body>'
```

Example prompt: Search Skyscanner for the cheapest direct flights from London Heathrow to New York JFK departing on 2025-08-15 and returning on 2025-08-22, and give me up to 10 deals sorted by price.

## When to prefer this

Use this endpoint when you need structured, machine-readable flight deal data from Skyscanner without managing a browser or scraping infrastructure yourself, and you only want to pay when results are returned. Ideal for AI travel agents, price monitoring bots, or itinerary planners that need live fare data on demand.

## Known failure modes

- No deals found for the given route or date — call is not charged
- Invalid or unsupported Skyscanner URL provided
- Skyscanner page structure changed, causing scrape failure — call not charged
- Invalid date format (must be YYYY-MM-DD or YYMMDD)
- Unknown airport code or city name provided
- Payment authorization failure via x402 protocol

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count and an array of flight deal items, each containing a price (raw and formatted), currency, whether the flight is direct, a route URL, a search URL, and optional tags and ID fields.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sortBy": {
   "enum": [
    "price",
    "departureDate",
    "source"
   ],
   "type": "string",
   "default": "price",
   "description": "Sort each route by fare or departure date before applying limits."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum deals across all routes. Zero means no total cap."
  },
  "startUrls": {
   "type": "array",
   "description": "Public skyscanner.net routes or transport/flights URLs. A flight URL also supplies exact departure and return dates; only matching public deals are returned."
  },
  "directOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep only deals marked direct by the route page."
  },
  "returnDate": {
   "type": "string",
   "description": "Optional exact return date filter in YYYY-MM-DD or YYMMDD format. Deals without this return date are excluded."
  },
  "departureDate": {
   "type": "string",
   "description": "Optional exact date filter in YYYY-MM-DD or YYMMDD format. Route pages carry a limited selection of dates."
  },
  "arrivalAirport": {
   "type": "string",
   "description": "Destination city name or airport code when no URL is given."
  },
  "departureAirport": {
   "type": "string",
   "description": "Origin city name or airport code when no URL is given."
  },
  "maxDealsPerRoute": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Maximum deals from each route. Zero means no per-route cap."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "tags": null,
    "direct": null,
    "currency": null,
    "priceRaw": null,
    "routeUrl": null,
    "searchUrl": null,
    "priceFormatted": null
   }
  ],
  "product": "skyscanner"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/skyscanner-flight-deal-scraper-x402-4062ef10/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
