{
  "openapi": "3.0.1",
  "info": {
    "title": "Flight Tracker — Live Aircraft Data for AI Agents",
    "description": "Real-time flight tracking tool for AI agents & LLMs. Look up live aircraft position, altitude, speed, heading & on-ground status by flight/callsign, region or airport — plus airport departures/arrivals. MCP-callable real-time grounding for travel assistants & RAG.",
    "version": "0.1",
    "x-build-id": "d5vC5qcyunbC9ZpW1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/haketa~flight-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-haketa-flight-tracker",
        "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/haketa~flight-tracker/runs": {
      "post": {
        "operationId": "runs-sync-haketa-flight-tracker",
        "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/haketa~flight-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-haketa-flight-tracker",
        "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": {
          "flights": {
            "title": "Flight numbers / callsigns (optional)",
            "type": "array",
            "description": "Type one or more flight numbers or callsigns to locate live, e.g. \"DLH717\", \"BA123\", \"UAL456\". Airline IATA numbers such as \"LH717\" are matched to their ICAO callsign automatically. Leave empty to get a live worldwide snapshot instead.",
            "items": {
              "type": "string"
            }
          },
          "region": {
            "title": "Region",
            "enum": [
              "worldwide",
              "europe",
              "north-america",
              "south-america",
              "asia",
              "oceania",
              "africa",
              "middle-east",
              "none"
            ],
            "type": "string",
            "description": "Return every live aircraft currently flying over the chosen region. Pick \"Worldwide\" for a global mixed sample. Used whenever no specific flight numbers are entered above.",
            "default": "worldwide"
          },
          "airports": {
            "title": "Airports (departures / arrivals)",
            "type": "array",
            "description": "Choose airports to list their recent departures or arrivals. Requires OpenSky credentials below. Need an airport that is not listed? Add its ICAO code under \"Other airports\".",
            "items": {
              "type": "string",
              "enum": [
                "EDDF",
                "EGLL",
                "LFPG",
                "EHAM",
                "EDDM",
                "LEMD",
                "LEBL",
                "LIRF",
                "LSZH",
                "LOWW",
                "EKCH",
                "ESSA",
                "EPWA",
                "LTFM",
                "OMDB",
                "OTHH",
                "OERK",
                "KJFK",
                "KLAX",
                "KORD",
                "KATL",
                "KSFO",
                "KMIA",
                "KDFW",
                "CYYZ",
                "MMMX",
                "SBGR",
                "SAEZ",
                "RJTT",
                "RJAA",
                "RKSI",
                "ZBAA",
                "ZSPD",
                "VHHH",
                "WSSS",
                "WMKK",
                "VTBS",
                "VIDP",
                "VABB",
                "YSSY",
                "YMML",
                "NZAA",
                "FAOR",
                "HECA",
                "DNMM"
              ],
              "enumTitles": [
                "Frankfurt (EDDF)",
                "London Heathrow (EGLL)",
                "Paris Charles de Gaulle (LFPG)",
                "Amsterdam Schiphol (EHAM)",
                "Munich (EDDM)",
                "Madrid Barajas (LEMD)",
                "Barcelona (LEBL)",
                "Rome Fiumicino (LIRF)",
                "Zurich (LSZH)",
                "Vienna (LOWW)",
                "Copenhagen (EKCH)",
                "Stockholm Arlanda (ESSA)",
                "Warsaw Chopin (EPWA)",
                "Istanbul (LTFM)",
                "Dubai (OMDB)",
                "Doha Hamad (OTHH)",
                "Riyadh (OERK)",
                "New York JFK (KJFK)",
                "Los Angeles (KLAX)",
                "Chicago O'Hare (KORD)",
                "Atlanta (KATL)",
                "San Francisco (KSFO)",
                "Miami (KMIA)",
                "Dallas/Fort Worth (KDFW)",
                "Toronto Pearson (CYYZ)",
                "Mexico City (MMMX)",
                "Sao Paulo Guarulhos (SBGR)",
                "Buenos Aires Ezeiza (SAEZ)",
                "Tokyo Haneda (RJTT)",
                "Tokyo Narita (RJAA)",
                "Seoul Incheon (RKSI)",
                "Beijing Capital (ZBAA)",
                "Shanghai Pudong (ZSPD)",
                "Hong Kong (VHHH)",
                "Singapore Changi (WSSS)",
                "Kuala Lumpur (WMKK)",
                "Bangkok Suvarnabhumi (VTBS)",
                "Delhi Indira Gandhi (VIDP)",
                "Mumbai (VABB)",
                "Sydney (YSSY)",
                "Melbourne (YMML)",
                "Auckland (NZAA)",
                "Johannesburg (FAOR)",
                "Cairo (HECA)",
                "Lagos (DNMM)"
              ]
            },
            "default": []
          },
          "airportsCustom": {
            "title": "Other airports — ICAO codes (advanced)",
            "type": "array",
            "description": "Optional. Add any extra airports by ICAO code, e.g. \"EDDF\", \"KSEA\", \"OMAA\". These are combined with the airports selected above.",
            "items": {
              "type": "string"
            }
          },
          "airportDirection": {
            "title": "Airport direction",
            "enum": [
              "arrival",
              "departure"
            ],
            "type": "string",
            "description": "For the airports above: list departures or arrivals from the last couple of hours.",
            "default": "arrival"
          },
          "openSkyClientId": {
            "title": "OpenSky client ID (optional)",
            "type": "string",
            "description": "Optional OpenSky Network OAuth2 client ID. Enables airport departures/arrivals and a higher rate limit. Get one free at opensky-network.org (Account → API Client)."
          },
          "openSkyClientSecret": {
            "title": "OpenSky client secret (optional)",
            "type": "string",
            "description": "OpenSky OAuth2 client secret (paired with the client ID)."
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of aircraft / flights to return. Set 0 for no limit.",
            "default": 100
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. Recommended and on by default so lookups stay fast and reliable.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}