{
  "data": {
    "id": "SreNgxMszQEyRWGfu",
    "actId": "dZkzHEvhJd9SJS0qj",
    "userId": "zq8lKbpLzTjGDayPC",
    "startedAt": "2026-10-19T06:38:34.069Z",
    "finishedAt": "2026-10-19T06:38:53.556Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 19367,
      "runTimeSecs": 19.367,
      "computeUnits": 0.02151888888888889,
      "imageSizeBytes": 357447168
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "GK9YjZRyQZVzOdoH5",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Crexi Commercial Property Listings & Pricing Input\",\n  \"description\": \"Search Crexi sale, lease and auction listings by keyword, location, property type, size, price, cap rate and more — or paste specific Crexi property or search URLs. No proxy, cookies or API keys needed.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"propertyUrls\": {\n      \"title\": \"Property or search URLs\",\n      \"type\": \"array\",\n      \"description\": \"Paste Crexi property links or IDs (e.g. https://www.crexi.com/properties/123456/name, /lease/properties/987/name, a bare ID, or a property-record link) to fetch those exact listings. A Crexi search URL (https://www.crexi.com/search/...) is also accepted and its filters are reused. Leave empty to search by the filters below.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"transactionTypes\": {\n      \"title\": \"Listing kind\",\n      \"type\": \"array\",\n      \"description\": \"Which Crexi marketplaces to search. Empty = for-sale listings only.\",\n      \"editor\": \"select\",\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"sale\",\n          \"lease\",\n          \"auction\"\n        ],\n        \"enumTitles\": [\n          \"For sale\",\n          \"For lease\",\n          \"Auctions\"\n        ]\n      }\n    },\n    \"searchTerms\": {\n      \"title\": \"Keywords\",\n      \"type\": \"array\",\n      \"description\": \"Free-text keywords matched against listing names, descriptions and addresses (e.g. warehouse, medical office).\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"propertyTypes\": {\n      \"title\": \"Property types\",\n      \"type\": \"array\",\n      \"description\": \"One or more commercial property categories. Empty searches every type.\",\n      \"editor\": \"select\",\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"Office\",\n          \"Retail\",\n          \"Industrial\",\n          \"Multifamily\",\n          \"Land\",\n          \"Hospitality\",\n          \"Mixed Use\",\n          \"Special Purpose\",\n          \"Self Storage\",\n          \"Mobile Home Park\",\n          \"Senior Living\",\n          \"Business for Sale\",\n          \"Note/Loan\",\n          \"Restaurant\"\n        ],\n        \"enumTitles\": [\n          \"Office\",\n          \"Retail\",\n          \"Industrial\",\n          \"Multifamily\",\n          \"Land\",\n          \"Hospitality\",\n          \"Mixed Use\",\n          \"Special Purpose\",\n          \"Self Storage\",\n          \"Mobile Home Park\",\n          \"Senior Living\",\n          \"Business for Sale\",\n          \"Note/Loan\",\n          \"Restaurant\"\n        ]\n      }\n    },\n    \"subtypes\": {\n      \"title\": \"Property subtypes\",\n      \"type\": \"array\",\n      \"description\": \"Narrow to specific subtypes (e.g. Shopping Center, Medical Office, Warehouse). Note: some subtypes exist only for sale or only for lease listings.\",\n      \"editor\": \"select\",\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"Apartment Building\",\n          \"Student Housing\",\n          \"Single Family Rental Portfolio\",\n          \"RV Park\",\n          \"Traditional Office\",\n          \"Executive Office\",\n          \"Medical Office\",\n          \"Creative Office\",\n          \"Warehouse\",\n          \"Distribution\",\n          \"Flex\",\n          \"Manufacturing\",\n          \"R&D\",\n          \"Refrigerated/Cold Storage\",\n          \"Storefront\",\n          \"Shopping Center\",\n          \"Restaurant\",\n          \"QSR/Fast Food\",\n          \"Bar\",\n          \"Bank\",\n          \"Convenience Store\",\n          \"Grocery Store\",\n          \"Pharmacy/Drug\",\n          \"Gas Station\",\n          \"Auto Shop\",\n          \"Day Care/Nursery\",\n          \"Hotel\",\n          \"Motel\",\n          \"Casino\",\n          \"Agricultural\",\n          \"Farm\",\n          \"Ranch\",\n          \"Timber\",\n          \"Hunting/Recreational\",\n          \"Residential\",\n          \"Commercial\",\n          \"Industrial\",\n          \"Islands\",\n          \"Telecom/Data Center\",\n          \"Sports/Entertainment\",\n          \"Marina\",\n          \"Golf Course\",\n          \"School\",\n          \"Religious/Church\",\n          \"Garage/Parking\",\n          \"Car Wash\",\n          \"Airport\",\n          \"Business Only\",\n          \"Business and Building\",\n          \"Coworking\"\n        ],\n        \"enumTitles\": [\n          \"Apartment Building\",\n          \"Student Housing\",\n          \"Single Family Rental Portfolio\",\n          \"RV Park\",\n          \"Traditional Office\",\n          \"Executive Office\",\n          \"Medical Office\",\n          \"Creative Office\",\n          \"Warehouse\",\n          \"Distribution\",\n          \"Flex\",\n          \"Manufacturing\",\n          \"R&D\",\n          \"Refrigerated/Cold Storage\",\n          \"Storefront\",\n          \"Shopping Center\",\n          \"Restaurant\",\n          \"QSR/Fast Food\",\n          \"Bar\",\n          \"Bank\",\n          \"Convenience Store\",\n          \"Grocery Store\",\n          \"Pharmacy/Drug\",\n          \"Gas Station\",\n          \"Auto Shop\",\n          \"Day Care/Nursery\",\n          \"Hotel\",\n          \"Motel\",\n          \"Casino\",\n          \"Agricultural\",\n          \"Farm\",\n          \"Ranch\",\n          \"Timber\",\n          \"Hunting/Recreational\",\n          \"Residential\",\n          \"Commercial\",\n          \"Industrial\",\n          \"Islands\",\n          \"Telecom/Data Center\",\n          \"Sports/Entertainment\",\n          \"Marina\",\n          \"Golf Course\",\n          \"School\",\n          \"Religious/Church\",\n          \"Garage/Parking\",\n          \"Car Wash\",\n          \"Airport\",\n          \"Business Only\",\n          \"Business and Building\",\n          \"Coworking\"\n        ]\n      }\n    },\n    \"locations\": {\n      \"title\": \"States\",\n      \"type\": \"array\",\n      \"description\": \"US states to search, by two-letter code or full name. Each state is searched and combined. Empty searches nationwide.\",\n      \"editor\": \"select\",\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"AL\",\n          \"AK\",\n          \"AZ\",\n          \"AR\",\n          \"CA\",\n          \"CO\",\n          \"CT\",\n          \"DE\",\n          \"FL\",\n          \"GA\",\n          \"HI\",\n          \"ID\",\n          \"IL\",\n          \"IN\",\n          \"IA\",\n          \"KS\",\n          \"KY\",\n          \"LA\",\n          \"ME\",\n          \"MD\",\n          \"MA\",\n          \"MI\",\n          \"MN\",\n          \"MS\",\n          \"MO\",\n          \"MT\",\n          \"NE\",\n          \"NV\",\n          \"NH\",\n          \"NJ\",\n          \"NM\",\n          \"NY\",\n          \"NC\",\n          \"ND\",\n          \"OH\",\n          \"OK\",\n          \"OR\",\n          \"PA\",\n          \"RI\",\n          \"SC\",\n          \"SD\",\n          \"TN\",\n          \"TX\",\n          \"UT\",\n          \"VT\",\n          \"VA\",\n          \"WA\",\n          \"WV\",\n          \"WI\",\n          \"WY\",\n          \"DC\",\n          \"Alabama\",\n          \"Alaska\",\n          \"Arizona\",\n          \"Arkansas\",\n          \"California\",\n          \"Colorado\",\n          \"Connecticut\",\n          \"Delaware\",\n          \"Florida\",\n          \"Georgia\",\n          \"Hawaii\",\n          \"Idaho\",\n          \"Illinois\",\n          \"Indiana\",\n          \"Iowa\",\n          \"Kansas\",\n          \"Kentucky\",\n          \"Louisiana\",\n          \"Maine\",\n          \"Maryland\",\n          \"Massachusetts\",\n          \"Michigan\",\n          \"Minnesota\",\n          \"Mississippi\",\n          \"Missouri\",\n          \"Montana\",\n          \"Nebraska\",\n          \"Nevada\",\n          \"New Hampshire\",\n          \"New Jersey\",\n          \"New Mexico\",\n          \"New York\",\n          \"North Carolina\",\n          \"North Dakota\",\n          \"Ohio\",\n          \"Oklahoma\",\n          \"Oregon\",\n          \"Pennsylvania\",\n          \"Rhode Island\",\n          \"South Carolina\",\n          \"South Dakota\",\n          \"Tennessee\",\n          \"Texas\",\n          \"Utah\",\n          \"Vermont\",\n          \"Virginia\",\n          \"Washington\",\n          \"West Virginia\",\n          \"Wisconsin\",\n          \"Wyoming\",\n          \"District Of Columbia\"\n        ],\n        \"enumTitles\": [\n          \"Alabama (AL)\",\n          \"Alaska (AK)\",\n          \"Arizona (AZ)\",\n          \"Arkansas (AR)\",\n          \"California (CA)\",\n          \"Colorado (CO)\",\n          \"Connecticut (CT)\",\n          \"Delaware (DE)\",\n          \"Florida (FL)\",\n          \"Georgia (GA)\",\n          \"Hawaii (HI)\",\n          \"Idaho (ID)\",\n          \"Illinois (IL)\",\n          \"Indiana (IN)\",\n          \"Iowa (IA)\",\n          \"Kansas (KS)\",\n          \"Kentucky (KY)\",\n          \"Louisiana (LA)\",\n          \"Maine (ME)\",\n          \"Maryland (MD)\",\n          \"Massachusetts (MA)\",\n          \"Michigan (MI)\",\n          \"Minnesota (MN)\",\n          \"Mississippi (MS)\",\n          \"Missouri (MO)\",\n          \"Montana (MT)\",\n          \"Nebraska (NE)\",\n          \"Nevada (NV)\",\n          \"New Hampshire (NH)\",\n          \"New Jersey (NJ)\",\n          \"New Mexico (NM)\",\n          \"New York (NY)\",\n          \"North Carolina (NC)\",\n          \"North Dakota (ND)\",\n          \"Ohio (OH)\",\n          \"Oklahoma (OK)\",\n          \"Oregon (OR)\",\n          \"Pennsylvania (PA)\",\n          \"Rhode Island (RI)\",\n          \"South Carolina (SC)\",\n          \"South Dakota (SD)\",\n          \"Tennessee (TN)\",\n          \"Texas (TX)\",\n          \"Utah (UT)\",\n          \"Vermont (VT)\",\n          \"Virginia (VA)\",\n          \"Washington (WA)\",\n          \"West Virginia (WV)\",\n          \"Wisconsin (WI)\",\n          \"Wyoming (WY)\",\n          \"District Of Columbia (DC)\",\n          \"Alabama\",\n          \"Alaska\",\n          \"Arizona\",\n          \"Arkansas\",\n          \"California\",\n          \"Colorado\",\n          \"Connecticut\",\n          \"Delaware\",\n          \"Florida\",\n          \"Georgia\",\n          \"Hawaii\",\n          \"Idaho\",\n          \"Illinois\",\n          \"Indiana\",\n          \"Iowa\",\n          \"Kansas\",\n          \"Kentucky\",\n          \"Louisiana\",\n          \"Maine\",\n          \"Maryland\",\n          \"Massachusetts\",\n          \"Michigan\",\n          \"Minnesota\",\n          \"Mississippi\",\n          \"Missouri\",\n          \"Montana\",\n          \"Nebraska\",\n          \"Nevada\",\n          \"New Hampshire\",\n          \"New Jersey\",\n          \"New Mexico\",\n          \"New York\",\n          \"North Carolina\",\n          \"North Dakota\",\n          \"Ohio\",\n          \"Oklahoma\",\n          \"Oregon\",\n          \"Pennsylvania\",\n          \"Rhode Island\",\n          \"South Carolina\",\n          \"South Dakota\",\n          \"Tennessee\",\n          \"Texas\",\n          \"Utah\",\n          \"Vermont\",\n          \"Virginia\",\n          \"Washington\",\n          \"West Virginia\",\n          \"Wisconsin\",\n          \"Wyoming\",\n          \"District Of Columbia\"\n        ]\n      }\n    },\n    \"cities\": {\n      \"title\": \"Cities\",\n      \"type\": \"array\",\n      \"description\": \"City names to filter by (e.g. Austin). Works alongside or instead of states.\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"counties\": {\n      \"title\": \"Counties\",\n      \"type\": \"array\",\n      \"description\": \"County names to filter by, including the word County where Crexi uses it (e.g. Travis County).\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"zipCodes\": {\n      \"title\": \"ZIP codes\",\n      \"type\": \"array\",\n      \"description\": \"US ZIP codes to filter by (e.g. 78701).\",\n      \"editor\": \"stringList\",\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"minPrice\": {\n      \"title\": \"Minimum asking price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return listings asking at least this much. Sale and auction listings only.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"maxPrice\": {\n      \"title\": \"Maximum asking price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return listings asking at most this much. Sale and auction listings only.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"minPricePerSqft\": {\n      \"title\": \"Minimum price per sq ft (USD)\",\n      \"type\": \"number\",\n      \"description\": \"Only return sale listings priced at or above this per square foot.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"maxPricePerSqft\": {\n      \"title\": \"Maximum price per sq ft (USD)\",\n      \"type\": \"number\",\n      \"description\": \"Only return sale listings priced at or below this per square foot.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"minCapRate\": {\n      \"title\": \"Minimum cap rate (%)\",\n      \"type\": \"number\",\n      \"description\": \"Only return sale listings with a published cap rate at or above this percentage.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"maximum\": 100,\n      \"nullable\": true\n    },\n    \"maxCapRate\": {\n      \"title\": \"Maximum cap rate (%)\",\n      \"type\": \"number\",\n      \"description\": \"Only return sale listings with a published cap rate at or below this percentage.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"maximum\": 100,\n      \"nullable\": true\n    },\n    \"minSquareFootage\": {\n      \"title\": \"Minimum building size (sq ft)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return listings whose building is at least this large.\",\n      \"editor\": \"number\",\n      \"minimum\": 1,\n      \"nullable\": true\n    },\n    \"maxSquareFootage\": {\n      \"title\": \"Maximum building size (sq ft)\",\n      \"type\": \"integer\",\n      \"description\": \"Only return listings whose building is at most this large.\",\n      \"editor\": \"number\",\n      \"minimum\": 1,\n      \"nullable\": true\n    },\n    \"minRatePerSqftAnnual\": {\n      \"title\": \"Minimum lease rate ($/sq ft/year)\",\n      \"type\": \"number\",\n      \"description\": \"For-lease listings only: minimum annual rate per square foot.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"maxRatePerSqftAnnual\": {\n      \"title\": \"Maximum lease rate ($/sq ft/year)\",\n      \"type\": \"number\",\n      \"description\": \"For-lease listings only: maximum annual rate per square foot.\",\n      \"editor\": \"number\",\n      \"minimum\": 0,\n      \"nullable\": true\n    },\n    \"buildingClasses\": {\n      \"title\": \"Building classes\",\n      \"type\": \"array\",\n      \"description\": \"Filter by commercial building class. Empty includes all classes.\",\n      \"editor\": \"select\",\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"A\",\n          \"B\",\n          \"C\"\n        ],\n        \"enumTitles\": [\n          \"Class A\",\n          \"Class B\",\n          \"Class C\"\n        ]\n      }\n    },\n    \"opportunityZoneOnly\": {\n      \"title\": \"Opportunity Zones only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only return sale listings located in a designated Opportunity Zone.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeUnpriced\": {\n      \"title\": \"Include listings without a price\",\n      \"type\": \"boolean\",\n      \"description\": \"Include sale and auction listings Crexi shows without a public asking price (auctions, call for offers).\",\n      \"default\": true,\n      \"prefill\": true\n    },\n    \"sortBy\": {\n      \"title\": \"Sort by\",\n      \"type\": \"string\",\n      \"description\": \"Order of results within each search.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Rank\",\n        \"Price\",\n        \"CapRate\",\n        \"Noi\",\n        \"UpdatedOn\",\n        \"ActivatedOn\",\n        \"CreatedOn\"\n      ],\n      \"enumTitles\": [\n        \"Recommended (best match)\",\n        \"Asking price\",\n        \"Cap rate\",\n        \"Net operating income\",\n        \"Recently updated\",\n        \"Recently listed\",\n        \"Newest created\"\n      ],\n      \"default\": \"Rank\",\n      \"prefill\": \"Rank\"\n    },\n    \"sortDirection\": {\n      \"title\": \"Sort direction\",\n      \"type\": \"string\",\n      \"description\": \"Ascending or descending order for the sort chosen above.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"Descending\",\n        \"Ascending\"\n      ],\n      \"enumTitles\": [\n        \"Descending (high to low / newest first)\",\n        \"Ascending (low to high)\"\n      ],\n      \"default\": \"Descending\",\n      \"prefill\": \"Descending\"\n    },\n    \"scrapeDetails\": {\n      \"title\": \"Enrich with full details\",\n      \"type\": \"boolean\",\n      \"description\": \"Fetch each listing's detail data: broker contacts (phone and email), the broker of record when published, the full photo gallery in high resolution, investment highlights, the marketing description, published fact-sheet values, and full auction details for auction listings. Adds a few requests per listing.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includeSimilarProperties\": {\n      \"title\": \"Include similar properties\",\n      \"type\": \"boolean\",\n      \"description\": \"Add up to 6 similar nearby listings (comps) to each record.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxProperties\": {\n      \"title\": \"Maximum listings\",\n      \"type\": \"integer\",\n      \"description\": \"Stop once this many listings have been collected. Crexi returns at most 1,500 rows per filter combination; larger requests are automatically split into price-range partitions.\",\n      \"default\": 100,\n      \"prefill\": 5,\n      \"minimum\": 1,\n      \"maximum\": 100000,\n      \"editor\": \"number\"\n    }\n  },\n  \"required\": []\n}",
    "readme": "# Crexi Commercial Property Listings & Pricing Extractor\n\nCrexi is one of the largest US marketplaces for commercial real estate. This actor reads Crexi's own public listing APIs and returns for-sale, for-lease and auction properties as clean, structured rows — asking price, cap rate, NOI, building size, year built, lot size, broker contacts, photo galleries and coordinates. No account, cookies or proxy setup are required.\n\n## What this actor does\n\n- **Three marketplaces in one actor:** for-sale listings, for-lease listings and live auctions, with the filters each one actually supports.\n- **Full filter surface:** keywords, states, cities, counties, ZIP codes, 14 property categories, 50 subtypes, building class, asking price, price per square foot, cap rate, building size, lease rate, and Opportunity Zone listings.\n- **Handles Crexi's result window for you.** Crexi's API only returns 1,500 rows per filter combination. When you ask for more, the actor automatically splits the search into price-range partitions and merges the results, deduplicated.\n- **Direct URL mode:** paste any Crexi property link or ID — for-sale or for-lease — and the actor fetches exactly those records.\n- **Optional enrichment:** one toggle adds full broker contacts (name, brokerage website, license, profile), high-resolution gallery photos, investment highlights, the marketing write-up and published fact-sheet values.\n- **Optional comps:** attach up to six similar nearby listings to each record.\n- Fields Crexi does not publish for a listing (for example an undisclosed price) are omitted from that record instead of being written as blank or null.\n\n## Output per listing\n\n- `property_id`, `name`, `property_url`, `record_type: \"property\"` (property-record rows use `record_type: \"property_record\"`)\n- `transaction_type` — `sale` or `lease`; `is_auction` and the auction block for auction listings\n- `property_type` (asset class), `subtypes[]`\n- `address`, `city`, `county`, `state`, `zip_code`, `latitude`, `longitude`\n- `price` (formatted) and `price_usd` (number), `price_per_sqft`, `price_per_acre`\n- `square_footage` (formatted) and `building_sqft` (number), `lot_acres`\n- `cap_rate`, `net_operating_income` (formatted) and `noi_usd` (number)\n- `year_built`, `year_renovated`, `class`, `tenancy`, `units`, `stories`\n- `brokerage`, `broker_names[]` — and with enrichment, `brokers[]` with profile, website, license, photo, **phone and email**, plus `broker_phones[]`/`broker_emails[]` and `broker_of_record` (name, license, phone when Crexi publishes it)\n- `listing_status`, `investment_type`, `offers_due_on`, `is_opportunity_zone`\n- Auction rows: `is_auction`, `auction_starting_bid_usd`, `auction_minimum_bid_usd`, `auction_starts_on`, `auction_ends_on`; with enrichment also `auction_status`, `auction_bid_increment_usd`, `auction_reserve_met`, `auction_marketing_starts_on`, `auction_earnest_deposit_usd`/`auction_earnest_deposit_percent`, `auction_deposit_option`, `auction_escrow_period_days`, `auction_participation_deposit_usd`, `auctioneer`, `auction_transaction_fee_percent`, `auction_minimum_fee_usd`, `auction_registered_bidders`, `auction_approved_bidders`, `auction_page_views`\n- `has_om`, `has_flyer`, `has_video`, `has_virtual_tour`\n- `activated_on`, `updated_on`, `days_on_market`\n- `description`; with enrichment also `marketing_description`, `investment_highlights[]`, `details`\n- `images[]` (all gallery photos), `image_count`\n- `source`, `scraped_at`\n- Lease listings add `lease_type`, `rate_type`, `lease_rate_per_sqft_annual`, `lease_rate_monthly_total`, `rentable_sqft_min`, `rentable_sqft_max`, `suites`, `vacant_suites`\n- With similar properties enabled: `similar_properties[]` — id, name, price and link for each comp (Crexi returns up to 500 per listing)\n\n### Output per property record (property-record URL input)\n\n- `property_id`, `name`, `property_url` (`https://www.crexi.com/property-records/...`), `record_type: \"property_record\"`\n- `apn`, `regrid_path` — parcel identifiers\n- `address`, `city`, `county`, `state`, `zip_code`, `latitude`, `longitude`\n- `property_type`, `subtypes[]`, `class`, `building_sqft`, `buildings`, `units`, `lot_acres`, `lot_sqft`, `year_built`, `tenancy`\n- `days_on_market`, `sale_transaction_type`, `is_sales_comp`, `is_lease_comp`, `sales_comp_type`, `lease_comp_type`, `is_broker_reported_sales_comp`\n- `broker_names[]`, `description`, `images[]`, `image_count`, `activated_on`, `updated_on`\n- `related_sale_listing_ids[]` / `related_lease_listing_ids[]` when Crexi links the record to marketplace listings\n\n## Input\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `propertyUrls` | Array | – | Crexi property links, `/lease/properties/...` links, bare IDs, or `property-records/...` links to fetch exact rows. A Crexi search URL is also accepted and its filters are reused. When set, the filter fields below are skipped. |\n| `transactionTypes` | Select (multi) | – | `sale`, `lease` or `auction`. Empty means for-sale only. |\n| `searchTerms` | Array | – | Keywords matched against listing names, descriptions and addresses. |\n| `propertyTypes` | Select (multi) | – | 14 commercial categories. Empty searches every type. |\n| `subtypes` | Select (multi) | – | 50 subtypes such as Shopping Center, Medical Office, Warehouse. Some subtypes exist only for sale or only for lease. |\n| `locations` | Select (multi) | – | US states by two-letter code or full name. Empty searches nationwide. |\n| `cities` | Array | – | City names, e.g. `Austin`. |\n| `counties` | Array | – | County names as Crexi writes them, e.g. `Travis County`. |\n| `zipCodes` | Array | – | US ZIP codes, e.g. `78701`. |\n| `minPrice` / `maxPrice` | Integer | – | Asking-price range in USD (sale and auction listings). |\n| `minPricePerSqft` / `maxPricePerSqft` | Number | – | Price-per-square-foot range (sale listings). |\n| `minCapRate` / `maxCapRate` | Number | – | Cap-rate range in percent (sale listings with a published cap rate). |\n| `minSquareFootage` / `maxSquareFootage` | Integer | – | Building-size range in square feet. |\n| `minRatePerSqftAnnual` / `maxRatePerSqftAnnual` | Number | – | Annual lease-rate range per square foot (lease listings). |\n| `buildingClasses` | Select (multi) | – | `A`, `B` or `C`. |\n| `opportunityZoneOnly` | Boolean | `false` | Only listings in designated Opportunity Zones. |\n| `includeUnpriced` | Boolean | `true` | Keep listings without a public asking price. |\n| `sortBy` | Select | `Rank` | Recommended, price, cap rate, NOI, recently updated, recently listed or newest. |\n| `sortDirection` | Select | `Descending` | Descending or ascending. Lease listings always sort by Crexi's recommended order and skip this. |\n| `scrapeDetails` | Boolean | `false` | Add broker phone/email contacts, high-resolution photos, highlights, marketing text, fact-sheet values and full auction details. |\n| `includeSimilarProperties` | Boolean | `false` | Attach up to 6 similar nearby listings to each record. |\n| `maxProperties` | Integer | `100` | Stop after this many listings (1–100,000). The daily sample uses `5`. |\n\n### Example: multifamily deals in Texas, $2M–$10M, with details\n\n```json\n{\n  \"transactionTypes\": [\"sale\"],\n  \"propertyTypes\": [\"Multifamily\"],\n  \"locations\": [\"TX\"],\n  \"minPrice\": 2000000,\n  \"maxPrice\": 10000000,\n  \"scrapeDetails\": true,\n  \"maxProperties\": 200\n}\n```\n\n### Example: retail and office space for lease in Austin\n\n```json\n{\n  \"transactionTypes\": [\"lease\"],\n  \"cities\": [\"Austin\"],\n  \"zipCodes\": [\"78701\", \"78702\"],\n  \"maxProperties\": 100\n}\n```\n\n### Example: live auctions over $1M\n\n```json\n{\n  \"transactionTypes\": [\"auction\"],\n  \"minPrice\": 1000000,\n  \"maxProperties\": 50\n}\n```\n\n### Example: fetch specific listings\n\n```json\n{\n  \"propertyUrls\": [\n    \"https://www.crexi.com/properties/2492041/pennsylvania-former-pittsburgh-hospital\",\n    \"https://www.crexi.com/lease/properties/28945/california-french-valley-village-center\"\n  ],\n  \"scrapeDetails\": true\n}\n```\n\n## Use cases\n\n- **Acquisition sourcing** — build lists of for-sale and for-lease assets that match a buy box of state, city, ZIP, type, size, price and cap rate.\n- **Market research** — compare inventory and asking prices across metros, categories and lease versus sale markets.\n- **Broker outreach** — collect brokerage and broker names, license numbers and profile links tied to active listings.\n- **Underwriting support** — pull NOI, cap rate, year built, lot size and fact-sheet values for first-pass screening.\n- **Auction monitoring** — track live auctions with starting bids and start/end dates before offers close.\n\n## FAQ\n\n**Do I need a Crexi account, cookies or a proxy?**\nNo. The actor connects to Crexi automatically; there is nothing to configure.\n\n**Why did I get exactly 1,500 rows for a broad search?**\nCrexi's API returns at most 1,500 rows per filter combination. The actor works around this by splitting large searches into price-range partitions and merging the results; a nationwide request for more than 1,500 rows is collected partition by partition. If a single indivisible slice still exceeds 1,500, the run's status message tells you the site's total and suggests narrowing filters.\n\n**Why is `price` missing on some listings?**\nSome sellers publish a listing without an asking price. Those rows still contain everything else; with `includeUnpriced` off they are excluded entirely — and an active price filter always requires a published price.\n\n**Why are `cap_rate` or `net_operating_income` missing on some rows?**\nCrexi only exposes those figures when the listing publishes them. When they are absent from the source, the fields are omitted rather than estimated.\n\n**What does `scrapeDetails` add?**\nEach listing's detail data: broker phone and email contacts (with brokerage website, license number and profile link), plus `broker_phones[]`/`broker_emails[]` roll-ups; the full gallery in high resolution; investment highlights; the marketing description; published fact-sheet values such as zoning and ownership; the lease rate block for lease listings; and full auction details (deposits, bid increment, reserve status, bidder counts). It takes longer to run, so it is off by default.\n\n**Does this include sold or off-market properties?**\nCrexi's sold prices and sale dates sit behind its paid Intelligence product and are never published anonymously, so the actor cannot return them. It does cover active for-sale, for-lease and auction listings, and it can fetch public property records (parcel data such as APN, lot and building size, class and comp flags) when you paste a `crexi.com/property-records/...` URL into `propertyUrls`.\n\n**Can I filter by year built, NOI or occupancy?**\nCrexi only filters cap rate server-side (the `minCapRate`/`maxCapRate` inputs). Year built and NOI are returned on each record when published but cannot be filtered before download; occupancy is masked for anonymous users on sale listings (for-lease rows expose `vacant_suites`).\n\n**Can I mix sale and lease results in one run?**\nYes — select both in `transactionTypes` and the actor searches each marketplace and combines the rows into one deduplicated dataset. Crexi's for-sale and for-lease marketplaces use separate ID spaces, so the same `property_id` can appear once per marketplace; `transaction_type` and `property_url` tell the two records apart.\n\n**How fresh is the data?**\nEvery run queries Crexi live, so results reflect the marketplace at the moment the run starts.\n\n**Is this actor affiliated with Crexi?**\nNo. It is an independent tool that reads Crexi's public listing pages and APIs and is not operated by or affiliated with Crexi.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "crexi-commercial-property-listings-and-pricing",
      "title": "Crexi Commercial Property Listings & Pricing Extractor",
      "description": "Scrape Crexi sale, lease and auction commercial property listings by keyword, state, city, ZIP, type, size, price or cap rate — with brokers, NOI, photos and full details.",
      "version": "1.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-start"
      },
      "input": {
        "title": "Crexi Commercial Property Listings & Pricing Input",
        "description": "Search Crexi sale, lease and auction listings by keyword, location, property type, size, price, cap rate and more — or paste specific Crexi property or search URLs. No proxy, cookies or API keys needed.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "propertyUrls": {
            "title": "Property or search URLs",
            "type": "array",
            "description": "Paste Crexi property links or IDs (e.g. https://www.crexi.com/properties/123456/name, /lease/properties/987/name, a bare ID, or a property-record link) to fetch those exact listings. A Crexi search URL (https://www.crexi.com/search/...) is also accepted and its filters are reused. Leave empty to search by the filters below.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "transactionTypes": {
            "title": "Listing kind",
            "type": "array",
            "description": "Which Crexi marketplaces to search. Empty = for-sale listings only.",
            "editor": "select",
            "uniqueItems": true,
            "default": [],
            "items": {
              "type": "string",
              "enum": [
                "sale",
                "lease",
                "auction"
              ],
              "enumTitles": [
                "For sale",
                "For lease",
                "Auctions"
              ]
            }
          },
          "searchTerms": {
            "title": "Keywords",
            "type": "array",
            "description": "Free-text keywords matched against listing names, descriptions and addresses (e.g. warehouse, medical office).",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "One or more commercial property categories. Empty searches every type.",
            "editor": "select",
            "uniqueItems": true,
            "default": [],
            "items": {
              "type": "string",
              "enum": [
                "Office",
                "Retail",
                "Industrial",
                "Multifamily",
                "Land",
                "Hospitality",
                "Mixed Use",
                "Special Purpose",
                "Self Storage",
                "Mobile Home Park",
                "Senior Living",
                "Business for Sale",
                "Note/Loan",
                "Restaurant"
              ],
              "enumTitles": [
                "Office",
                "Retail",
                "Industrial",
                "Multifamily",
                "Land",
                "Hospitality",
                "Mixed Use",
                "Special Purpose",
                "Self Storage",
                "Mobile Home Park",
                "Senior Living",
                "Business for Sale",
                "Note/Loan",
                "Restaurant"
              ]
            }
          },
          "subtypes": {
            "title": "Property subtypes",
            "type": "array",
            "description": "Narrow to specific subtypes (e.g. Shopping Center, Medical Office, Warehouse). Note: some subtypes exist only for sale or only for lease listings.",
            "editor": "select",
            "uniqueItems": true,
            "default": [],
            "items": {
              "type": "string",
              "enum": [
                "Apartment Building",
                "Student Housing",
                "Single Family Rental Portfolio",
                "RV Park",
                "Traditional Office",
                "Executive Office",
                "Medical Office",
                "Creative Office",
                "Warehouse",
                "Distribution",
                "Flex",
                "Manufacturing",
                "R&D",
                "Refrigerated/Cold Storage",
                "Storefront",
                "Shopping Center",
                "Restaurant",
                "QSR/Fast Food",
                "Bar",
                "Bank",
                "Convenience Store",
                "Grocery Store",
                "Pharmacy/Drug",
                "Gas Station",
                "Auto Shop",
                "Day Care/Nursery",
                "Hotel",
                "Motel",
                "Casino",
                "Agricultural",
                "Farm",
                "Ranch",
                "Timber",
                "Hunting/Recreational",
                "Residential",
                "Commercial",
                "Industrial",
                "Islands",
                "Telecom/Data Center",
                "Sports/Entertainment",
                "Marina",
                "Golf Course",
                "School",
                "Religious/Church",
                "Garage/Parking",
                "Car Wash",
                "Airport",
                "Business Only",
                "Business and Building",
                "Coworking"
              ],
              "enumTitles": [
                "Apartment Building",
                "Student Housing",
                "Single Family Rental Portfolio",
                "RV Park",
                "Traditional Office",
                "Executive Office",
                "Medical Office",
                "Creative Office",
                "Warehouse",
                "Distribution",
                "Flex",
                "Manufacturing",
                "R&D",
                "Refrigerated/Cold Storage",
                "Storefront",
                "Shopping Center",
                "Restaurant",
                "QSR/Fast Food",
                "Bar",
                "Bank",
                "Convenience Store",
                "Grocery Store",
                "Pharmacy/Drug",
                "Gas Station",
                "Auto Shop",
                "Day Care/Nursery",
                "Hotel",
                "Motel",
                "Casino",
                "Agricultural",
                "Farm",
                "Ranch",
                "Timber",
                "Hunting/Recreational",
                "Residential",
                "Commercial",
                "Industrial",
                "Islands",
                "Telecom/Data Center",
                "Sports/Entertainment",
                "Marina",
                "Golf Course",
                "School",
                "Religious/Church",
                "Garage/Parking",
                "Car Wash",
                "Airport",
                "Business Only",
                "Business and Building",
                "Coworking"
              ]
            }
          },
          "locations": {
            "title": "States",
            "type": "array",
            "description": "US states to search, by two-letter code or full name. Each state is searched and combined. Empty searches nationwide.",
            "editor": "select",
            "uniqueItems": true,
            "default": [],
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY",
                "DC",
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming",
                "District Of Columbia"
              ],
              "enumTitles": [
                "Alabama (AL)",
                "Alaska (AK)",
                "Arizona (AZ)",
                "Arkansas (AR)",
                "California (CA)",
                "Colorado (CO)",
                "Connecticut (CT)",
                "Delaware (DE)",
                "Florida (FL)",
                "Georgia (GA)",
                "Hawaii (HI)",
                "Idaho (ID)",
                "Illinois (IL)",
                "Indiana (IN)",
                "Iowa (IA)",
                "Kansas (KS)",
                "Kentucky (KY)",
                "Louisiana (LA)",
                "Maine (ME)",
                "Maryland (MD)",
                "Massachusetts (MA)",
                "Michigan (MI)",
                "Minnesota (MN)",
                "Mississippi (MS)",
                "Missouri (MO)",
                "Montana (MT)",
                "Nebraska (NE)",
                "Nevada (NV)",
                "New Hampshire (NH)",
                "New Jersey (NJ)",
                "New Mexico (NM)",
                "New York (NY)",
                "North Carolina (NC)",
                "North Dakota (ND)",
                "Ohio (OH)",
                "Oklahoma (OK)",
                "Oregon (OR)",
                "Pennsylvania (PA)",
                "Rhode Island (RI)",
                "South Carolina (SC)",
                "South Dakota (SD)",
                "Tennessee (TN)",
                "Texas (TX)",
                "Utah (UT)",
                "Vermont (VT)",
                "Virginia (VA)",
                "Washington (WA)",
                "West Virginia (WV)",
                "Wisconsin (WI)",
                "Wyoming (WY)",
                "District Of Columbia (DC)",
                "Alabama",
                "Alaska",
                "Arizona",
                "Arkansas",
                "California",
                "Colorado",
                "Connecticut",
                "Delaware",
                "Florida",
                "Georgia",
                "Hawaii",
                "Idaho",
                "Illinois",
                "Indiana",
                "Iowa",
                "Kansas",
                "Kentucky",
                "Louisiana",
                "Maine",
                "Maryland",
                "Massachusetts",
                "Michigan",
                "Minnesota",
                "Mississippi",
                "Missouri",
                "Montana",
                "Nebraska",
                "Nevada",
                "New Hampshire",
                "New Jersey",
                "New Mexico",
                "New York",
                "North Carolina",
                "North Dakota",
                "Ohio",
                "Oklahoma",
                "Oregon",
                "Pennsylvania",
                "Rhode Island",
                "South Carolina",
                "South Dakota",
                "Tennessee",
                "Texas",
                "Utah",
                "Vermont",
                "Virginia",
                "Washington",
                "West Virginia",
                "Wisconsin",
                "Wyoming",
                "District Of Columbia"
              ]
            }
          },
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "City names to filter by (e.g. Austin). Works alongside or instead of states.",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "counties": {
            "title": "Counties",
            "type": "array",
            "description": "County names to filter by, including the word County where Crexi uses it (e.g. Travis County).",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "zipCodes": {
            "title": "ZIP codes",
            "type": "array",
            "description": "US ZIP codes to filter by (e.g. 78701).",
            "editor": "stringList",
            "default": [],
            "prefill": []
          },
          "minPrice": {
            "title": "Minimum asking price (USD)",
            "type": "integer",
            "description": "Only return listings asking at least this much. Sale and auction listings only.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "maxPrice": {
            "title": "Maximum asking price (USD)",
            "type": "integer",
            "description": "Only return listings asking at most this much. Sale and auction listings only.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "minPricePerSqft": {
            "title": "Minimum price per sq ft (USD)",
            "type": "number",
            "description": "Only return sale listings priced at or above this per square foot.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "maxPricePerSqft": {
            "title": "Maximum price per sq ft (USD)",
            "type": "number",
            "description": "Only return sale listings priced at or below this per square foot.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "minCapRate": {
            "title": "Minimum cap rate (%)",
            "type": "number",
            "description": "Only return sale listings with a published cap rate at or above this percentage.",
            "editor": "number",
            "minimum": 0,
            "maximum": 100,
            "nullable": true
          },
          "maxCapRate": {
            "title": "Maximum cap rate (%)",
            "type": "number",
            "description": "Only return sale listings with a published cap rate at or below this percentage.",
            "editor": "number",
            "minimum": 0,
            "maximum": 100,
            "nullable": true
          },
          "minSquareFootage": {
            "title": "Minimum building size (sq ft)",
            "type": "integer",
            "description": "Only return listings whose building is at least this large.",
            "editor": "number",
            "minimum": 1,
            "nullable": true
          },
          "maxSquareFootage": {
            "title": "Maximum building size (sq ft)",
            "type": "integer",
            "description": "Only return listings whose building is at most this large.",
            "editor": "number",
            "minimum": 1,
            "nullable": true
          },
          "minRatePerSqftAnnual": {
            "title": "Minimum lease rate ($/sq ft/year)",
            "type": "number",
            "description": "For-lease listings only: minimum annual rate per square foot.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "maxRatePerSqftAnnual": {
            "title": "Maximum lease rate ($/sq ft/year)",
            "type": "number",
            "description": "For-lease listings only: maximum annual rate per square foot.",
            "editor": "number",
            "minimum": 0,
            "nullable": true
          },
          "buildingClasses": {
            "title": "Building classes",
            "type": "array",
            "description": "Filter by commercial building class. Empty includes all classes.",
            "editor": "select",
            "uniqueItems": true,
            "default": [],
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C"
              ],
              "enumTitles": [
                "Class A",
                "Class B",
                "Class C"
              ]
            }
          },
          "opportunityZoneOnly": {
            "title": "Opportunity Zones only",
            "type": "boolean",
            "description": "Only return sale listings located in a designated Opportunity Zone.",
            "default": false,
            "prefill": false
          },
          "includeUnpriced": {
            "title": "Include listings without a price",
            "type": "boolean",
            "description": "Include sale and auction listings Crexi shows without a public asking price (auctions, call for offers).",
            "default": true,
            "prefill": true
          },
          "sortBy": {
            "title": "Sort by",
            "type": "string",
            "description": "Order of results within each search.",
            "editor": "select",
            "enum": [
              "Rank",
              "Price",
              "CapRate",
              "Noi",
              "UpdatedOn",
              "ActivatedOn",
              "CreatedOn"
            ],
            "enumTitles": [
              "Recommended (best match)",
              "Asking price",
              "Cap rate",
              "Net operating income",
              "Recently updated",
              "Recently listed",
              "Newest created"
            ],
            "default": "Rank",
            "prefill": "Rank"
          },
          "sortDirection": {
            "title": "Sort direction",
            "type": "string",
            "description": "Ascending or descending order for the sort chosen above.",
            "editor": "select",
            "enum": [
              "Descending",
              "Ascending"
            ],
            "enumTitles": [
              "Descending (high to low / newest first)",
              "Ascending (low to high)"
            ],
            "default": "Descending",
            "prefill": "Descending"
          },
          "scrapeDetails": {
            "title": "Enrich with full details",
            "type": "boolean",
            "description": "Fetch each listing's detail data: broker contacts (phone and email), the broker of record when published, the full photo gallery in high resolution, investment highlights, the marketing description, published fact-sheet values, and full auction details for auction listings. Adds a few requests per listing.",
            "default": false,
            "prefill": false
          },
          "includeSimilarProperties": {
            "title": "Include similar properties",
            "type": "boolean",
            "description": "Add up to 6 similar nearby listings (comps) to each record.",
            "default": false,
            "prefill": false
          },
          "maxProperties": {
            "title": "Maximum listings",
            "type": "integer",
            "description": "Stop once this many listings have been collected. Crexi returns at most 1,500 rows per filter combination; larger requests are automatically split into price-range partitions.",
            "default": 100,
            "prefill": 5,
            "minimum": 1,
            "maximum": 100000,
            "editor": "number"
          }
        },
        "required": []
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Crexi Commercial Property Listings & Pricing Extractor Output",
        "description": "Dataset of Crexi sale, lease and auction commercial property listings with pricing, cap rate, NOI, sizes, brokers, locations, photos and optional detail enrichment.",
        "properties": {
          "listings": {
            "type": "string",
            "title": "Listings",
            "description": "Dataset containing all scraped Crexi commercial property listings.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "./Dockerfile",
      "readme": "# Crexi Commercial Property Listings & Pricing Extractor\n\nCrexi is one of the largest US marketplaces for commercial real estate. This actor reads Crexi's own public listing APIs and returns for-sale, for-lease and auction properties as clean, structured rows — asking price, cap rate, NOI, building size, year built, lot size, broker contacts, photo galleries and coordinates. No account, cookies or proxy setup are required.\n\n## What this actor does\n\n- **Three marketplaces in one actor:** for-sale listings, for-lease listings and live auctions, with the filters each one actually supports.\n- **Full filter surface:** keywords, states, cities, counties, ZIP codes, 14 property categories, 50 subtypes, building class, asking price, price per square foot, cap rate, building size, lease rate, and Opportunity Zone listings.\n- **Handles Crexi's result window for you.** Crexi's API only returns 1,500 rows per filter combination. When you ask for more, the actor automatically splits the search into price-range partitions and merges the results, deduplicated.\n- **Direct URL mode:** paste any Crexi property link or ID — for-sale or for-lease — and the actor fetches exactly those records.\n- **Optional enrichment:** one toggle adds full broker contacts (name, brokerage website, license, profile), high-resolution gallery photos, investment highlights, the marketing write-up and published fact-sheet values.\n- **Optional comps:** attach up to six similar nearby listings to each record.\n- Fields Crexi does not publish for a listing (for example an undisclosed price) are omitted from that record instead of being written as blank or null.\n\n## Output per listing\n\n- `property_id`, `name`, `property_url`, `record_type: \"property\"` (property-record rows use `record_type: \"property_record\"`)\n- `transaction_type` — `sale` or `lease`; `is_auction` and the auction block for auction listings\n- `property_type` (asset class), `subtypes[]`\n- `address`, `city`, `county`, `state`, `zip_code`, `latitude`, `longitude`\n- `price` (formatted) and `price_usd` (number), `price_per_sqft`, `price_per_acre`\n- `square_footage` (formatted) and `building_sqft` (number), `lot_acres`\n- `cap_rate`, `net_operating_income` (formatted) and `noi_usd` (number)\n- `year_built`, `year_renovated`, `class`, `tenancy`, `units`, `stories`\n- `brokerage`, `broker_names[]` — and with enrichment, `brokers[]` with profile, website, license, photo, **phone and email**, plus `broker_phones[]`/`broker_emails[]` and `broker_of_record` (name, license, phone when Crexi publishes it)\n- `listing_status`, `investment_type`, `offers_due_on`, `is_opportunity_zone`\n- Auction rows: `is_auction`, `auction_starting_bid_usd`, `auction_minimum_bid_usd`, `auction_starts_on`, `auction_ends_on`; with enrichment also `auction_status`, `auction_bid_increment_usd`, `auction_reserve_met`, `auction_marketing_starts_on`, `auction_earnest_deposit_usd`/`auction_earnest_deposit_percent`, `auction_deposit_option`, `auction_escrow_period_days`, `auction_participation_deposit_usd`, `auctioneer`, `auction_transaction_fee_percent`, `auction_minimum_fee_usd`, `auction_registered_bidders`, `auction_approved_bidders`, `auction_page_views`\n- `has_om`, `has_flyer`, `has_video`, `has_virtual_tour`\n- `activated_on`, `updated_on`, `days_on_market`\n- `description`; with enrichment also `marketing_description`, `investment_highlights[]`, `details`\n- `images[]` (all gallery photos), `image_count`\n- `source`, `scraped_at`\n- Lease listings add `lease_type`, `rate_type`, `lease_rate_per_sqft_annual`, `lease_rate_monthly_total`, `rentable_sqft_min`, `rentable_sqft_max`, `suites`, `vacant_suites`\n- With similar properties enabled: `similar_properties[]` — id, name, price and link for each comp (Crexi returns up to 500 per listing)\n\n### Output per property record (property-record URL input)\n\n- `property_id`, `name`, `property_url` (`https://www.crexi.com/property-records/...`), `record_type: \"property_record\"`\n- `apn`, `regrid_path` — parcel identifiers\n- `address`, `city`, `county`, `state`, `zip_code`, `latitude`, `longitude`\n- `property_type`, `subtypes[]`, `class`, `building_sqft`, `buildings`, `units`, `lot_acres`, `lot_sqft`, `year_built`, `tenancy`\n- `days_on_market`, `sale_transaction_type`, `is_sales_comp`, `is_lease_comp`, `sales_comp_type`, `lease_comp_type`, `is_broker_reported_sales_comp`\n- `broker_names[]`, `description`, `images[]`, `image_count`, `activated_on`, `updated_on`\n- `related_sale_listing_ids[]` / `related_lease_listing_ids[]` when Crexi links the record to marketplace listings\n\n## Input\n\n| Field | Type | Default | Description |\n| --- | --- | --- | --- |\n| `propertyUrls` | Array | – | Crexi property links, `/lease/properties/...` links, bare IDs, or `property-records/...` links to fetch exact rows. A Crexi search URL is also accepted and its filters are reused. When set, the filter fields below are skipped. |\n| `transactionTypes` | Select (multi) | – | `sale`, `lease` or `auction`. Empty means for-sale only. |\n| `searchTerms` | Array | – | Keywords matched against listing names, descriptions and addresses. |\n| `propertyTypes` | Select (multi) | – | 14 commercial categories. Empty searches every type. |\n| `subtypes` | Select (multi) | – | 50 subtypes such as Shopping Center, Medical Office, Warehouse. Some subtypes exist only for sale or only for lease. |\n| `locations` | Select (multi) | – | US states by two-letter code or full name. Empty searches nationwide. |\n| `cities` | Array | – | City names, e.g. `Austin`. |\n| `counties` | Array | – | County names as Crexi writes them, e.g. `Travis County`. |\n| `zipCodes` | Array | – | US ZIP codes, e.g. `78701`. |\n| `minPrice` / `maxPrice` | Integer | – | Asking-price range in USD (sale and auction listings). |\n| `minPricePerSqft` / `maxPricePerSqft` | Number | – | Price-per-square-foot range (sale listings). |\n| `minCapRate` / `maxCapRate` | Number | – | Cap-rate range in percent (sale listings with a published cap rate). |\n| `minSquareFootage` / `maxSquareFootage` | Integer | – | Building-size range in square feet. |\n| `minRatePerSqftAnnual` / `maxRatePerSqftAnnual` | Number | – | Annual lease-rate range per square foot (lease listings). |\n| `buildingClasses` | Select (multi) | – | `A`, `B` or `C`. |\n| `opportunityZoneOnly` | Boolean | `false` | Only listings in designated Opportunity Zones. |\n| `includeUnpriced` | Boolean | `true` | Keep listings without a public asking price. |\n| `sortBy` | Select | `Rank` | Recommended, price, cap rate, NOI, recently updated, recently listed or newest. |\n| `sortDirection` | Select | `Descending` | Descending or ascending. Lease listings always sort by Crexi's recommended order and skip this. |\n| `scrapeDetails` | Boolean | `false` | Add broker phone/email contacts, high-resolution photos, highlights, marketing text, fact-sheet values and full auction details. |\n| `includeSimilarProperties` | Boolean | `false` | Attach up to 6 similar nearby listings to each record. |\n| `maxProperties` | Integer | `100` | Stop after this many listings (1–100,000). The daily sample uses `5`. |\n\n### Example: multifamily deals in Texas, $2M–$10M, with details\n\n```json\n{\n  \"transactionTypes\": [\"sale\"],\n  \"propertyTypes\": [\"Multifamily\"],\n  \"locations\": [\"TX\"],\n  \"minPrice\": 2000000,\n  \"maxPrice\": 10000000,\n  \"scrapeDetails\": true,\n  \"maxProperties\": 200\n}\n```\n\n### Example: retail and office space for lease in Austin\n\n```json\n{\n  \"transactionTypes\": [\"lease\"],\n  \"cities\": [\"Austin\"],\n  \"zipCodes\": [\"78701\", \"78702\"],\n  \"maxProperties\": 100\n}\n```\n\n### Example: live auctions over $1M\n\n```json\n{\n  \"transactionTypes\": [\"auction\"],\n  \"minPrice\": 1000000,\n  \"maxProperties\": 50\n}\n```\n\n### Example: fetch specific listings\n\n```json\n{\n  \"propertyUrls\": [\n    \"https://www.crexi.com/properties/2492041/pennsylvania-former-pittsburgh-hospital\",\n    \"https://www.crexi.com/lease/properties/28945/california-french-valley-village-center\"\n  ],\n  \"scrapeDetails\": true\n}\n```\n\n## Use cases\n\n- **Acquisition sourcing** — build lists of for-sale and for-lease assets that match a buy box of state, city, ZIP, type, size, price and cap rate.\n- **Market research** — compare inventory and asking prices across metros, categories and lease versus sale markets.\n- **Broker outreach** — collect brokerage and broker names, license numbers and profile links tied to active listings.\n- **Underwriting support** — pull NOI, cap rate, year built, lot size and fact-sheet values for first-pass screening.\n- **Auction monitoring** — track live auctions with starting bids and start/end dates before offers close.\n\n## FAQ\n\n**Do I need a Crexi account, cookies or a proxy?**\nNo. The actor connects to Crexi automatically; there is nothing to configure.\n\n**Why did I get exactly 1,500 rows for a broad search?**\nCrexi's API returns at most 1,500 rows per filter combination. The actor works around this by splitting large searches into price-range partitions and merging the results; a nationwide request for more than 1,500 rows is collected partition by partition. If a single indivisible slice still exceeds 1,500, the run's status message tells you the site's total and suggests narrowing filters.\n\n**Why is `price` missing on some listings?**\nSome sellers publish a listing without an asking price. Those rows still contain everything else; with `includeUnpriced` off they are excluded entirely — and an active price filter always requires a published price.\n\n**Why are `cap_rate` or `net_operating_income` missing on some rows?**\nCrexi only exposes those figures when the listing publishes them. When they are absent from the source, the fields are omitted rather than estimated.\n\n**What does `scrapeDetails` add?**\nEach listing's detail data: broker phone and email contacts (with brokerage website, license number and profile link), plus `broker_phones[]`/`broker_emails[]` roll-ups; the full gallery in high resolution; investment highlights; the marketing description; published fact-sheet values such as zoning and ownership; the lease rate block for lease listings; and full auction details (deposits, bid increment, reserve status, bidder counts). It takes longer to run, so it is off by default.\n\n**Does this include sold or off-market properties?**\nCrexi's sold prices and sale dates sit behind its paid Intelligence product and are never published anonymously, so the actor cannot return them. It does cover active for-sale, for-lease and auction listings, and it can fetch public property records (parcel data such as APN, lot and building size, class and comp flags) when you paste a `crexi.com/property-records/...` URL into `propertyUrls`.\n\n**Can I filter by year built, NOI or occupancy?**\nCrexi only filters cap rate server-side (the `minCapRate`/`maxCapRate` inputs). Year built and NOI are returned on each record when published but cannot be filtered before download; occupancy is masked for anonymous users on sale listings (for-lease rows expose `vacant_suites`).\n\n**Can I mix sale and lease results in one run?**\nYes — select both in `transactionTypes` and the actor searches each marketplace and combines the rows into one deduplicated dataset. Crexi's for-sale and for-lease marketplaces use separate ID spaces, so the same `property_id` can appear once per marketplace; `transaction_type` and `property_url` tell the two records apart.\n\n**How fresh is the data?**\nEvery run queries Crexi live, so results reflect the marketplace at the moment the run starts.\n\n**Is this actor affiliated with Crexi?**\nNo. It is an independent tool that reads Crexi's public listing pages and APIs and is not operated by or affiliated with Crexi.\n",
      "categories": [
        "REAL_ESTATE",
        "LEAD_GENERATION"
      ],
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Listings",
              "transformation": {
                "fields": [
                  "name",
                  "transaction_type",
                  "property_type",
                  "city",
                  "state",
                  "price",
                  "cap_rate",
                  "net_operating_income",
                  "building_sqft",
                  "broker_names",
                  "property_url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "name": {
                    "label": "Property Name",
                    "format": "text"
                  },
                  "transaction_type": {
                    "label": "Kind",
                    "format": "text"
                  },
                  "property_type": {
                    "label": "Type",
                    "format": "text"
                  },
                  "city": {
                    "label": "City",
                    "format": "text"
                  },
                  "state": {
                    "label": "State",
                    "format": "text"
                  },
                  "price": {
                    "label": "Price",
                    "format": "text"
                  },
                  "cap_rate": {
                    "label": "Cap Rate %",
                    "format": "text"
                  },
                  "net_operating_income": {
                    "label": "NOI",
                    "format": "text"
                  },
                  "building_sqft": {
                    "label": "Building SqFt",
                    "format": "text"
                  },
                  "broker_names": {
                    "label": "Brokers",
                    "format": "text"
                  },
                  "property_url": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.2",
    "imageDigest": "68baa53e579393e3d948d3575af11a66ad4b1555bdf86e75676145246f7cab63",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.02151888888888889
    }
  }
}