# Skyscanner Scraper | Flights Hotels Car Hire (`lentic_clockss/skyscanner-scraper`) Actor

Scrape Skyscanner.net guest flights, hotels and car hire. Extract Day View tickets, hotel street addresses, car-hire pickup locations, prices and live URLs. Export CSV, Excel or JSON. No login. Does not follow Go to site or Book. Platform usage included. Schedule runs or call the Apify API.

- **URL**: https://apify.com/lentic\_clockss/skyscanner-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Travel, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.20 / 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/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

## Skyscanner Scraper | Flights, Hotels & Car Hire

**Scrape [Skyscanner.net](https://www.skyscanner.net) guest flights, hotels, and car hire in one Actor.** Extract **Day View tickets**, **flights-to SEO deals**, **hotel cards** (with street address when a live `/ht-` page is followed), **car-hire pickup locations**, **prices**, and **live URLs**. Export **CSV, Excel, or JSON**. No login. Does not follow **Go to site** or **Book**.

Use this as a practical **Skyscanner scraper / Skyscanner API alternative** for **cheap-flight watches**, **hotel inventory**, and **car-hire quotes**. Pick a `service` (`flights`, `flights_seo`, `hotels`, `cars`), a place or geo id, and `maxResults`. Residential egress is handled by the scrape worker — you do not send cookies, `proxyUrl`, or booking-form payloads.

- **Flights Day View** on `www.skyscanner.net` (live `/config/` itinerary links when the page loads)
- **Flights-to SEO** cheap-flight cards (`/flights-to-{place}/cheap-flights-to-{slug}/`)
- **Hotels** search cards plus optional hotel-page street address (`includeDetail`, default on)
- **Car hire** quote cards with **pickup street / unit** when the card prints it
- Guest pages only — **listing phones and emails are not on Skyscanner SERPs** (`leadAbsences` records that honestly)
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or the Apify API
- **Pay per event** — Actor start + each Dataset result; **platform usage is included** (you do not pay separate Apify compute on top)

> **Unofficial tool.** This Actor is not affiliated with, endorsed by, or sponsored by Skyscanner Limited. It collects **guest / public** pages a logged-out visitor can already see. It does **not** log in, click **Go to site** / **Book**, or scrape private booking-confirmation emails.

***

### What does the Skyscanner Scraper do?

[Skyscanner Scraper](https://apify.com/lentic_clockss/skyscanner-scraper) lets you **extract structured Skyscanner.net listings** without running your own PerimeterX / Camoufox stack. Give it a flight pair (`bkk` → `sin`), a flights-to place (`dxb`), a hotel geo `entityId`, or a car `geoId`, then start a run.

Under the hood, the Actor:

1. Validates your input (`service`, `market`, dates, `maxResults`)
2. Enforces free-tier caps when you are on a free Apify plan
3. Calls a managed worker that loads guest Skyscanner pages (stealth browser + residential egress)
4. Parses live tickets / hotel cards / car-hire cards / SEO deal cards
5. Writes Dataset rows plus `INPUT_ECHO`, `RUN_SUMMARY` (and `ERROR_SUMMARY` on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.

Empty `{}` searches **Bangkok → Singapore** roundtrip (`bkk` → `sin`) on `skyscanner.net`. That is the Actor default, not a Manila/London canary.

***

### What Skyscanner data can I extract?

| Data | Flights Day View | Flights-to SEO | Hotels | Car hire |
| --- | :---: | :---: | :---: | :---: |
| `listingId` / live URL | ✅ `/config/` | ✅ deal card | ✅ `/ht-` | ✅ quote card |
| Title / name | ✅ | ✅ | ✅ | ✅ |
| Price (`priceDisplay` / `price` / `currency`) | ✅ | ✅ | ✅ | ✅ |
| Origin / destination | ✅ place codes | destination = place | — | — |
| Hotel id (`hotelId`) | — | — | ✅ | — |
| Street address (`address.full`) | ❌ | ❌ | ✅ on hotel page | ✅ on card when printed |
| Org / airline / agent name | ✅ | ✅ | hotel name | supplier name |
| Phone / email on the listing | ❌ `leadAbsences=本站无` | ❌ | ❌ | ❌ |
| Packages / `skyscanner.com` | 未验证 | 未验证 | 未验证 | 未验证 |

**Identity keys:** flights use live `/transport/flights/.../config/{id}` URLs (do not invent config ids). Hotels use live `/ht-{id}/` URLs (do not invent hotel ids; search `entity_id` is a **geo**, not a hotel PK). Cars use the quote card plus pickup text. Skip **Go to site** / **Book** / **Login**.

**Lead honesty:** Skyscanner guest search does **not** show partner phones or emails. Help copy points those contacts to the **booking confirmation email / partner site**. This Actor never invents numbers. When a field is missing on the page, it writes `leadAbsences` instead of a fake value.

***

### Why scrape Skyscanner?

[Skyscanner](https://www.skyscanner.net) is a major **flight, hotel, and car-hire metasearch**. Teams scrape public Skyscanner pages to:

- Watch **cheap flights** for a route (Day View) or a destination (flights-to SEO)
- Pull **hotel inventory** and **street addresses** for a geo without paging the site by hand
- Collect **car-hire quotes** with **pickup location** printed on the card
- Feed fare watches, BI dashboards, Google Sheets, BigQuery, or AI agents with clean rows

Compared with generic URL scrapers, this Actor returns **Skyscanner-specific fields** (`listingId`, `hotelId`, `itineraryConfigId`, `priceDisplay`, `leadAbsences`) in one input surface.

#### How this Skyscanner scraper compares

Store search for “Skyscanner scraper” also surfaces **flights-only** feeds (often **from $1 / 1,000**), a **deprecated multi-endpoint API** priced **per URL**, and **car-hire-only** monthly rentals. This Actor is the **guest listing table across flights + hotels + cars + SEO deals**, with **honest lead fields** and **developer-paid platform usage**.

| | This Actor | [memo23/skyscanner-scraper](https://apify.com/memo23/skyscanner-scraper) | [elis/skyscanner-api](https://apify.com/elis/skyscanner-api) | Car-hire-only Actors |
| --- | --- | --- | --- | --- |
| Flights Day View | Yes | Yes | Yes (URL / API style) | No |
| Hotels | Yes (Cloud Run still partial) | No | Claimed | No |
| Car hire | Yes (Cloud Run still partial) | No | Claimed | Yes |
| Flights-to SEO deals | Yes | Rare | Rare | No |
| Listing phone / email | **Honest empty + `leadAbsences`** | Varies | Varies | Varies |
| Pricing | **PPE $3.00 / 1,000** + $0.005 start; platform usage included | From ~$1 / 1,000 | ~$3.40 / 1,000 URLs (listing also marked deprecated) | Monthly + usage, or ~$1.50 / 1,000 |

Use a flights-only peer when you only need tickets and want the lowest per-row price. Use this Actor when you want **one Skyscanner Actor for flights, hotels, and cars**, **export-ready guest listings**, and **no separate Apify compute bill**.

Honest scope: **flights Day View** and **flights-to SEO** are **opened** on `skyscanner.net`. Day View can still hit a residential **tunnel timeout**; **SEO cards** are usually more stable. **Hotels** and **cars** are **Chrome-verified** (hotel street on the hotel page, car pickup on the card) but **Cloud Run is still partial** (PerimeterX / tunnel). **Packages** and **skyscanner.com** are **not opened**.

***

### More Actors like this

Need Booking, Airbnb, Expedia, or a generic protected-page scrape? Use a **dedicated Actor** below for structured fields. Use this Actor for **Skyscanner.net** guest flights, hotels, car hire, and flights-to SEO.

#### Similar travel scrapers

- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper) — Expedia hotels, flights, cars
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper) — Booking.com stays
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper) — Airbnb listings
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper) — reviews and places
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper) — Agoda hotels
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper) — Trip.com stays and flights
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper) — Traveloka inventory
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper) — Travelstart flights
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper) — Despegar LATAM travel
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper) — generic protected pages (prefer a dedicated Actor when one exists)

