{
  "openapi": "3.0.1",
  "info": {
    "title": "Qatar Airways Flight Scraper",
    "description": "Search Qatar Airways fares for one-way, round-trip, and multi-city trips. Returns flight offers, fare families, and flexible-date prices with the booking widget filters.",
    "version": "1.0",
    "x-build-id": "Blz9AEkbf3AjvTlos"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rigelbytes~qatarairways-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rigelbytes-qatarairways-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/rigelbytes~qatarairways-scraper/runs": {
      "post": {
        "operationId": "runs-sync-rigelbytes-qatarairways-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/rigelbytes~qatarairways-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-rigelbytes-qatarairways-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "tripType": {
            "title": "Trip type",
            "enum": [
              "one-way",
              "round-trip",
              "multi-city"
            ],
            "type": "string",
            "description": "One-way, round-trip, or multi-city. Ignored when trips is set.",
            "default": "one-way"
          },
          "origin": {
            "title": "From",
            "type": "string",
            "description": "Departure airport IATA code, for example BER."
          },
          "destination": {
            "title": "To",
            "type": "string",
            "description": "Arrival airport IATA code, for example ISB."
          },
          "departureDate": {
            "title": "Departure date",
            "type": "string",
            "description": "Outbound departure date in YYYY-MM-DD format."
          },
          "returnDate": {
            "title": "Return date",
            "type": "string",
            "description": "Return date in YYYY-MM-DD format. Required for round-trip."
          },
          "legs": {
            "title": "Multi-city legs",
            "type": "array",
            "description": "Required for multi-city. Each leg needs origin, destination, and departureDate. Example: [{\"origin\":\"BER\",\"destination\":\"DOH\",\"departureDate\":\"2026-12-31\"},{\"origin\":\"DOH\",\"destination\":\"ISB\",\"departureDate\":\"2027-01-02\"}]."
          },
          "cabinClass": {
            "title": "Cabin",
            "enum": [
              "ECONOMY",
              "PREMIUM",
              "FIRST"
            ],
            "type": "string",
            "description": "Cabin sent to Qatar Airways. Economy is E, Premium (business) is B, and First is F on the website.",
            "default": "ECONOMY"
          },
          "adults": {
            "title": "Adults",
            "minimum": 0,
            "maximum": 9,
            "type": "integer",
            "description": "Passengers aged 16 and over.",
            "default": 1
          },
          "children": {
            "title": "Children",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Children aged 2 to 11.",
            "default": 0
          },
          "infants": {
            "title": "Infants",
            "minimum": 0,
            "maximum": 4,
            "type": "integer",
            "description": "Infants under 2. Cannot exceed the number of adults.",
            "default": 0
          },
          "teenagers": {
            "title": "Teenagers",
            "minimum": 0,
            "maximum": 8,
            "type": "integer",
            "description": "Teenagers aged 12 to 15. Qatar Airways only offers this passenger type on some routes.",
            "default": 0
          },
          "overseasFilipinoWorkers": {
            "title": "Overseas Filipino workers",
            "minimum": 0,
            "maximum": 9,
            "type": "integer",
            "description": "OFW passengers. Qatar Airways only offers this passenger type on some routes.",
            "default": 0
          },
          "currency": {
            "title": "Currency",
            "type": "string",
            "description": "Optional 3-letter currency code, for example USD or EUR. Leave empty to use the website default for the route."
          },
          "promoCode": {
            "title": "Promo code",
            "type": "string",
            "description": "Optional promotional code. Invalid codes are ignored, matching the website."
          },
          "includeFlexibleDates": {
            "title": "See more dates",
            "type": "boolean",
            "description": "Also collect lowest fares on nearby dates, the same window as See more dates / the flexible calendar.",
            "default": false
          },
          "flexibility": {
            "title": "Days around each date",
            "minimum": 1,
            "maximum": 7,
            "type": "integer",
            "description": "How many days before and after each calendar anchor to request. The flight page uses 3 and the flexible calendar uses 7.",
            "default": 7
          },
          "flexibleDateSpanDays": {
            "title": "Flexible date range",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "How many days before and after the departure date to cover when See more dates is on.",
            "default": 60
          },
          "fetchReturnFlights": {
            "title": "Load return and later legs",
            "type": "boolean",
            "description": "For round-trip and multi-city, load the next leg using the cheapest fare from the previous leg. The website does this after you select a fare.",
            "default": true
          },
          "directFlightsOnly": {
            "title": "Direct flights only",
            "type": "boolean",
            "description": "Keep flights with no stops.",
            "default": false
          },
          "maxStops": {
            "title": "Maximum stops",
            "minimum": 0,
            "type": "integer",
            "description": "Optional cap on stops per flight. Leave empty to keep every flight."
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code for fare labels, for example en.",
            "default": "en"
          },
          "trips": {
            "title": "Extra trips",
            "type": "array",
            "description": "Optional list of searches. When this array is not empty it replaces the single trip above. Each object accepts tripType, origin, destination, departureDate, returnDate, legs, cabinClass, adults, children, infants, teenagers, overseasFilipinoWorkers, currency, promoCode, includeFlexibleDates, flexibility, and flexibleDateSpanDays."
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum fare and calendar records to save. 0 means no limit.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Residential proxy used for the search. Leave the default unless you have a reason to change it.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}