{
  "openapi": "3.0.1",
  "info": {
    "title": "OpenSky Live Aircraft Tracker (ADS-B State Vectors)",
    "description": "Track every aircraft in the air right now via ADS-B. Query by bounding box, region preset or ICAO24 hex ids and get live position, altitude, speed, heading, squawk and identity as clean decoded fields. Export to JSON, CSV or Excel.",
    "version": "0.1",
    "x-build-id": "6NzK0QWzNOWSvvAPZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapers_lat~opensky-live-aircraft-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapers_lat-opensky-live-aircraft-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/scrapers_lat~opensky-live-aircraft-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapers_lat-opensky-live-aircraft-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/scrapers_lat~opensky-live-aircraft-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapers_lat-opensky-live-aircraft-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": {
          "region": {
            "title": "Region Preset",
            "enum": [
              "europe",
              "north_america",
              "south_america",
              "usa",
              "uk_ireland",
              "mediterranean",
              "worldwide"
            ],
            "type": "string",
            "description": "Quickly select a predefined airspace to scan. Worldwide returns all aircraft OpenSky can see (large result set). Use a bounding box or ICAO24 list instead for finer control. Ignored when a bounding box or ICAO24 list is provided.",
            "default": "europe"
          },
          "latMin": {
            "title": "Latitude Min",
            "type": "string",
            "description": "Bounding box south edge (decimal degrees, -90 to 90). Provide all four bounding box fields to override the region preset."
          },
          "lonMin": {
            "title": "Longitude Min",
            "type": "string",
            "description": "Bounding box west edge (decimal degrees, -180 to 180)."
          },
          "latMax": {
            "title": "Latitude Max",
            "type": "string",
            "description": "Bounding box north edge (decimal degrees, -90 to 90)."
          },
          "lonMax": {
            "title": "Longitude Max",
            "type": "string",
            "description": "Bounding box east edge (decimal degrees, -180 to 180)."
          },
          "icao24List": {
            "title": "ICAO24 Hex Ids",
            "type": "array",
            "description": "Optional list of specific aircraft ICAO24 transponder hex ids (for example a835af, 4b1806). When provided, only these aircraft are returned (highest precedence, overrides bounding box and region).",
            "items": {
              "type": "string"
            }
          },
          "onlyAirborne": {
            "title": "Only Airborne",
            "type": "boolean",
            "description": "When on, aircraft reported as on the ground are filtered out and only airborne aircraft are returned.",
            "default": false
          },
          "withAircraftMetadata": {
            "title": "Add aircraft identity (registration, type, operator)",
            "type": "boolean",
            "description": "Optional paid add-on. When on, each aircraft hex is resolved to its real identity: tail number (registration), aircraft type, manufacturer, operator (airline) and operator country, plus a photo URL. Billed only for aircraft that are successfully identified ($0.012 each). Disabled for free Apify plans.",
            "default": false
          },
          "withFlightRoute": {
            "title": "Add flight route (airline, origin, destination)",
            "type": "boolean",
            "description": "Optional paid add-on. When on, each callsign is resolved to its scheduled route: airline name, IATA flight number, and origin/destination airport names and IATA codes (for example British Airways, LHR to JFK). Billed only for callsigns with a resolved route ($0.012 each). Disabled for free Apify plans.",
            "default": false
          },
          "maxAircraft": {
            "title": "Max Aircraft",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of aircraft to return. Free Apify accounts are capped at 10 per run."
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Apify Residential proxy is enabled by default and recommended, since the OpenSky Network does not accept requests from datacenter IP ranges.",
            "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}