#### Prefer a dedicated site scraper?

If your target has a specialized Actor below, use that first — usually cheaper and more structured than a generic URL scrape.

**Travel & Stays**

- [Skyscanner Scraper](https://apify.com/lentic_clockss/skyscanner-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)

**Jobs & Freelance**

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Real Estate**

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### How to use (no code required)

1. Click **Try for Free** at the top of this page
2. Pick a **Service**: `flights`, `flights_seo`, `hotels`, or `cars`
3. Fill the matching fields (origin/destination, `place`, hotel `entityId`, or car `geoId`)
4. Set `maxResults` (start small — 3–10 is enough to see the table)
5. Click **Start** — rows appear in the Dataset tab

**Download your results as CSV, Excel, or JSON.** That's it.

#### Flights Day View (opened)

```json
{
  "service": "flights",
  "market": "skyscanner.net",
  "origin": "bkk",
  "destination": "sin",
  "tripType": "roundtrip",
  "maxResults": 5
}
```

You can also pass `origin` as `bkk|sin` and leave `destination` empty.

#### Flights-to SEO deals (opened, usually the most stable)

```json
{
  "service": "flights_seo",
  "market": "skyscanner.net",
  "place": "dxb",
  "maxResults": 5
}
```

#### Hotels (Chrome-verified; Cloud Run still partial)

```json
{
  "service": "hotels",
  "market": "skyscanner.net",
  "entityId": "27546111",
  "includeDetail": true,
  "maxResults": 5
}
```

`entityId` is a **geo** (city / area), not a hotel primary key. Street address is merged from the live hotel page when `includeDetail` is true (default).

#### Car hire (Chrome-verified; Cloud Run still partial)

```json
{
  "service": "cars",
  "market": "skyscanner.net",
  "geoId": "81977957",
  "driverAge": 30,
  "maxResults": 5
}
```

***

### How much does it cost to scrape Skyscanner?

This Actor uses **pay-per-event** pricing. You are charged for:

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | **$0.005** per start |
| Result (`apify-default-dataset-item`) | **$3.00 / 1,000** results (**$0.003** each on FREE/BRONZE) |

**Platform usage costs are included** — you do **not** pay separate Apify compute/proxy usage for this Actor on top of the event prices above (**User pays platform usage costs = No**).

#### Volume discount tiers (per result)

| Tier | $/1,000 | per result |
| --- | ---: | ---: |
| FREE\* | $3.00 | $0.003 |
| BRONZE | $3.00 | $0.003 |
| SILVER | $2.60 | $0.0026 |
| GOLD | $2.20 | $0.0022 |
| PLATINUM | $2.00 | $0.002 |
| DIAMOND | $1.60 | $0.0016 |

\*FREE matches BRONZE for this Actor.

#### Example cost estimates (FREE/BRONZE)

| Results collected | Approx. event cost\* |
| --- | ---: |
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |

\*Assumes one Actor start at default memory billing for start events, plus `$0.003` per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one). Default memory is **1024 MB**.

