{
  "openapi": "3.0.1",
  "info": {
    "title": "Flight Award & Itinerary Scraper – Miles, Taxes & Cabins",
    "description": "Scrape airline award flights and detailed itineraries across multiple loyalty programs. Get miles required, taxes, cabins, routes and remaining seats in clean JSON for analytics, travel hacking, pricing tools or dashboards.",
    "version": "0.0",
    "x-build-id": "lZiKCrLk3Ga2hJ62m"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/igolaizola~flight-award-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-igolaizola-flight-award-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/igolaizola~flight-award-scraper/runs": {
      "post": {
        "operationId": "runs-sync-igolaizola-flight-award-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/igolaizola~flight-award-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-igolaizola-flight-award-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": {
          "maxItems": {
            "title": "Max Items",
            "type": "integer",
            "description": "Maximum number of items to scrape",
            "default": 100
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "",
              "economy",
              "premium",
              "business",
              "first"
            ],
            "type": "string",
            "description": "Criteria to sort the search results",
            "default": ""
          },
          "origins": {
            "title": "Origin airport or city codes (leave empty for any)",
            "type": "array",
            "description": "IATA codes of the origin airport or city codes (leave empty to search all origins). At least one of origin or destination must be provided.",
            "items": {
              "type": "string"
            }
          },
          "destinations": {
            "title": "Destination airport or city codes (leave empty for any)",
            "type": "array",
            "description": "IATA codes of the destination airport or city codes (leave empty to search all destinations). At least one of origin or destination must be provided.",
            "items": {
              "type": "string"
            }
          },
          "startDate": {
            "title": "Start Date (leave empty to search all dates)",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "Start date of the search (YYYY-MM-DD)"
          },
          "endDate": {
            "title": "End Date (leave empty to search all dates)",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$",
            "type": "string",
            "description": "End date of the search (YYYY-MM-DD)"
          },
          "cabin": {
            "title": "Cabin",
            "enum": [
              "",
              "economy",
              "premium",
              "business",
              "first"
            ],
            "type": "string",
            "description": "Cabin class for the search",
            "default": ""
          },
          "issuers": {
            "title": "Issuers (leave empty to search all issuers)",
            "type": "array",
            "description": "Loyalty program issuers to search (leave empty to search all issuers)",
            "items": {
              "type": "string",
              "enum": [
                "aeromexico",
                "aeroplan",
                "alaska",
                "american",
                "azul",
                "copa",
                "delta",
                "emirates",
                "ethiopian",
                "etihad",
                "eurobonus",
                "finnair",
                "flyingblue",
                "jetblue",
                "lufthansa",
                "qantas",
                "qatar",
                "saudia",
                "singapore",
                "smiles",
                "turkish",
                "united",
                "velocity",
                "virginatlantic"
              ],
              "enumTitles": [
                "Aeromexico",
                "Air Canada Aeroplan",
                "Alaska Atmos Rewards",
                "American AAdvantage",
                "Azul Fidelidade",
                "Copa ConnectMiles",
                "Delta SkyMiles",
                "Emirates Skywards",
                "Ethiopian ShebaMiles",
                "Etihad Guest",
                "SAS EuroBonus",
                "Finnair Plus",
                "Air France/KLM Flying Blue",
                "JetBlue TrueBlue",
                "Lufthansa Miles & More",
                "Qantas Frequent Flyer",
                "Qatar Airways Privilege Club",
                "Saudia AlFursan",
                "Singapore Airlines KrisFlyer",
                "GOL Smiles",
                "Turkish Miles&Smiles",
                "United MileagePlus",
                "Virgin Australia Velocity",
                "Virgin Atlantic"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}