{
  "openapi": "3.0.1",
  "info": {
    "title": "US Hail & Storm Damage Reports (NWS + NOAA Radar Hail)",
    "description": "Daily US hail, wind and tornado reports from official NWS Local Storm Reports, plus optional NOAA NEXRAD radar hail footprints. Filter by state, date, hail size, wind speed or radius around a point. For roofing, restoration, auto-hail repair, insurance and public adjusters.",
    "version": "0.1",
    "x-build-id": "HmlemhOJwPpz4bCOM"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/supplemental_gorse~us-hail-storm-reports/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-supplemental_gorse-us-hail-storm-reports",
        "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/supplemental_gorse~us-hail-storm-reports/runs": {
      "post": {
        "operationId": "runs-sync-supplemental_gorse-us-hail-storm-reports",
        "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/supplemental_gorse~us-hail-storm-reports/run-sync": {
      "post": {
        "operationId": "run-sync-supplemental_gorse-us-hail-storm-reports",
        "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": {
          "states": {
            "title": "States",
            "type": "array",
            "description": "2-letter state codes, e.g. TX, OK, CO. Leave empty for all US states.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "lastDays": {
            "title": "Last N days",
            "minimum": 1,
            "maximum": 31,
            "type": "integer",
            "description": "Used when Start date is empty: look back this many days from now (UTC).",
            "default": 3
          },
          "startDate": {
            "title": "Start date (UTC)",
            "type": "string",
            "description": "Optional. YYYY-MM-DD. Overrides 'Last N days'. Max range per run: 31 days."
          },
          "endDate": {
            "title": "End date (UTC, inclusive)",
            "type": "string",
            "description": "Optional. YYYY-MM-DD. Defaults to now."
          },
          "eventCategories": {
            "title": "Event categories",
            "type": "array",
            "description": "Which report types to include.",
            "items": {
              "type": "string",
              "enum": [
                "hail",
                "wind",
                "tornado",
                "flood",
                "winter",
                "marine",
                "other"
              ],
              "enumTitles": [
                "Hail",
                "Thunderstorm / high wind (gusts & damage)",
                "Tornado / funnel cloud",
                "Flood / heavy rain",
                "Winter weather",
                "Marine wind",
                "Other"
              ]
            },
            "default": [
              "hail",
              "wind",
              "tornado"
            ]
          },
          "minHailInches": {
            "title": "Minimum hail size (inches)",
            "minimum": 0,
            "maximum": 8,
            "type": "number",
            "description": "Drop hail reports smaller than this. 1.0 = quarter size (NWS severe threshold). 0 = keep all.",
            "default": 0
          },
          "minWindMph": {
            "title": "Minimum measured wind gust (mph)",
            "minimum": 0,
            "maximum": 250,
            "type": "integer",
            "description": "Drop wind reports with a measured/estimated speed below this. Wind-damage reports without a speed are kept. 0 = keep all.",
            "default": 0
          },
          "severeOnly": {
            "title": "Severe reports only",
            "type": "boolean",
            "description": "Keep only reports meeting NWS severe criteria: hail >= 1 in, wind >= 58 mph or wind damage, or a tornado.",
            "default": false
          },
          "centerLat": {
            "title": "Center latitude",
            "minimum": 15,
            "maximum": 72,
            "type": "number",
            "description": "Optional. With Center longitude and Radius, keep only reports near a point (e.g. your service area)."
          },
          "centerLon": {
            "title": "Center longitude",
            "minimum": -180,
            "maximum": -60,
            "type": "number",
            "description": "Negative for the US, e.g. -97.52 for Oklahoma City."
          },
          "radiusMiles": {
            "title": "Radius (miles)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Search radius around the center point. Default 25.",
            "default": 25
          },
          "includeRadarHail": {
            "title": "Include NOAA radar hail footprints",
            "type": "boolean",
            "description": "Adds NEXRAD radar hail signatures (NCEI SWDI), aggregated per day into ~7-mile grid cells. Catches hail that nobody phoned in. Needs States or a center point.",
            "default": false
          },
          "minRadarHailInches": {
            "title": "Minimum radar hail size (inches)",
            "minimum": 0.25,
            "maximum": 5,
            "type": "number",
            "description": "Radar-estimated maximum hail size threshold.",
            "default": 1
          },
          "minRadarSevereProb": {
            "title": "Minimum radar severe-hail probability (%)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "NEXRAD probability of severe hail threshold.",
            "default": 50
          },
          "radarGridDegrees": {
            "title": "Radar grid size (degrees)",
            "minimum": 0.02,
            "maximum": 1,
            "type": "number",
            "description": "Cell size for aggregating radar detections. 0.1 deg is roughly 7 miles.",
            "default": 0.1
          },
          "includeCountySummary": {
            "title": "Add county-by-day summaries",
            "type": "boolean",
            "description": "Adds one roll-up row per county per day (counts, max hail, max wind) for the reports returned.",
            "default": true
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "largestHail",
              "nearest"
            ],
            "type": "string",
            "description": "Order of records before Max items is applied.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Maximum storm records (ground reports + radar cells) to save. Keeps cost predictable.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}