Empty / failed runs that write **zero** default-dataset rows are not billed as results (you still pay Actor Start).

#### Free plan limits

On a **free Apify plan**, this Actor enforces developer limits of **10 runs** and **200 results per run**. Upgrade to a paid Apify plan for unlimited runs (event prices still apply).

***

### Coverage matrix

| Market / host | Flights Day View | Flights oneway | Flights-to SEO | Hotels | Cars | Packages | Lead map |
| --- | :---: | :---: | :---: | :---: | :---: | :---: | --- |
| `skyscanner.net` (en-GB / GBP) | opened | opened | opened | partial (Cloud Run PX / tunnel) | partial | 未验证 | Phones/emails **not on guest SERP**. Hotel street on hotel page. Car pickup on card. |
| `skyscanner.com` | 未验证 | 未验证 | 未验证 | 未验证 | 未验证 | 未验证 | 未验证 |

Bare HTTP without a real browser returns a PerimeterX captcha shell — not parseable HTML. Do not treat JSON-LD on marketing pages as live tickets.

***

### FAQ

#### Is there an official Skyscanner API?

Skyscanner has partner / affiliate programmes. This Actor is an **unofficial guest-page scraper**, not an official Skyscanner API. It is meant for public listing tables you could already see logged out.

#### Can I scrape Skyscanner flights, hotels, and cars in one run?

One run is one `service`. Schedule three tasks (flights, hotels, cars) or call the Actor three times from the API if you need all three tables.

#### Why are phones and emails empty?

Guest Skyscanner search **does not show partner phone numbers or emails**. The Actor writes empty arrays and `leadAbsences` instead of inventing contacts. Hotel **street address** comes from the hotel page (JSON-LD) when detail follow is on. Car **pickup address** is parsed from the quote card.

#### Why did a flights Day View run fail with a tunnel error?

Residential egress to some Day View URLs can time out (`ERR_TUNNEL`). Re-run, pick another opened route, or use `service=flights_seo` (usually more stable).

#### Is scraping Skyscanner legal?

This Actor collects **public guest pages**. You are responsible for how you use the data (site terms, copyright, privacy). Do not use it to book, scrape logged-in accounts, or spam partners.

#### Do I need my own proxies?

No for normal runs. The scrape worker provides residential egress. Do not paste an Apify proxy URL into input.

#### How do I scrape Skyscanner in Python?

