{
  "openapi": "3.0.1",
  "info": {
    "title": "Cook County Assessor's Property Scraper",
    "description": "Get Cook County property information in minutes. Search by address, area, or property number and receive clear details on property value, sales history, and key home features. Perfect for buyers, investors, and analysts who need reliable data to compare properties and make smarter decisions quickly.",
    "version": "1.5",
    "x-build-id": "eDj41nVv6wZWGBbVx"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~cookcountyassessor-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-cookcountyassessor-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/parseforge~cookcountyassessor-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-cookcountyassessor-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/parseforge~cookcountyassessor-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-cookcountyassessor-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",
        "required": [
          "searchMode"
        ],
        "properties": {
          "maxItems": {
            "title": "Max Properties",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of properties to return. Free users are capped at 100. Leave blank for no limit."
          },
          "searchMode": {
            "title": "Search Mode",
            "enum": [
              "pin",
              "address",
              "township",
              "municipality"
            ],
            "type": "string",
            "description": "How to search for properties. Use 'pin' for direct PIN lookup, 'address' for street address search, 'township' to get all properties in a Cook County township, or 'municipality' for city/village level."
          },
          "pins": {
            "title": "PINs (Property Index Numbers)",
            "type": "array",
            "description": "List of 14-digit Property Index Numbers to look up. Used when searchMode is 'pin'. Example: [\"14321090140000\", \"20144090260000\"].",
            "items": {
              "type": "string"
            }
          },
          "address": {
            "title": "Street Address",
            "type": "string",
            "description": "Property street address to search for. Partial matches supported. Use uppercase (e.g., JANSSEN, MICHIGAN AVE). Used when searchMode is 'address'."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name to narrow address search (e.g., CHICAGO, OAK PARK, EVANSTON). Leave blank to search all cities."
          },
          "township": {
            "title": "Township",
            "enum": [
              "Barrington",
              "Berwyn",
              "Bloom",
              "Bremen",
              "Calumet",
              "Cicero",
              "Elk Grove",
              "Evanston",
              "Hanover",
              "Hyde Park",
              "Jefferson",
              "Lake",
              "Lake View",
              "Lemont",
              "Leyden",
              "Lyons",
              "Maine",
              "New Trier",
              "Niles",
              "North Chicago",
              "Northfield",
              "Norwood Park",
              "Oak Park",
              "Orland",
              "Palatine",
              "Palos",
              "Proviso",
              "Rich",
              "River Forest",
              "Riverside",
              "Rogers Park",
              "Schaumburg",
              "South Chicago",
              "Stickney",
              "Thornton",
              "West Chicago",
              "Wheeling",
              "Worth"
            ],
            "type": "string",
            "description": "Cook County township to retrieve all properties from. Used when searchMode is 'township'."
          },
          "municipality": {
            "title": "Municipality",
            "type": "string",
            "description": "Municipality (city/village) name. Used when searchMode is 'municipality'. Example: Chicago, Evanston, Oak Park."
          },
          "year": {
            "title": "Assessment Year",
            "type": "integer",
            "description": "Filter assessed values and characteristics to a specific year (1999–2026). Leave blank to get the most recent data."
          },
          "includeAssessedValues": {
            "title": "Include Assessed Values History",
            "type": "boolean",
            "description": "Include historic assessed values (mailed, certified, and Board of Review values for land, building, and total).",
            "default": true
          },
          "includeCharacteristics": {
            "title": "Include Property Characteristics",
            "type": "boolean",
            "description": "Include physical property characteristics: year built, square footage, bedrooms, bathrooms, construction quality, etc.",
            "default": true
          },
          "includeSales": {
            "title": "Include Sales History",
            "type": "boolean",
            "description": "Include property sales history with sale dates, prices, buyer/seller names, and deed types.",
            "default": false
          },
          "includeAppeals": {
            "title": "Include Board of Review Appeals",
            "type": "boolean",
            "description": "Include Board of Review appeal history with assessor/BOR values, appeal type, result, and attorney information.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}