{
  "openapi": "3.0.1",
  "info": {
    "title": "Historic Land Use Screener - Contaminating SIC/NAICS Sites",
    "description": "Screens a coordinate or address radius against EPA FRS SIC and NAICS classifications to find dry cleaners, gas stations, plating shops, auto shops, printers and other recognised contaminating land uses, for ASTM E1527-21 Section 8.3 prior-use review.",
    "version": "1.0",
    "x-build-id": "ENIbiIkT81yYZnls8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/malonestar~historic-land-use-sic-contaminant-screener/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-malonestar-historic-land-use-sic-contaminant-screener",
        "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/malonestar~historic-land-use-sic-contaminant-screener/runs": {
      "post": {
        "operationId": "runs-sync-malonestar-historic-land-use-sic-contaminant-screener",
        "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/malonestar~historic-land-use-sic-contaminant-screener/run-sync": {
      "post": {
        "operationId": "run-sync-malonestar-historic-land-use-sic-contaminant-screener",
        "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",
        "required": [
          "assets"
        ],
        "properties": {
          "assets": {
            "title": "Properties to screen",
            "type": "array",
            "description": "Locations to screen for contaminating industrial land uses. Each item is EITHER {\"lat\": 39.7392, \"lon\": -104.9903, \"label\": \"...\"} OR {\"address\": \"1438 Tremont Pl, Denver, CO 80202\", \"label\": \"...\"}. Addresses are geocoded with the free US Census geocoder; a coordinate is faster and more precise. Required - a run without it is rejected before it starts, so nothing is billed."
          },
          "radiusMiles": {
            "title": "Search radius (miles)",
            "minimum": 0.02,
            "maximum": 1,
            "type": "number",
            "description": "Distance from each property within which EPA FRS facilities are screened. ASTM E1527-21 Section 8.3 concerns the subject property and adjoining properties, so 0.25 mi is the working default; 1 mi is the maximum and 0.02 mi the minimum."
          },
          "landUseClasses": {
            "title": "Limit to these contaminating land-use classes",
            "type": "array",
            "description": "Optional filter. Leave empty (the default behaviour) to screen against every class in the vocabulary. Unknown values are ignored rather than silently dropping every result.",
            "items": {
              "type": "string",
              "enum": [
                "DRY_CLEANING",
                "FUEL_DISPENSING_STORAGE",
                "PETROLEUM_REFINING_PRODUCTION",
                "METAL_PLATING_FINISHING",
                "METAL_FABRICATION_FOUNDRY",
                "AUTOMOTIVE_SERVICE",
                "SALVAGE_SCRAP_RECYCLING",
                "WOOD_PRESERVING",
                "WOOD_PRODUCTS",
                "PRINTING_PUBLISHING",
                "CHEMICAL_MANUFACTURING",
                "EXPLOSIVES_ORDNANCE",
                "WASTE_MANAGEMENT_LANDFILL",
                "ELECTRONICS_SEMICONDUCTOR",
                "BATTERY_MANUFACTURING",
                "LEATHER_TEXTILE_FINISHING",
                "MANUFACTURED_GAS_UTILITY",
                "TRANSPORT_TERMINAL",
                "AIRPORT_AVIATION",
                "PHOTOFINISHING",
                "PESTICIDE_APPLICATION",
                "PLASTICS_RUBBER",
                "PULP_PAPER",
                "NATIONAL_SECURITY_FEDERAL"
              ]
            }
          },
          "programs": {
            "title": "Also search state / tribal equivalent record sources (opt-in)",
            "type": "array",
            "description": "OPT-IN. Leave empty (the working default) and this actor behaves exactly as before: ASTM E1527-21 Section 8.3 prior uses only. Add \"state\" to also screen the ASTM Section 8.2 STATE AND TRIBAL EQUIVALENT record class - the ~57 state and tribal agency program systems EPA normalises into the same registry. Coverage is uneven and is measured live every run: every summary row carries state_coverage (complete / partial / none), the systems actually searched, and the systems EPA publishes for that state. MEASURED 2026-08-20, EPA publishes NO state or tribal agency system at all for AK, CO, DC, MI, SD, VT, WV or the US territories - for those, state_coverage reads \"none\" and every state count is null, so a zero can never be mistaken for a searched-and-clear result. Adds 2 requests per state (not per property) and no extra rows.",
            "items": {
              "type": "string",
              "enum": [
                "state"
              ],
              "enumTitles": [
                "State and tribal equivalent record sources (ASTM E1527-21 Section 8.2)"
              ]
            }
          },
          "includeSecondaryClassifications": {
            "title": "Count SECONDARY and UNKNOWN classification codes",
            "type": "boolean",
            "description": "EPA marks each SIC/NAICS code on a facility PRIMARY, SECONDARY or UNKNOWN. When true (the working default) a secondary contaminating code still counts as a hit and is labelled as secondary on the row. Set false to count only PRIMARY codes."
          },
          "includeUnclassifiedFacilities": {
            "title": "Also emit facilities with no contaminating classification",
            "type": "boolean",
            "description": "When false (the working default) only facilities carrying a contaminating classification are emitted, plus one summary row per property. When true, every FRS facility in the radius is emitted, including those EPA publishes no SIC/NAICS for. This multiplies the row count and therefore the bill."
          },
          "crossStateRecords": {
            "title": "Facilities filed in a different state than the query point",
            "enum": [
              "flag",
              "exclude",
              "include"
            ],
            "type": "string",
            "description": "EPA geocodes a substantial share of FRS records to the operator's mailing address rather than the operating site - measured 2026-08-18, 90 of 188 records within 402 m of downtown Denver are Wyoming well pads stacked on one Denver office coordinate. \"flag\" (working default) emits them with location_confidence=state_mismatch and excludes them from the verdict; \"exclude\" drops them; \"include\" counts them toward the verdict."
          },
          "coordinateStackThreshold": {
            "title": "Coordinate-stack threshold",
            "minimum": 2,
            "maximum": 1000,
            "type": "integer",
            "description": "How many distinct facilities sharing one identical coordinate marks that coordinate as an address-level geocode rather than a site-specific location. Stacked facilities are emitted with location_confidence=coordinate_stack and are excluded from the verdict."
          },
          "maxFacilitiesPerAsset": {
            "title": "Max facilities per property",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Cap on facility rows emitted per property, nearest first. When the cap truncates the result the summary row says so and the verdict cannot read as a clean negative."
          },
          "maxResults": {
            "title": "Max total rows",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Hard cap on total dataset rows across the whole run, which is also the hard cap on the bill. One row is one billable result."
          },
          "simulateOutage": {
            "title": "Diagnostic: simulate an outage",
            "enum": [
              "none",
              "frs_interests",
              "frs_sic",
              "frs_naics",
              "geocoder",
              "drift_load_bearing",
              "drift_negative_control",
              "drift_fail",
              "state_programs",
              "drift_state_leg"
            ],
            "type": "string",
            "description": "Permanent diagnostic seam for proving the failure paths on demand instead of only during a real outage. \"none\" is a genuine no-op. The other values force the named source or drift probe to fail so the loud-failure and degraded-disclosure paths can be re-verified."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}