Call the Actor via the [Apify API](https://docs.apify.com/api/v2#/reference/actors/run-collection/run-actor) or the Python client (`apify-client`), then download the default Dataset as JSON/CSV. Same input JSON as the Console.

***

### Connect to your tools

Use this Actor from your existing stack — no coding needed:

| Platform | How to connect |
| --- | --- |
| Make.com | Search "Apify" → "Run Actor" → Actor ID `lentic_clockss/skyscanner-scraper` |
| n8n | Add Apify node → "Run Actor" action → same Actor ID |
| Zapier | Apify integration → "Run Actor" |
| LangChain | `ApifyActorsTool("lentic_clockss/skyscanner-scraper")` |
| Python / Node.js | Apify SDK or direct HTTPS call |

#### API call example

```bash
curl "https://api.apify.com/v2/acts/lentic_clockss~skyscanner-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"service":"flights_seo","market":"skyscanner.net","place":"dxb","maxResults":5}'
```

Results come back via the Dataset API:

```
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
```

***

### Input reference

| Parameter | Type | Description |
| --- | --- | --- |
| `service` | string | `flights`, `hotels`, `cars`, `flights_seo`, `hotel_detail`, `flight_detail`, `packages` |
| `market` | string | `skyscanner.net` (opened) or `skyscanner.com` (not opened) |
| `origin` / `destination` | string | Place codes for flights (`bkk`, `sin`). `origin` may be `bkk\|sin` |
| `place` | string | Place code for `flights_seo` |
| `entityId` | string | Hotel **geo** id (not a hotel PK) |
| `geoId` | string | Car-hire geo id |
| `tripType` | string | `roundtrip` or `oneway` |
| `includeDetail` | boolean | Follow live `/ht-` hotel pages for street address (default **true**) |
| `maxResults` | integer | Cap on Dataset rows |
| `adults` / `children` / `driverAge` | integer | Guest / driver counts |
| `departureDate` / `returnDate` / `checkin` / `checkout` | string | `YYYY-MM-DD`; worker fills defaults if empty |
| `hotelUrl` / `flightUrl` | string | Optional **live** `/ht-` or `/config/` URL — do not invent ids |

Full input schema is in the Actor Input tab. Full output schema is in the Dataset tab.

***

### Changelog

#### 0.1.6

- Store README rewritten for Apify README / SEO guidance (keywords in the first paragraph, How to use, pricing, FAQ)
- **More Actors like this** before How to use; **Related Actors** catalog at the bottom
- Pay-per-event: Actor Start **$0.005**, result **$3.00 / 1,000** with volume tiers; platform usage included

#### 0.1.5

- Lead fields on every row (`phones`, `emails`, `address`, `org`, `leadAbsences`)
- Hotel detail follow for street address; car pickup parse from quote cards
- Honest `leadAbsences` when listing phones/emails are not on the page

***

### Related Actors

All public Actors from [lentic\_clockss](https://apify.com/lentic_clockss). Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Skyscanner Scraper](https://apify.com/lentic_clockss/skyscanner-scraper)
- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `service` (type: `string`):

flights Day View and flights\_seo opened. hotels/cars Cloud Run partial (PX or hang). hotel\_detail needs live /ht-. flight\_detail needs live /config/. packages 未验证.

## `market` (type: `string`):

skyscanner.net opened (en-GB/GBP). skyscanner.com culture switch 未验证.

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

Skyscanner place code for flights (e.g. bkk). Can be origin|dest. Empty {} uses bkk.

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

Skyscanner place code for flights (e.g. sin). Empty {} uses sin.

## `place` (type: `string`):

Place code for service=flights\_seo.

## `placeSlug` (type: `string`):

Optional cheap-flights-to-{slug} segment.

## `entityId` (type: `string`):

Required for hotels. Geo entity (ci- / entity\_id), not ht- hotel id.

## `geoId` (type: `string`):

Required for cars. Same family as hotel entity\_id, not a supplier id.

## `hotelUrl` (type: `string`):

Optional live /ht-{id} URL. Do not invent ids.

## `flightUrl` (type: `string`):

Optional live /config/{id} URL. Do not invent ids.

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

Optional. Worker defaults to today+21 if empty.

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

Optional return date for roundtrip flights. Worker defaults to departure+7 if empty.

## `checkin` (type: `string`):

Optional hotel check-in or car pickup date. Worker defaults to today+21 if empty.

## `checkout` (type: `string`):

Optional hotel check-out or car drop-off date. Worker defaults to checkin+3 if empty.

## `tripType` (type: `string`):

roundtrip adds a return YYMMDD path segment and rtn=1. oneway omits return.

## `adults` (type: `integer`):

Adult passenger / guest count (adultsv2 / adults query).

## `children` (type: `integer`):

If >0 and childrenv2 empty, worker sends childrenv2 ages as 8 repeated. Recon query is childrenv2.

## `childrenv2` (type: `string`):

Skyscanner childrenv2 query, pipe-separated ages (e.g. 8|5). Empty unless you need children.

## `rooms` (type: `integer`):

Hotel rooms query. Ignored for flights and cars.

## `cabinclass` (type: `string`):

Flight cabinclass query: economy, premiumeconomy, business, first.

## `driverAge` (type: `integer`):

Car-hire driver age path segment (recon used 30).

## `preferDirects` (type: `boolean`):

Flights query preferdirects=true. Recon observed; page mix still measured per route.

## `dropoffGeoId` (type: `string`):

Optional different drop-off geo. Empty uses pickup geoId. Same family as hotel entity\_id.

## `sort` (type: `string`):

Hotels: price → sort\_type\_price\_asc. Flights: cheapest clicks FqsTab (URL unchanged).

## `includeDetail` (type: `boolean`):

Hotels always enrich live /ht- JSON-LD addresses on the worker. If true, also open the first live /config/ from a flight SERP. Never invents ids. Do not use this to click Go to site.

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

Cap on dataset rows. Empty {} uses 3. Free Apify plans are clamped lower.

## `workerBaseUrl` (type: `string`):

Optional HTTPS Cloud Run origin. Production uses WORKER\_BASE\_URL env.

## Actor input object example

```json
{
  "service": "flights",
  "market": "skyscanner.net",
  "origin": "bkk",
  "destination": "sin",
  "place": "",
  "placeSlug": "",
  "entityId": "",
  "geoId": "",
  "hotelUrl": "",
  "flightUrl": "",
  "departureDate": "",
  "returnDate": "",
  "checkin": "",
  "checkout": "",
  "tripType": "roundtrip",
  "adults": 1,
  "children": 0,
  "childrenv2": "",
  "rooms": 1,
  "cabinclass": "economy",
  "driverAge": 30,
  "preferDirects": false,
  "dropoffGeoId": "",
  "sort": "",
  "includeDetail": true,
  "maxResults": 3,
  "workerBaseUrl": ""
}
```

# Actor output Schema

## `listings` (type: `string`):

Dataset of Skyscanner listing rows

# 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 = {
    "service": "flights",
    "market": "skyscanner.net",
    "origin": "bkk",
    "destination": "sin",
    "place": "",
    "placeSlug": "",
    "entityId": "",
    "geoId": "",
    "hotelUrl": "",
    "flightUrl": "",
    "departureDate": "",
    "returnDate": "",
    "checkin": "",
    "checkout": "",
    "tripType": "roundtrip",
    "adults": 1,
    "children": 0,
    "childrenv2": "",
    "rooms": 1,
    "cabinclass": "economy",
    "driverAge": 30,
    "preferDirects": false,
    "dropoffGeoId": "",
    "sort": "",
    "includeDetail": true,
    "maxResults": 3,
    "workerBaseUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/skyscanner-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 = {
    "service": "flights",
    "market": "skyscanner.net",
    "origin": "bkk",
    "destination": "sin",
    "place": "",
    "placeSlug": "",
    "entityId": "",
    "geoId": "",
    "hotelUrl": "",
    "flightUrl": "",
    "departureDate": "",
    "returnDate": "",
    "checkin": "",
    "checkout": "",
    "tripType": "roundtrip",
    "adults": 1,
    "children": 0,
    "childrenv2": "",
    "rooms": 1,
    "cabinclass": "economy",
    "driverAge": 30,
    "preferDirects": False,
    "dropoffGeoId": "",
    "sort": "",
    "includeDetail": True,
    "maxResults": 3,
    "workerBaseUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/skyscanner-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 '{
  "service": "flights",
  "market": "skyscanner.net",
  "origin": "bkk",
  "destination": "sin",
  "place": "",
  "placeSlug": "",
  "entityId": "",
  "geoId": "",
  "hotelUrl": "",
  "flightUrl": "",
  "departureDate": "",
  "returnDate": "",
  "checkin": "",
  "checkout": "",
  "tripType": "roundtrip",
  "adults": 1,
  "children": 0,
  "childrenv2": "",
  "rooms": 1,
  "cabinclass": "economy",
  "driverAge": 30,
  "preferDirects": false,
  "dropoffGeoId": "",
  "sort": "",
  "includeDetail": true,
  "maxResults": 3,
  "workerBaseUrl": ""
}' |
apify call lentic_clockss/skyscanner-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,lentic_clockss/skyscanner-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/NRWH77N9PhHR5nMFY/builds/hIReK9gTC0sMRvVos/openapi.json
