{
  "openapi": "3.0.1",
  "info": {
    "title": "Crexi Real Estate Scraper",
    "description": "Scrapes commercial real estate listings from Crexi.com including property details, pricing, location, images, and investment metrics.",
    "version": "1.2",
    "x-build-id": "1CMBb6vauxtAweOvc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~crexi-real-estate-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-crexi-real-estate-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/crawlerbros~crexi-real-estate-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-crexi-real-estate-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/crawlerbros~crexi-real-estate-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-crexi-real-estate-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": [
          "proxy"
        ],
        "properties": {
          "maxProperties": {
            "title": "Maximum Properties",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of properties to scrape",
            "default": 1000
          },
          "scrapeDetails": {
            "title": "Scrape Detailed Pages",
            "type": "boolean",
            "description": "Whether to scrape detailed information from individual property pages (slower but more complete)",
            "default": true
          },
          "propertyTypes": {
            "title": "Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more commercial property types to filter your search. Leave empty to search all property types.",
            "items": {
              "type": "string",
              "enum": [
                "Office",
                "Retail",
                "Industrial",
                "Multifamily",
                "Land",
                "Hotel",
                "Hospitality",
                "Mixed Use",
                "Special Purpose",
                "Healthcare",
                "Self Storage",
                "Mobile Home Park",
                "Senior Housing",
                "Student Housing"
              ]
            },
            "default": []
          },
          "locations": {
            "title": "Locations (States)",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more U.S. states to search. The scraper will search each state separately and combine results. Leave empty to search nationwide.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "Alabama",
                "AK",
                "Alaska",
                "AZ",
                "Arizona",
                "AR",
                "Arkansas",
                "CA",
                "California",
                "CO",
                "Colorado",
                "CT",
                "Connecticut",
                "DE",
                "Delaware",
                "FL",
                "Florida",
                "GA",
                "Georgia",
                "HI",
                "Hawaii",
                "ID",
                "Idaho",
                "IL",
                "Illinois",
                "IN",
                "Indiana",
                "IA",
                "Iowa",
                "KS",
                "Kansas",
                "KY",
                "Kentucky",
                "LA",
                "Louisiana",
                "ME",
                "Maine",
                "MD",
                "Maryland",
                "MA",
                "Massachusetts",
                "MI",
                "Michigan",
                "MN",
                "Minnesota",
                "MS",
                "Mississippi",
                "MO",
                "Missouri",
                "MT",
                "Montana",
                "NE",
                "Nebraska",
                "NV",
                "Nevada",
                "NH",
                "New Hampshire",
                "NJ",
                "New Jersey",
                "NM",
                "New Mexico",
                "NY",
                "New York",
                "NC",
                "North Carolina",
                "ND",
                "North Dakota",
                "OH",
                "Ohio",
                "OK",
                "Oklahoma",
                "OR",
                "Oregon",
                "PA",
                "Pennsylvania",
                "RI",
                "Rhode Island",
                "SC",
                "South Carolina",
                "SD",
                "South Dakota",
                "TN",
                "Tennessee",
                "TX",
                "Texas",
                "UT",
                "Utah",
                "VT",
                "Vermont",
                "VA",
                "Virginia",
                "WA",
                "Washington",
                "WV",
                "West Virginia",
                "WI",
                "Wisconsin",
                "WY",
                "Wyoming",
                "DC",
                "District of Columbia"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum Price",
            "type": "integer",
            "description": "Minimum property price filter (in USD)"
          },
          "maxPrice": {
            "title": "Maximum Price",
            "type": "integer",
            "description": "Maximum property price filter (in USD)"
          },
          "runTimeoutSecs": {
            "title": "Run Timeout (seconds)",
            "minimum": 60,
            "maximum": 7200,
            "type": "integer",
            "description": "Maximum wall-clock time for the run before stopping new fetches. Default 1800s (30 min) suits most production runs; the prefill 240s exists so Apify's 5-min daily quality test passes. Increase for large maxProperties, multiple locations, or scrapeDetails=true.",
            "default": 1800
          },
          "proxy": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "REQUIRED. Crexi is fronted by Cloudflare/Turnstile and reliably blocks datacenter IPs. Use Apify Residential proxy (US country code recommended).",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}