{
  "openapi": "3.0.1",
  "info": {
    "title": "Crexi Scraper for Commercial Real Estate",
    "description": "Scrape public Crexi commercial real estate listings for sale or lease by market or official URL. Filter by asset class, price, cap rate, and size, then optionally enrich with public listing and broker details. No Crexi cookies or connected session required.",
    "version": "0.1",
    "x-build-id": "9CwbdDOHf5nonzMOI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kazkn~crexi-search-actor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kazkn-crexi-search-actor",
        "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/kazkn~crexi-search-actor/runs": {
      "post": {
        "operationId": "runs-sync-kazkn-crexi-search-actor",
        "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/kazkn~crexi-search-actor/run-sync": {
      "post": {
        "operationId": "run-sync-kazkn-crexi-search-actor",
        "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": {
          "city": {
            "title": "🏙️ City or county",
            "maxLength": 256,
            "type": "string",
            "description": "Optional city or county within the selected state. Leave empty to search the entire state."
          },
          "state": {
            "title": "🇺🇸 State",
            "pattern": "^\\s*(?:[Aa][Ll]|[Aa][Kk]|[Aa][Zz]|[Aa][Rr]|[Cc][Aa]|[Cc][Oo]|[Cc][Tt]|[Dd][Ee]|[Ff][Ll]|[Gg][Aa]|[Hh][Ii]|[Ii][Dd]|[Ii][Ll]|[Ii][Nn]|[Ii][Aa]|[Kk][Ss]|[Kk][Yy]|[Ll][Aa]|[Mm][Ee]|[Mm][Dd]|[Mm][Aa]|[Mm][Ii]|[Mm][Nn]|[Mm][Ss]|[Mm][Oo]|[Mm][Tt]|[Nn][Ee]|[Nn][Vv]|[Nn][Hh]|[Nn][Jj]|[Nn][Mm]|[Nn][Yy]|[Nn][Cc]|[Nn][Dd]|[Oo][Hh]|[Oo][Kk]|[Oo][Rr]|[Pp][Aa]|[Rr][Ii]|[Ss][Cc]|[Ss][Dd]|[Tt][Nn]|[Tt][Xx]|[Uu][Tt]|[Vv][Tt]|[Vv][Aa]|[Ww][Aa]|[Ww][Vv]|[Ww][Ii]|[Ww][Yy]|[Dd][Cc]|[Aa][Ll][Aa][Bb][Aa][Mm][Aa]|[Aa][Ll][Aa][Ss][Kk][Aa]|[Aa][Rr][Ii][Zz][Oo][Nn][Aa]|[Aa][Rr][Kk][Aa][Nn][Ss][Aa][Ss]|[Cc][Aa][Ll][Ii][Ff][Oo][Rr][Nn][Ii][Aa]|[Cc][Oo][Ll][Oo][Rr][Aa][Dd][Oo]|[Cc][Oo][Nn][Nn][Ee][Cc][Tt][Ii][Cc][Uu][Tt]|[Dd][Ee][Ll][Aa][Ww][Aa][Rr][Ee]|[Ff][Ll][Oo][Rr][Ii][Dd][Aa]|[Gg][Ee][Oo][Rr][Gg][Ii][Aa]|[Hh][Aa][Ww][Aa][Ii][Ii]|[Ii][Dd][Aa][Hh][Oo]|[Ii][Ll][Ll][Ii][Nn][Oo][Ii][Ss]|[Ii][Nn][Dd][Ii][Aa][Nn][Aa]|[Ii][Oo][Ww][Aa]|[Kk][Aa][Nn][Ss][Aa][Ss]|[Kk][Ee][Nn][Tt][Uu][Cc][Kk][Yy]|[Ll][Oo][Uu][Ii][Ss][Ii][Aa][Nn][Aa]|[Mm][Aa][Ii][Nn][Ee]|[Mm][Aa][Rr][Yy][Ll][Aa][Nn][Dd]|[Mm][Aa][Ss][Ss][Aa][Cc][Hh][Uu][Ss][Ee][Tt][Tt][Ss]|[Mm][Ii][Cc][Hh][Ii][Gg][Aa][Nn]|[Mm][Ii][Nn][Nn][Ee][Ss][Oo][Tt][Aa]|[Mm][Ii][Ss][Ss][Ii][Ss][Ss][Ii][Pp][Pp][Ii]|[Mm][Ii][Ss][Ss][Oo][Uu][Rr][Ii]|[Mm][Oo][Nn][Tt][Aa][Nn][Aa]|[Nn][Ee][Bb][Rr][Aa][Ss][Kk][Aa]|[Nn][Ee][Vv][Aa][Dd][Aa]|[Nn][Ee][Ww]\\s+[Hh][Aa][Mm][Pp][Ss][Hh][Ii][Rr][Ee]|[Nn][Ee][Ww]\\s+[Jj][Ee][Rr][Ss][Ee][Yy]|[Nn][Ee][Ww]\\s+[Mm][Ee][Xx][Ii][Cc][Oo]|[Nn][Ee][Ww]\\s+[Yy][Oo][Rr][Kk]|[Nn][Oo][Rr][Tt][Hh]\\s+[Cc][Aa][Rr][Oo][Ll][Ii][Nn][Aa]|[Nn][Oo][Rr][Tt][Hh]\\s+[Dd][Aa][Kk][Oo][Tt][Aa]|[Oo][Hh][Ii][Oo]|[Oo][Kk][Ll][Aa][Hh][Oo][Mm][Aa]|[Oo][Rr][Ee][Gg][Oo][Nn]|[Pp][Ee][Nn][Nn][Ss][Yy][Ll][Vv][Aa][Nn][Ii][Aa]|[Rr][Hh][Oo][Dd][Ee]\\s+[Ii][Ss][Ll][Aa][Nn][Dd]|[Ss][Oo][Uu][Tt][Hh]\\s+[Cc][Aa][Rr][Oo][Ll][Ii][Nn][Aa]|[Ss][Oo][Uu][Tt][Hh]\\s+[Dd][Aa][Kk][Oo][Tt][Aa]|[Tt][Ee][Nn][Nn][Ee][Ss][Ss][Ee][Ee]|[Tt][Ee][Xx][Aa][Ss]|[Uu][Tt][Aa][Hh]|[Vv][Ee][Rr][Mm][Oo][Nn][Tt]|[Vv][Ii][Rr][Gg][Ii][Nn][Ii][Aa]|[Ww][Aa][Ss][Hh][Ii][Nn][Gg][Tt][Oo][Nn]|[Ww][Ee][Ss][Tt]\\s+[Vv][Ii][Rr][Gg][Ii][Nn][Ii][Aa]|[Ww][Ii][Ss][Cc][Oo][Nn][Ss][Ii][Nn]|[Ww][Yy][Oo][Mm][Ii][Nn][Gg]|[Dd][Ii][Ss][Tt][Rr][Ii][Cc][Tt]\\s+[Oo][Ff]\\s+[Cc][Oo][Ll][Uu][Mm][Bb][Ii][Aa])\\s*$",
            "maxLength": 64,
            "type": "string",
            "description": "US state code or name, for example TX or California. Required for manual searches."
          },
          "assetClasses": {
            "title": "🎯 Asset class",
            "type": "array",
            "description": "Restrict the search to specific commercial property types. Leave empty to include all supported classes.",
            "items": {
              "type": "string",
              "enum": [
                "office",
                "retail",
                "industrial",
                "multifamily",
                "land",
                "hotel",
                "mixed-use",
                "specialty"
              ],
              "enumTitles": [
                "🏢 Office",
                "🛍️ Retail",
                "🏭 Industrial",
                "🏠 Multifamily",
                "🌾 Land",
                "🏨 Hotel",
                "🏗️ Mixed-use",
                "🎯 Specialty"
              ]
            },
            "default": []
          },
          "transactionTypes": {
            "title": "💼 Transaction type",
            "minItems": 1,
            "type": "array",
            "description": "Choose for-sale listings, for-lease spaces, or both. Selecting both returns separate rows for each public transaction type.",
            "items": {
              "type": "string",
              "enum": [
                "sale",
                "lease"
              ],
              "enumTitles": [
                "🛒 For sale (purchase)",
                "🏷️ For lease (rent)"
              ]
            },
            "default": [
              "sale"
            ]
          },
          "maxResults": {
            "title": "🔢 Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of valid Crexi listings to target. Actual output depends on the available inventory and your filters.",
            "default": 200
          },
          "includeListingDetails": {
            "title": "Public broker contacts & listing details",
            "type": "boolean",
            "description": "Fetch public Crexi detail pages and endpoints for additional listing and broker fields. Keep disabled for the fastest bulk export.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Apify proxy (managed)",
            "type": "object",
            "description": "Uses Apify's residential proxy pool in the United States. Keep the default unchanged for reliable runs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          },
          "startUrls": {
            "title": "🔗 Crexi search or listing URLs (optional)",
            "maxItems": 200,
            "type": "array",
            "description": "Paste one or more complete public Crexi search or direct listing URLs. Supported filters remain enforced; an unsupported advanced filter may broaden results and produce a partial run summary.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "title": "Crexi URL",
                  "type": "string",
                  "description": "Complete public Crexi HTTP(S) search or listing URL.",
                  "maxLength": 32768,
                  "pattern": "^https?://.+",
                  "errorMessage": {
                    "pattern": "Enter a complete public Crexi HTTP(S) URL."
                  }
                }
              }
            },
            "default": []
          },
          "priceMin": {
            "title": "Minimum price / annual lease rent (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Lower bound. For sale listings, enter the total asking price. For lease listings, enter comparable annual rent."
          },
          "priceMax": {
            "title": "Maximum price / annual lease rent (USD)",
            "minimum": 0,
            "type": "number",
            "description": "Upper bound. For sale listings, enter the total asking price. For lease listings, enter comparable annual rent."
          },
          "capRateMin": {
            "title": "Minimum cap rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Lower bound on the normalized cap rate, expressed as a percentage."
          },
          "capRateMax": {
            "title": "Maximum cap rate (%)",
            "minimum": 0,
            "type": "number",
            "description": "Upper bound on the normalized cap rate, expressed as a percentage."
          },
          "buildingSizeMin": {
            "title": "Minimum building size (sq ft)",
            "minimum": 0,
            "type": "number",
            "description": "Lower bound on building or available size in square feet."
          },
          "buildingSizeMax": {
            "title": "Maximum building size (sq ft)",
            "minimum": 0,
            "type": "number",
            "description": "Upper bound on building or available size in square feet."
          },
          "outputSortBy": {
            "title": "Sort output by",
            "enum": [
              "source_default",
              "building_size_asc",
              "building_size_desc",
              "asking_amount_asc",
              "asking_amount_desc",
              "days_on_market_asc",
              "days_on_market_desc"
            ],
            "type": "string",
            "description": "Choose the ordering of valid Crexi rows in the output dataset.",
            "default": "source_default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}