Crexi commercial properties for sale

GET https://api.api.sh/crexi/v1/search
1 credit / call real estate try it in the playground →

US commercial properties for sale on Crexi with the site's search filters: property type and subtype, state, ZIP, keyword, asking price, cap rate, building size, price per square foot, occupancy, tenancy, tenant brand and credit, investment type, Opportunity Zone and broker. Each result has id, link, name, status (On-Market, Auction...), asking price, types, investment type, square feet, cap rate, lot size, offers-due date, dates, media flags, thumbnail, brokerage and locations with coordinates. Pass next_page back as page; null on the last page.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
type string Property types, comma-separated: Retail, Multifamily, Office, Industrial, Hospitality, Mixed Use, Land, Self Storage, Mobile Home Park, Senior Living, Special Purpose, Note/Loan, Business for Sale. Example: Retail
subtype string Subtypes, comma-separated (e.g. Gas Station, Shopping Center, QSR/Fast Food, Warehouse, Medical Office, Hotel).
state string US state codes, comma-separated. Example: TX
zip string ZIP codes, comma-separated.
q string Keyword (name, tenant, address...).
price_min number Minimum asking price (USD); unpriced listings are then left out.
price_max number Maximum asking price (USD).
cap_rate_min number Minimum cap rate (%).
cap_rate_max number Maximum cap rate (%).
sqft_min number Minimum building size (sq ft).
sqft_max number Maximum building size (sq ft).
price_per_sqft_min number Minimum price per sq ft.
price_per_sqft_max number Maximum price per sq ft.
occupancy_min number Minimum occupancy (%).
occupancy_max number Maximum occupancy (%).
tenancy string Tenancy, comma-separated: Single, Multi, Vacant.
tenant string Tenant brands, comma-separated (e.g. Starbucks, Dollar General).
tenant_credit string Tenant credit, comma-separated: Credit Rated, Corporate Guarantee, Franchisee.
investment_type string Investment type, e.g. Value Add, Core, Core Plus, Opportunistic, NNN.
opportunity_zone boolean true: only properties in an Opportunity Zone.
broker_id string Only this broker's listings (a broker id from /crexi/v1/listing).
include_unpriced boolean false: leave out listings without an asking price.
sort relevance | price | newest | size | cap_rate Sort order. Example: relevance
order asc | desc asc or desc (default: asc for price and size, else desc).
limit integer Results per page, 1-60. Example: 25
page integer Page number, starting at 1. Pass next_page back as page; it is null on the last page. Example: 1

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/crexi/v1/search?type=Retail" \
  -H "x-api-key: $APISH_KEY"

Response

A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).

The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.