{
  "openapi": "3.0.1",
  "info": {
    "title": "Australian Address Check: Flood, Bushfire, Zoning, NBN, Schools",
    "description": "Australian address enrichment for property due diligence: flood zone and bushfire-prone area, planning zone and heritage overlays, contaminated land, NBN availability, school catchment, nearest train station, SEIFA and federal/state electorates. One row per address. All states; coverage varies.",
    "version": "0.7",
    "x-build-id": "wRzkN2Cq1cWVl9OAK"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/davidar~au-address-enrichment/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-davidar-au-address-enrichment",
        "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/davidar~au-address-enrichment/runs": {
      "post": {
        "operationId": "runs-sync-davidar-au-address-enrichment",
        "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/davidar~au-address-enrichment/run-sync": {
      "post": {
        "operationId": "run-sync-davidar-au-address-enrichment",
        "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": {
          "addresses": {
            "title": "Addresses to check (one per line)",
            "uniqueItems": true,
            "type": "array",
            "description": "The Australian street addresses to look up: each one gets its planning zone and overlays, flood and bushfire risk, NBN availability, school catchment, nearest public transport, SEIFA index and electorates. One address per line, with suburb and state or postcode, e.g. `10 Glenferrie Rd, Malvern VIC 3144`; units as `1/79 Ormond Rd, …`. Up to 5000 per run (together with `records`). Each output row echoes the text back in `input.address`.",
            "items": {
              "type": "string"
            }
          },
          "records": {
            "title": "Records with your own IDs or coordinates (advanced)",
            "type": "array",
            "description": "Use instead of (or as well as) `addresses` when you want your own ID echoed back on each output row as `input.id`, or already have coordinates. A JSON array of objects: `{\"id\": \"a1\", \"address\": \"10 Glenferrie Rd, Malvern VIC 3144\"}`, or `{\"id\": \"a2\", \"lat\": -37.81, \"lng\": 144.96, \"address\": \"VIC\"}`. Coordinates skip geocoding, but the address text must still name the state so the right state's sources run. NT locations can only be checked from coordinates (NT has no keyless address layer).",
            "items": {
              "type": "object"
            }
          },
          "blocks": {
            "title": "Checks to run (data blocks)",
            "type": "array",
            "description": "Which checks to run per address (default: all). Fewer run faster; the price is the same. `planning`: zoning, overlays (heritage, flood, design…), bushfire-prone area. `flood`: 1% AEP flood extent, flood history, parcel flood levels. `contaminatedLand`: EPA sites and landfills on or near the parcel (VIC, NSW). `connectivity`: NBN technology, fibre-upgrade eligibility, nearest mobile towers. `transport`: nearest train station, tram, bus and ferry. `schools`: government school catchments. `demographics`: ABS SA1 + SEIFA deciles. `electorates`: federal, state and upper-house electorates, council ward. `crime`: vehicle theft, theft from vehicles and residential burglary in the suburb / LGA / police division — counts, rate per 1,000, rank and trend (VIC, NSW, QLD, SA, ACT, NT).",
            "items": {
              "type": "string",
              "enum": [
                "planning",
                "flood",
                "contaminatedLand",
                "connectivity",
                "transport",
                "schools",
                "demographics",
                "electorates",
                "crime"
              ],
              "enumTitles": [
                "Planning: zoning, overlays (heritage, flood…), bushfire-prone area",
                "Flood risk: 1% AEP flood zone, flood history, parcel levels",
                "Contaminated land / EPA sites nearby (VIC, NSW)",
                "Connectivity: NBN technology + fibre upgrade, mobile-tower proximity",
                "Public transport: nearest train station / tram / bus / ferry",
                "School catchment zones (primary, year 7, year 12)",
                "Demographics: ABS SA1 + SEIFA 2021 socio-economic index",
                "Electorates: federal division, state district + upper house, council ward",
                "Crime: car theft, theft from cars, home burglary — suburb / LGA rate, rank, trend (not WA, TAS)"
              ]
            },
            "default": [
              "planning",
              "flood",
              "contaminatedLand",
              "connectivity",
              "transport",
              "schools",
              "demographics",
              "electorates",
              "crime"
            ]
          },
          "nbn": {
            "title": "Check NBN availability",
            "type": "boolean",
            "description": "Look up each address's NBN technology (FTTP, FTTC, FTTN, HFC…) and fibre-upgrade eligibility. Uses nbn co's public address-check endpoint, which is not a documented API; turn it off if that endpoint becomes unavailable, and `connectivity.nbn` is then reported as `unknown`.",
            "default": true
          },
          "concurrency": {
            "title": "Addresses in parallel",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many addresses to process at once, 1–20. Government endpoints are shared infrastructure and requests are capped at 4 in flight per host regardless, so raising this past ~8 mostly helps batches that mix states.",
            "default": 8
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}