# Skyscanner Flight Price Scraper (Korea)

Collect flight search results and provider prices for routes departing from or arriving in Korea on Skyscanner. Compare airlines, schedules, stopovers, and fares in a structured dataset.

- Template page: [https://www.octoparse.com/template/skyscanner-scraper-korea](https://www.octoparse.com/template/skyscanner-scraper-korea)
- Categories: E-Commerce
- Status: `PUBLISHED`
- Run mode: `CLOUD`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from web pages.

## Output

The current workflow extracts 43 fields, including `Adults`, `Booking_URL`, `Cabin_Class`, `Currency_Code`, `Infants`, `Outbound_Airline`, `Outbound_Arrival_Airport`, `Outbound_Arrival_Airport_Code`, `Outbound_Arrival_Date`, `Outbound_Arrival_Time`, `Outbound_Departure_Airport`, `Outbound_Departure_Airport_Code`, `Outbound_Departure_Date`, `Outbound_Departure_Time`, `Outbound_Duration`, `Outbound_Flight_Number`, `Outbound_Stopover_Airports`, `Outbound_Stops`, `Provider_Label`, `Provider_Name`, `Provider_Price`, `Provider_Rank`, `Provider_Rating`, `Provider_Review_Count`, `Result_Rank`, `Return_Airline`, `Return_Arrival_Airport`, `Return_Arrival_Airport_Code`, `Return_Arrival_Date`, `Return_Arrival_Time`, `Return_Departure_Airport`, `Return_Departure_Airport_Code`, `Return_Departure_Date`, `Return_Departure_Time`, `Return_Duration`, `Return_Flight_Number`, `Return_Stopover_Airports`, `Return_Stops`, `Search_Departure`, `Search_Departure_Date`, `Search_Destination`, `Search_Return_Date`, `Ticket_Type`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete Currency, Ticket type, Departure and start the template in cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### Currency

Required. ISO currency, for example KRW

### Ticket type

Required. 왕복 or 편도 Callable values are the `const` keys in JSON `oneOf`, not the option titles.

### Departure

Required. City, for example Seoul

### Destination

Required. City, for example Tokyo

### Departure date

Required. YYYY/M/D

### Return date

Optional. Required for round trip

### Cabin

Required. 일반석, 프리미엄 일반석, 비즈니스석, 일등석 Callable values are the `const` keys in JSON `oneOf`, not the option titles.

### Adults

Required. Adult count

### Infants

Optional. Infant count

## How to Use

# Skyscanner Flight Price Scraper (Korea)

Octoparse template for collecting supported Skyscanner flight search results and price information for routes to and from Korea.

## Run the template

1. Open the template and click **Start**.
2. Enter the departure, destination, travel dates, currency, ticket type, cabin class, passenger counts, and other supported flight search criteria shown in the input form.
3. Review the search criteria and click **Save and Run**.
4. Choose a supported execution mode and start data collection.
5. When collection is complete, review the results and export them to Excel or CSV.

## Input fields

- **Departure**: airport or city where the flight starts.
- **Destination**: airport or city where the flight ends.
- **Outbound date**: departure date used for the search.
- **Return date**: return date required for a round trip.
- **Other criteria**: one-way or round trip, passenger count, cabin class, and other fields supported by the template.

These are common flight search criteria. Check the template settings for required fields and supported values.

## Uses

- Compare several flights for the same route by airline, schedule, stopovers, and price.
- Sort or compare collected flight prices to find lower fares under the selected search criteria.
- Repeat the same search for the same departure, destination, and travel dates to compare price changes over time. Save each result by date for trend analysis.
- Compare airline prices, flight times, and stopover conditions for a route to support travel market research or data analysis.

Available data fields depend on the template output and the results returned by Skyscanner. Some fields may be unavailable, and result rows may vary depending on the flight search criteria.

## Important notes

- Prices can change in real time. The collected price may differ from the price at booking.
- Keep the same route, dates, passenger count, and cabin class when comparing price changes.
- For regular price monitoring, you can use a scheduled execution feature supported by Octoparse. Availability depends on the execution method and plan.
- This template collects flight search results and does not provide booking or payment functions. Complete the booking on Skyscanner or the connected provider website.

## Is web scraping legal?

The legality of web scraping depends on the target, data type, collection method, and intended use. Publicly accessible data may still be subject to copyright, privacy laws, and website terms of use.

Before collecting data, review applicable laws and the target website terms of use, and seek professional legal advice when necessary.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [Booking. com Scraper for South Korea](https://www.octoparse.com/template/booking-com-scraper-for-korea)
- [Check24 Flight Scraper](https://www.octoparse.com/template/check-24-flug-scraper)
- [Expedia Japan Flight Scraper](https://www.octoparse.com/template/expedia-japan-flight-scraper)
- [Bobaedream Car Price Scraper](https://www.octoparse.com/template/bobaedream-car-price-scraper)
- [Idealo Price Comparison Scraper](https://www.octoparse.com/template/idealo-preisvergleich-scraper)

## Input Schema

```json
{
  "title": "Skyscanner Flight Price Scraper (Korea) input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "currency": {
      "title": "Currency",
      "description": "ISO currency, for example KRW",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "ticket_type": {
      "title": "Ticket type",
      "description": "왕복 or 편도",
      "type": "string",
      "oneOf": [
        {
          "title": "왕복",
          "const": "왕복"
        },
        {
          "title": "편도",
          "const": "편도"
        }
      ],
      "x-octoparse": {
        "apiEnabled": false
      }
    },
    "departure": {
      "title": "Departure",
      "description": "City, for example Seoul",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "destination": {
      "title": "Destination",
      "description": "City, for example Tokyo",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "departure_date": {
      "title": "Departure date",
      "description": "YYYY/M/D",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "return_date": {
      "title": "Return date",
      "description": "Required for round trip",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "cabin": {
      "title": "Cabin",
      "description": "일반석, 프리미엄 일반석, 비즈니스석, 일등석",
      "type": "string",
      "oneOf": [
        {
          "title": "일반석",
          "const": "일반석"
        },
        {
          "title": "프리미엄 일반석",
          "const": "프리미엄 일반석"
        },
        {
          "title": "비즈니스석",
          "const": "비즈니스석"
        },
        {
          "title": "일등석",
          "const": "일등석"
        }
      ],
      "x-octoparse": {
        "apiEnabled": false
      }
    },
    "adults": {
      "title": "Adults",
      "description": "Adult count",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "infants": {
      "title": "Infants",
      "description": "Infant count",
      "type": "string",
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "currency",
    "ticket_type",
    "departure",
    "destination",
    "departure_date",
    "cabin",
    "adults"
  ]
}
```

## Input JSON Example

Example 1

```json
{
  "adults": "1",
  "cabin": "일등석",
  "currency": "KRW",
  "departure": "서울",
  "departure_date": "2026/12/10",
  "destination": "도쿄",
  "return_date": "2026/12/13",
  "ticket_type": "왕복"
}
```


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "Adults": {
      "type": "string",
      "description": ""
    },
    "Booking_URL": {
      "type": "string",
      "description": ""
    },
    "Cabin_Class": {
      "type": "string",
      "description": ""
    },
    "Currency_Code": {
      "type": "string",
      "description": ""
    },
    "Infants": {
      "type": "string",
      "description": ""
    },
    "Outbound_Airline": {
      "type": "string",
      "description": ""
    },
    "Outbound_Arrival_Airport": {
      "type": "string",
      "description": ""
    },
    "Outbound_Arrival_Airport_Code": {
      "type": "string",
      "description": ""
    },
    "Outbound_Arrival_Date": {
      "type": "string",
      "description": ""
    },
    "Outbound_Arrival_Time": {
      "type": "string",
      "description": ""
    },
    "Outbound_Departure_Airport": {
      "type": "string",
      "description": ""
    },
    "Outbound_Departure_Airport_Code": {
      "type": "string",
      "description": ""
    },
    "Outbound_Departure_Date": {
      "type": "string",
      "description": ""
    },
    "Outbound_Departure_Time": {
      "type": "string",
      "description": ""
    },
    "Outbound_Duration": {
      "type": "string",
      "description": ""
    },
    "Outbound_Flight_Number": {
      "type": "string",
      "description": ""
    },
    "Outbound_Stopover_Airports": {
      "type": "string",
      "description": ""
    },
    "Outbound_Stops": {
      "type": "string",
      "description": ""
    },
    "Provider_Label": {
      "type": "string",
      "description": ""
    },
    "Provider_Name": {
      "type": "string",
      "description": ""
    },
    "Provider_Price": {
      "type": "string",
      "description": ""
    },
    "Provider_Rank": {
      "type": "string",
      "description": ""
    },
    "Provider_Rating": {
      "type": "string",
      "description": ""
    },
    "Provider_Review_Count": {
      "type": "string",
      "description": ""
    },
    "Result_Rank": {
      "type": "string",
      "description": ""
    },
    "Return_Airline": {
      "type": "string",
      "description": ""
    },
    "Return_Arrival_Airport": {
      "type": "string",
      "description": ""
    },
    "Return_Arrival_Airport_Code": {
      "type": "string",
      "description": ""
    },
    "Return_Arrival_Date": {
      "type": "string",
      "description": ""
    },
    "Return_Arrival_Time": {
      "type": "string",
      "description": ""
    },
    "Return_Departure_Airport": {
      "type": "string",
      "description": ""
    },
    "Return_Departure_Airport_Code": {
      "type": "string",
      "description": ""
    },
    "Return_Departure_Date": {
      "type": "string",
      "description": ""
    },
    "Return_Departure_Time": {
      "type": "string",
      "description": ""
    },
    "Return_Duration": {
      "type": "string",
      "description": ""
    },
    "Return_Flight_Number": {
      "type": "string",
      "description": ""
    },
    "Return_Stopover_Airports": {
      "type": "string",
      "description": ""
    },
    "Return_Stops": {
      "type": "string",
      "description": ""
    },
    "Search_Departure": {
      "type": "string",
      "description": ""
    },
    "Search_Departure_Date": {
      "type": "string",
      "description": ""
    },
    "Search_Destination": {
      "type": "string",
      "description": ""
    },
    "Search_Return_Date": {
      "type": "string",
      "description": ""
    },
    "Ticket_Type": {
      "type": "string",
      "description": ""
    }
  },
  "title": "Skyscanner Flight Price Scraper (Korea) output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

Example 1

```json
{
  "Adults": "1",
  "Booking_URL": "/transport_deeplink/4.0/KR/ko-KR/KRW/bcdk/2/12409.12234.2026-12-10,12234.12409.2026-12-13/air/trava/flights?itinerary=flight|-31882|3068|12409|2026-12-10T12:55|15641|2026-12-10T14:15|140|-|-|-;flight|-31882|3037|15641|2026-12-10T17:25|12234|2026-12-10T20:50|145|-|-|-,flight|-31882|3038|12234|2026-12-13T08:40|15641|2026-12-13T11:05|205|-|-|-;flight|-31882|8755|15641|2026-12-13T14:00|12409|2026-12-13T17:10|130|-|-|-&carriers=-31882&operators=-32442;-32442,-32442;-32128&passengers=1&channel=website&cabin_class=first&fps_session_id=455a72e3-409e-4956-acde-8e20eba18b98&ticket_price=6155706.00&is_npt=false&is_multipart=false&client_id=skyscanner_website&request_id=b16840ee-e190-4695-967e-c472034d7bd5&q_ids=H4sIAAAAAAAA_-Oy5mJJSk7JFuLluGmmxGFkbmpsYWZsIcXLscAOzDUxMrCwVGi4_vwGm0bDge832IyYFBgtmKuYvYPCAYnCwh89AAAA|-6576375522552663624|2$H4sIAAAAAAAA_-Oy5mJJSk7JFuLluGmmxGFkbmpsYWZsIcXLscAOzDUxMrCwVGi4_vwGm0bDge832IyYFBgtmKuYvYPCAYnCwh89AAAA|AAIEAgEAAgfqDAoIMjc1Mzg2MzgIMjc1NDIwODkH6gwNCDI3NTQyMDg5CDI3NTM4NjM4Ag|1410540631444832001|2&q_sources=JACQUARD&commercial_filters=false&q_datetime_utc=2026-10-30T03:43:56&pqid=true&fare_type=base_fare",
  "Cabin_Class": "일등석",
  "Currency_Code": "KRW",
  "Infants": "0",
  "Outbound_Airline": "상하이 항공",
  "Outbound_Arrival_Airport": "도쿄 하네다",
  "Outbound_Arrival_Airport_Code": "HND",
  "Outbound_Arrival_Date": "2026-12-10",
  "Outbound_Arrival_Time": "20:50",
  "Outbound_Departure_Airport": "인천 국제",
  "Outbound_Departure_Airport_Code": "ICN",
  "Outbound_Departure_Date": "2026-12-10",
  "Outbound_Departure_Time": "12:55",
  "Outbound_Duration": "475",
  "Outbound_Flight_Number": "FM3068",
  "Outbound_Stopover_Airports": "",
  "Outbound_Stops": "1",
  "Provider_Label": "",
  "Provider_Name": "Booking.com",
  "Provider_Price": "6155706.0",
  "Provider_Rank": "1",
  "Provider_Rating": "3.38",
  "Provider_Review_Count": "1779",
  "Result_Rank": "1",
  "Return_Airline": "상하이 항공",
  "Return_Arrival_Airport": "인천 국제",
  "Return_Arrival_Airport_Code": "ICN",
  "Return_Arrival_Date": "2026-12-13",
  "Return_Arrival_Time": "17:10",
  "Return_Departure_Airport": "도쿄 하네다",
  "Return_Departure_Airport_Code": "HND",
  "Return_Departure_Date": "2026-12-13",
  "Return_Departure_Time": "08:40",
  "Return_Duration": "510",
  "Return_Flight_Number": "FM3038",
  "Return_Stopover_Airports": "",
  "Return_Stops": "1",
  "Search_Departure": "서울",
  "Search_Departure_Date": "2026/12/10",
  "Search_Destination": "도쿄",
  "Search_Return_Date": "2026/12/13",
  "Ticket_Type": "왕복"
}
```

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

```json
{
  "templateName": "skyscanner-scraper-korea",
  "taskName": "Skyscanner Flight Price Scraper (Korea)",
  "parameters": "{\"adults\":\"1\",\"cabin\":\"일등석\",\"currency\":\"KRW\",\"departure\":\"서울\",\"departure_date\":\"2026/12/10\",\"destination\":\"도쿄\",\"return_date\":\"2026/12/13\",\"ticket_type\":\"왕복\"}"
}
```

## Python Example

```python
import json
import requests

OPENAPI_BASE = "https://openapi.octoparse.com"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"

parameters = json.loads("{\"adults\":\"1\",\"cabin\":\"일등석\",\"currency\":\"KRW\",\"departure\":\"서울\",\"departure_date\":\"2026/12/10\",\"destination\":\"도쿄\",\"return_date\":\"2026/12/13\",\"ticket_type\":\"왕복\"}")

response = requests.post(
    f"{OPENAPI_BASE}/api/agentTools/executeTask",
    headers={
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "templateName": "skyscanner-scraper-korea",
        "taskName": "Skyscanner Flight Price Scraper (Korea)",
        "parameters": json.dumps(parameters, ensure_ascii=False),
    },
    timeout=60,
)
print(response.status_code)
print(response.json())
```

## HTTP/cURL Example

```bash
curl -X POST "https://openapi.octoparse.com/api/agentTools/executeTask" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "templateName": "skyscanner-scraper-korea",
  "taskName": "Skyscanner Flight Price Scraper (Korea)",
  "parameters": "{\"adults\":\"1\",\"cabin\":\"일등석\",\"currency\":\"KRW\",\"departure\":\"서울\",\"departure_date\":\"2026/12/10\",\"destination\":\"도쿄\",\"return_date\":\"2026/12/13\",\"ticket_type\":\"왕복\"}"
}
JSON
```

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `skyscanner-scraper-korea`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/skyscanner-scraper-korea.json)
- [Manifest](https://www.octoparse.com/templates/skyscanner-scraper-korea-manifest.json)
