{
  "openapi": "3.0.1",
  "info": {
    "title": "Crexi Scraper with Agents | Fast & Reliable",
    "description": "Extract Crexi listings at scale with rich commercial property detail, broker contacts, deep listing metadata and market insights. Built for enterprise-grade commercial real estate intelligence, deal sourcing, and automated analytics pipelines.",
    "version": "0.0",
    "x-build-id": "WZWMSDxO4ZHIjSAYD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/fatihtahta~crexi-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-fatihtahta-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/fatihtahta~crexi-scraper/runs": {
      "post": {
        "operationId": "runs-sync-fatihtahta-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/fatihtahta~crexi-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-fatihtahta-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": {
          "deal_type": {
            "title": "Choose Deal Type",
            "enum": [
              "buy",
              "lease"
            ],
            "type": "string",
            "description": "Choose whether to collect commercial properties for sale or spaces available for lease. Some filters are more useful for one listing mode than the other.",
            "default": "buy"
          },
          "location": {
            "title": "Enter an optional city, state, ZIP code, neighborhood, or county such as \"Dallas, TX\", \"Florida\", or \"10001\". Leave blank to search across all listings",
            "type": "string",
            "description": "Choose the market area to search. Use a city and state, ZIP code, neighborhood, county, or state; leave empty to include listings from any location."
          },
          "property_type": {
            "title": "Choose Property Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more Crexi property types to include. Leave empty to keep all supported property types eligible.",
            "items": {
              "type": "string",
              "enum": [
                "Retail",
                "Multifamily",
                "Office",
                "Industrial",
                "Hospitality",
                "Mixed Use",
                "Land",
                "Self Storage",
                "Mobile Home Park",
                "Senior Living",
                "Special Purpose",
                "Note/Loan",
                "Business for Sale",
                "Bank",
                "Convenience Store",
                "Day Care/Nursery",
                "QSR/Fast Food",
                "Gas Station",
                "Grocery Store",
                "Pharmacy/Drug",
                "Restaurant",
                "Bar",
                "Storefront",
                "Shopping Center",
                "Auto Shop",
                "Student Housing",
                "Single Family Rental Portfolio",
                "RV Park",
                "Apartment Building",
                "Traditional Office",
                "Executive Office",
                "Medical Office",
                "Creative Office",
                "Distribution",
                "Flex",
                "Warehouse",
                "R&D",
                "Manufacturing",
                "Refrigerated/Cold Storage",
                "Hotel",
                "Motel",
                "Casino",
                "Agricultural (Land)",
                "Residential (Land)",
                "Commercial (Land)",
                "Industrial (Land)",
                "Islands (Land)",
                "Farm (Land)",
                "Ranch (Land)",
                "Timber (Land)",
                "Hunting/Recreational (Land)",
                "Telecom/Data Center",
                "Sports/Entertainment",
                "Marina",
                "Golf Course",
                "School",
                "Religious/Church",
                "Garage/Parking",
                "Car Wash",
                "Airport",
                "Business Only",
                "Business and Building"
              ],
              "enumTitles": [
                "Retail",
                "Multifamily",
                "Office",
                "Industrial",
                "Hospitality",
                "Mixed Use",
                "Land",
                "Self Storage",
                "Mobile Home Park",
                "Senior Living",
                "Special Purpose",
                "Note/Loan",
                "Business for Sale",
                "Bank",
                "Convenience Store",
                "Day Care/Nursery",
                "QSR/Fast Food",
                "Gas Station",
                "Grocery Store",
                "Pharmacy/Drug",
                "Restaurant",
                "Bar",
                "Storefront",
                "Shopping Center",
                "Auto Shop",
                "Student Housing",
                "Single Family Rental Portfolio",
                "RV Park",
                "Apartment Building",
                "Traditional Office",
                "Executive Office",
                "Medical Office",
                "Creative Office",
                "Distribution",
                "Flex",
                "Warehouse",
                "R&D",
                "Manufacturing",
                "Refrigerated/Cold Storage",
                "Hotel",
                "Motel",
                "Casino",
                "Agricultural (Land)",
                "Residential (Land)",
                "Commercial (Land)",
                "Industrial (Land)",
                "Islands (Land)",
                "Farm (Land)",
                "Ranch (Land)",
                "Timber (Land)",
                "Hunting/Recreational (Land)",
                "Telecom/Data Center",
                "Sports/Entertainment",
                "Marina",
                "Golf Course",
                "School",
                "Religious/Church",
                "Garage/Parking",
                "Car Wash",
                "Airport",
                "Business Only",
                "Business and Building"
              ]
            }
          },
          "tenancy": {
            "title": "Choose Tenancy Statuses",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more tenancy statuses to include. Leave empty when vacant, single-tenant, and multi-tenant listings should all remain eligible.",
            "items": {
              "type": "string",
              "enum": [
                "Vacant",
                "Single",
                "Multi"
              ],
              "enumTitles": [
                "Vacant | no current tenant",
                "Single | single tenant",
                "Multi | multiple tenants"
              ]
            }
          },
          "lease_type": {
            "title": "Choose Lease Types",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more lease types to include. Leave empty when any supported lease structure is acceptable.",
            "items": {
              "type": "string",
              "enum": [
                "Net",
                "NNN",
                "Absolute Net",
                "Gross",
                "Modified",
                "Ground"
              ],
              "enumTitles": [
                "Net | net lease",
                "NNN | triple net",
                "Absolute Net | absolute net",
                "Gross | gross lease",
                "Modified | modified lease",
                "Ground | ground lease"
              ]
            }
          },
          "opportunity_zone": {
            "title": "Require Opportunity Zone Listings",
            "type": "boolean",
            "description": "Enable this to keep only listings marked as located in an Opportunity Zone. Leave it off to include listings regardless of Opportunity Zone status.",
            "default": false
          },
          "publication_date": {
            "title": "Choose Listing Recency",
            "enum": [
              "24_hours",
              "3_days",
              "7_days",
              "14_days",
              "30_days",
              "90_days",
              "6_months",
              "365_days"
            ],
            "type": "string",
            "description": "Select how recently listings should have been published. Leave empty to include listings regardless of publication date."
          },
          "building_quality_class": {
            "title": "Choose Building Quality Classes",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more building classes to include. Leave empty when all supported quality classes should remain eligible.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "D"
              ],
              "enumTitles": [
                "Class A",
                "Class B",
                "Class C",
                "Class D"
              ]
            }
          },
          "listing_status": {
            "title": "Choose Listing Statuses",
            "uniqueItems": true,
            "type": "array",
            "description": "Select one or more listing statuses to include. Keep the default for active listings, or add pending and under-contract statuses when they are useful for your workflow.",
            "items": {
              "type": "string",
              "enum": [
                "active_listing",
                "contract_pending",
                "under_contract"
              ],
              "enumTitles": [
                "Active Listing | currently active",
                "Contract Pending | pending contract",
                "Under Contract | under contract"
              ]
            },
            "default": [
              "active_listing"
            ]
          },
          "keyword": {
            "title": "Filter by Keyword",
            "type": "string",
            "description": "Enter an optional word or phrase to narrow the search. Leave empty when the location and selected filters are enough."
          },
          "min_cap_rate": {
            "title": "Set Minimum Cap Rate",
            "minimum": 0.1,
            "maximum": 15,
            "type": "number",
            "description": "Enter the lowest cap rate percentage to include. Leave empty when there is no minimum cap rate requirement."
          },
          "max_cap_rate": {
            "title": "Set Maximum Cap Rate",
            "minimum": 0.1,
            "maximum": 15,
            "type": "number",
            "description": "Enter the highest cap rate percentage to include. Leave empty when there is no maximum cap rate requirement."
          },
          "min_remaining_term": {
            "title": "Set Minimum Remaining Term",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Enter the lowest remaining term, in years, to include. Leave empty when there is no minimum term requirement."
          },
          "max_remaining_term": {
            "title": "Set Maximum Remaining Term",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Enter the highest remaining term, in years, to include. Leave empty when there is no maximum term requirement."
          },
          "min_price": {
            "title": "Set Minimum Asking Price",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the lowest asking price to include for sale listings. Leave empty when there is no lower price requirement."
          },
          "max_price": {
            "title": "Set Maximum Asking Price",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the highest asking price to include for sale listings. Leave empty when there is no upper price requirement."
          },
          "min_price_per_sf": {
            "title": "Set Minimum Price per Square Foot",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the lowest per-square-foot value to include. Leave empty when there is no lower per-square-foot requirement."
          },
          "max_price_per_sf": {
            "title": "Set Maximum Price per Square Foot",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the highest per-square-foot value to include. Leave empty when there is no upper per-square-foot requirement."
          },
          "min_building_area": {
            "title": "Set Minimum Building Size",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the smallest building size to include, in square feet. Leave empty when there is no minimum building-size requirement."
          },
          "max_building_area": {
            "title": "Set Maximum Building Size",
            "minimum": 0,
            "type": "integer",
            "description": "Enter the largest building size to include, in square feet. Leave empty when there is no maximum building-size requirement."
          },
          "min_land_area": {
            "title": "Set Minimum Land Area",
            "minimum": 0,
            "type": "number",
            "description": "Enter the smallest land area to include, in acres. Leave empty when there is no minimum land-area requirement."
          },
          "max_land_area": {
            "title": "Set Maximum Land Area",
            "minimum": 0,
            "type": "number",
            "description": "Enter the largest land area to include, in acres. Leave empty when there is no maximum land-area requirement."
          },
          "enrich_data": {
            "title": "Collect Richer Property Listing Details",
            "type": "boolean",
            "description": "Enable this for more complete property listings. This may make the run slower because the actor may spend more time collecting details for each result. Turn it off for faster runs when the standard result fields are enough.",
            "default": true
          },
          "get_contacts": {
            "title": "Collect Listing Broker Contacts",
            "type": "boolean",
            "description": "Enable this to include available broker and brokerage details for saved listings. This can make runs slower, so leave it off when listing-level data is enough.",
            "default": true
          },
          "maximize_coverage": {
            "title": "Collect More Matching Listings",
            "type": "boolean",
            "description": "Enable this when a large sale search needs broader collection. Turn it off for faster exploratory runs or lease searches where the standard collection flow is enough.",
            "default": true
          },
          "limit": {
            "title": "Set Maximum Results",
            "minimum": 1,
            "type": "integer",
            "description": "Enter the maximum number of listings to save. Leave empty to keep collecting matching listings until the run has no more eligible results to save."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}