{
  "openapi": "3.0.1",
  "info": {
    "title": "Illinois Property Transfers - PTAX-203 Deed Records",
    "description": "Every Illinois real-estate transfer declaration filed with the State (public open data, 2.93M deeds, 2014-today): address, parcel index number, instrument type, consideration paid, transfer tax split State vs. county, and the named buyer and seller. Filter by county, buyer, seller, parcel or amount.",
    "version": "0.0",
    "x-build-id": "JzCtakPaaB2f43yA1"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/j0401~il-ptax-203/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-j0401-il-ptax-203",
        "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/j0401~il-ptax-203/runs": {
      "post": {
        "operationId": "runs-sync-j0401-il-ptax-203",
        "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/j0401~il-ptax-203/run-sync": {
      "post": {
        "operationId": "run-sync-j0401-il-ptax-203",
        "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": {
          "county": {
            "title": "County (contains)",
            "type": "string",
            "description": "Substring match on the county where the property sits, e.g. 'Cook' (1.44M of the 2.93M), 'DuPage', 'Lake', 'Will'. 102 counties in total. Blank = any.",
            "default": ""
          },
          "buyer": {
            "title": "Buyer name (contains)",
            "type": "string",
            "description": "Substring match on the named buyer as written on the declaration. Blank = any.",
            "default": ""
          },
          "seller": {
            "title": "Seller name (contains)",
            "type": "string",
            "description": "Substring match on the named seller as written on the declaration. Blank = any.",
            "default": ""
          },
          "pin": {
            "title": "Parcel index number (contains)",
            "type": "string",
            "description": "Substring match on the Property Index Number, e.g. '12-07-426-034'. Use it to pull the transfer history of one parcel. Blank = any.",
            "default": ""
          },
          "address": {
            "title": "Full address (contains)",
            "type": "string",
            "description": "Substring match on the property's full address as recorded, e.g. 'ROCKFORD', 'LA SALLE'. Blank = any.",
            "default": ""
          },
          "city": {
            "title": "City (contains)",
            "type": "string",
            "description": "Substring match on the city on the declaration. Blank = any.",
            "default": ""
          },
          "zip": {
            "title": "ZIP (contains)",
            "type": "string",
            "description": "Substring match on the property ZIP, e.g. '61101'. Blank = any.",
            "default": ""
          },
          "township": {
            "title": "Township (contains)",
            "type": "string",
            "description": "Substring match on the township. 1,570 distinct values - too fine-grained to aggregate over, so it is a filter only. Blank = any.",
            "default": ""
          },
          "instrumentType": {
            "title": "Instrument type",
            "enum": [
              "",
              "Warranty Deed",
              "Trustee Deed",
              "Special Warranty Deed",
              "Quit Claim Deed",
              "Executor Deed",
              "Administrator's Deed",
              "Other",
              "Judicial Sale",
              "Deed in Trust",
              "Beneficial interest",
              "Sheriff's Deed",
              "Limited Warranty Deed",
              "Guardian's Deed",
              "Deed in lieu of Foreclosure",
              "Mineral Deed",
              "Judge's Deed",
              "Selling Officer's Deed",
              "Cemetery Deed",
              "Special Commissioner's Deed",
              "Tax Deed",
              "Court Officer's Deed",
              "Corrective Deed",
              "Deed of Partition",
              "Conservator's Deed",
              "Life Estate Deed",
              "Commissioner's Deed",
              "Master's Deed"
            ],
            "type": "string",
            "description": "Exact instrument, matched exactly and never as a substring - 'Warranty Deed' and 'Special Warranty Deed' are separate instruments. Warranty deeds are 1.84M of the 2.93M, trustee deeds 286K, special warranty deeds 213K. 'Other' is the filer's own word. Blank = any; 409,739 declarations (14%) named no instrument and come back only when this is left blank.",
            "default": ""
          },
          "currentUse": {
            "title": "Property current use code",
            "enum": [
              "",
              "A",
              "B",
              "C",
              "D",
              "E",
              "F",
              "G",
              "H",
              "I",
              "J",
              "K"
            ],
            "type": "string",
            "description": "The single letter the filer entered for current use, exactly as the State publishes it. The source ships no legend for these codes, so no label is attached here. 'B' is by far the most common (2.12M). Blank = any; 392,991 declarations left it blank.",
            "default": ""
          },
          "declarationId": {
            "title": "Declaration ID (contains)",
            "type": "string",
            "description": "Substring match on the State's declaration identifier for a single-record lookup. Blank = any.",
            "default": ""
          },
          "documentNumber": {
            "title": "Document number (contains)",
            "type": "string",
            "description": "Substring match on the county recorder's document number. Blank = any.",
            "default": ""
          },
          "recordedFrom": {
            "title": "Recorded from",
            "type": "string",
            "description": "Earliest recording date, YYYY-MM-DD. The recording date is complete and free of sentinels across all 2.93M rows, so it is the reliable axis. Blank = any.",
            "default": ""
          },
          "recordedTo": {
            "title": "Recorded to",
            "type": "string",
            "description": "Latest recording date, YYYY-MM-DD. Blank = any.",
            "default": ""
          },
          "minAmount": {
            "title": "Minimum consideration",
            "type": "number",
            "description": "Smallest stated full consideration in dollars. Note that 331,437 transfers state $0 - a nominal or unstated price, mostly corrective and intra-family deeds. Set 1 to exclude them. Blank = no lower bound."
          },
          "maxAmount": {
            "title": "Maximum consideration",
            "type": "number",
            "description": "Largest stated full consideration in dollars. Blank = no upper bound."
          },
          "recentDays": {
            "title": "Recorded within the last N days",
            "minimum": 0,
            "type": "integer",
            "description": "Only declarations recorded within the last N days. Ignored when 'Recorded from' is set. 0 = off.",
            "default": 0
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "rows",
              "aggregate"
            ],
            "type": "string",
            "description": "rows = declarations matching your filters (default). aggregate = one count row per group (see groupBy).",
            "default": "rows"
          },
          "groupBy": {
            "title": "Aggregate by",
            "enum": [
              "",
              "county",
              "instrumentType",
              "currentUse",
              "year"
            ],
            "type": "string",
            "description": "Which dimension to aggregate over (mode=aggregate). Blank = county. Every group is returned - aggregate mode is not cut off by maxResults. Township is deliberately absent: 1,570 values is a raw geography, not a rollup.",
            "default": ""
          },
          "maxResults": {
            "title": "Max records",
            "minimum": 0,
            "type": "integer",
            "description": "Cap the number of records pushed in rows mode (0 = default 50; up to 2,000 per run). Each record is metered individually, so there is no per-run charge cap. Aggregate mode returns every group.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}