{
  "openapi": "3.0.1",
  "info": {
    "title": "Crexi Commercial Real Estate Scraper",
    "description": "Fast, HTTP-only scraper for Crexi commercial real estate listings. Extracts properties for sale and lease, warehouses, retail, offices, multifamily, land, asking prices, square footage, cap rates, zoning, broker contacts, licenses, and HD photo galleries.",
    "version": "1.0",
    "x-build-id": "UpFct8df58AgEj5ms"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/wyle~crexi-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-wyle-crexi-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/wyle~crexi-scraper/runs": {
      "post": {
        "operationId": "runs-sync-wyle-crexi-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/wyle~crexi-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-wyle-crexi-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",
        "properties": {
          "locationQuery": {
            "title": "Location Query (City, State)",
            "type": "string",
            "description": "Geographic search target in the US (e.g., 'Miami, FL', 'Los Angeles, CA', 'Texas', 'Chicago'). Leave blank to search nationwide.",
            "default": "Miami, FL"
          },
          "searchUrls": {
            "title": "Direct Crexi URLs",
            "type": "array",
            "description": "Optional list of direct Crexi URLs. Supports search filter URLs (e.g. 'https://www.crexi.com/properties?cities=Miami&states=FL') or property detail URLs (e.g. 'https://www.crexi.com/properties/2741769/florida-1148-e-26th-st').",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerm": {
            "title": "Keyword Search Term",
            "type": "string",
            "description": "Optional keyword to filter commercial properties (e.g., 'warehouse', 'car wash', 'hotel', 'medical office', 'storage')."
          },
          "states": {
            "title": "US States Filter",
            "type": "array",
            "description": "Optional list of 2-letter state abbreviations to filter by (e.g., ['FL', 'CA', 'TX', 'NY']).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cities": {
            "title": "Cities Filter",
            "type": "array",
            "description": "Optional list of city names to filter by (e.g., ['Miami', 'Orlando', 'Tampa']).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "propertyTypes": {
            "title": "Property Types",
            "type": "array",
            "description": "Filter by commercial property types.",
            "items": {
              "type": "string",
              "enum": [
                "Industrial",
                "Office",
                "Retail",
                "Multifamily",
                "Land",
                "Special Purpose",
                "Hospitality",
                "Mixed Use",
                "Business for Sale"
              ]
            },
            "default": []
          },
          "minPrice": {
            "title": "Minimum Asking Price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum asking price in USD."
          },
          "maxPrice": {
            "title": "Maximum Asking Price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum asking price in USD."
          },
          "minSquareFootage": {
            "title": "Minimum Square Footage (SqFt)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum building square footage."
          },
          "maxSquareFootage": {
            "title": "Maximum Square Footage (SqFt)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum building square footage."
          },
          "includeUnpriced": {
            "title": "Include Unpriced Listings",
            "type": "boolean",
            "description": "Whether to include properties without a public numerical asking price (e.g., 'Unpriced' or 'Call for Offers').",
            "default": true
          },
          "sortBy": {
            "title": "Sort Results By",
            "enum": [
              "activatedOn:desc",
              "askingPrice:asc",
              "askingPrice:desc",
              "squareFootage:desc"
            ],
            "type": "string",
            "description": "Sorting order for property results.",
            "default": "activatedOn:desc"
          },
          "fetchDetails": {
            "title": "Fetch Rich Details, Brokers & Galleries",
            "type": "boolean",
            "description": "When enabled, enriches each property with full details dictionary (Zoning, APN, Lot Size, Year Built), broker contact profiles, and HD photo gallery links.",
            "default": true
          },
          "maxItems": {
            "title": "Maximum Properties to Scrape",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Maximum total commercial properties to extract.",
            "default": 50
          },
          "requestDelayMs": {
            "title": "Request Delay (Milliseconds)",
            "minimum": 50,
            "maximum": 10000,
            "type": "integer",
            "description": "Delay between consecutive detail requests in milliseconds to remain stealthy.",
            "default": 250
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy configuration. Uses Apify Residential US proxy by default on the Apify platform.",
            "default": {
              "useApifyProxy": true
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}