{
  "openapi": "3.0.1",
  "info": {
    "title": "NOTAM & TFR Feed - Airports, Drone Areas, Changes Only",
    "description": "Current NOTAMs for US and international airports from the FAA NOTAM system plus FAA Temporary Flight Restrictions (TFR) with areas and altitudes: parsed Q-codes, closures, obstacles, validity in UTC, TFRs near your drone sites and a changes-only mode.",
    "version": "1.0",
    "x-build-id": "aHaUQ8jPipHzBdfCA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/prixodik~notam-tfr-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-prixodik-notam-tfr-feed",
        "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/prixodik~notam-tfr-feed/runs": {
      "post": {
        "operationId": "runs-sync-prixodik-notam-tfr-feed",
        "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/prixodik~notam-tfr-feed/run-sync": {
      "post": {
        "operationId": "run-sync-prixodik-notam-tfr-feed",
        "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": {
          "locations": {
            "title": "Airports and locations",
            "type": "array",
            "description": "Up to 50 ICAO or FAA location identifiers, for example KJFK, KLAX, 2W5, EGLL, CYYZ. Current NOTAMs are read from the FAA NOTAM system, which also carries international NOTAMs. Leave empty to receive TFRs only.",
            "items": {
              "type": "string"
            }
          },
          "categories": {
            "title": "NOTAM categories",
            "type": "array",
            "description": "Optional filter for airport NOTAMs. Empty means all categories. Categories come from the ICAO Q-code, or from the FAA keyword for domestic NOTAMs without a Q-line.",
            "items": {
              "type": "string",
              "enum": [
                "runway",
                "taxiway",
                "apron",
                "aerodrome",
                "obstacle",
                "navaid",
                "airspace",
                "uas",
                "procedure",
                "lighting",
                "services",
                "other"
              ]
            },
            "default": []
          },
          "activeWithinHours": {
            "title": "Only active within the next hours",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Keep only NOTAMs and TFRs that are in force now or start within this many hours (1-8760). Empty keeps everything currently published, including future ones."
          },
          "includeTfr": {
            "title": "Include FAA TFRs",
            "type": "boolean",
            "description": "Add FAA Temporary Flight Restrictions (security, VIP, hazards and firefighting, UAS public gatherings, space operations) with their areas, altitudes and times.",
            "default": true
          },
          "tfrNear": {
            "title": "TFRs near your sites",
            "type": "array",
            "description": "Up to 50 points with lat, lon, radiusNm (default 5) and an optional label, for example drone job sites. Only TFRs whose area lies within the radius are returned, with the distance in nautical miles (0 = the point is inside). Empty = no distance filter."
          },
          "tfrStates": {
            "title": "TFR states",
            "type": "array",
            "description": "Optional list of US state codes (for example CA, FL, DC). Empty = all states.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "tfrTypes": {
            "title": "TFR types",
            "type": "array",
            "description": "Optional filter by FAA TFR type. Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "SECURITY",
                "HAZARDS",
                "VIP",
                "UAS PUBLIC GATHERING",
                "SPACE OPERATIONS",
                "SPECIAL",
                "STADIUM",
                "AIR SHOWS/SPORTS",
                "OTHER"
              ]
            },
            "default": []
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "snapshot",
              "changes"
            ],
            "type": "string",
            "description": "snapshot returns every current NOTAM and TFR. changes returns only records that are new, changed or removed (cancelled or expired) since the previous run with the same state store and filters.",
            "default": "snapshot"
          },
          "stateStoreId": {
            "title": "State store name",
            "type": "string",
            "description": "Named key-value store that remembers what was already delivered. Required for changes mode. Letters, digits and hyphens."
          },
          "maxRecords": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Upper limit on delivered records in this run (1-10000).",
            "default": 2000
          },
          "maxPagesPerLocation": {
            "title": "Maximum pages per location",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "The FAA system returns 30 NOTAMs per page. Busy airports such as KJFK publish 150-200 NOTAMs (5-7 pages). Default 20 pages = 600 NOTAMs.",
            "default": 20
          },
          "maxTfrDetails": {
            "title": "Maximum TFR details",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "Upper limit on TFR detail files read in one run (0-500). The run fails with an explanation if more TFRs match your state and type filters.",
            "default": 200
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The FAA NOTAM Search does not answer the cloud container address directly, so Apify Proxy (datacenter) is used by default.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}