Crexi API

Search Crexi commercial properties by state codes to obtain property details and tenant structures using listing IDs.

Unpublished asking prices do not equal zero cost.

Platform availability

24h health
Normal
Normal

Last 30 days

Available capabilities

Each Crexi action, what it does, its price and its health over the last 24 hours. Open an action for its parameters, response fields and code samples.

CapabilityWhat it doesPer 1,00024-hour health
SearchsearchFind commercial real estate for sale or lease on Crexi, with address, asking price, square footage, property type, status, brokerage and opportunity-zone flag.$1.39 per 1,000 requestsNormal
Property detailsproperty_detailLook up one Crexi commercial listing by numeric ID or /properties/ link for highlights, asking price, full address, subtype, tenancy, occupancy, stories and listing dates.$1.39 per 1,000 requestsNormal

Open a capability for its parameters, response fields, code samples and trial.

What does each Crexi action accept?

Each answer below pairs one callable action with its real inputs. Parameter meanings and allowed values are action-specific; a familiar name does not carry the same meaning across every platform.

Official sources are linked only to clarify the platform term beside them. They do not imply platform authorization or endorsement, and they do not add official-site features to the EveryInfra API contract.

ActionRequiredOptionalDeliveryLimitPer 1,000Response fields
search

Search

Find commercial real estate for sale or lease on Crexi, with address, asking price, square footage, property type, status, brokerage and opportunity-zone flag. A US state code in keyword, state or states filters by state, and price filters can still return unpriced listings.

keywordmax_price, min_price, property_types, sort, state, states, transaction_typeSync deliveryCatalog values: defaultLimit=20, maxLimit=100. A limit can control pages or per-parent expansion for some actions, so it is not always a final row count.$1.39 per 1,000 requestsid · url · name · text · address · city · county · state · postal_code · latitude · longitude · price · area_sqft · property_types · status · brokerage_name · posted_at · updated_at · image_url · is_sold · is_unpriced · in_opportunity_zone · platform
property_detail

Property details

Look up one Crexi commercial listing by numeric ID or /properties/ link for highlights, asking price, full address, subtype, tenancy, occupancy, stories and listing dates. Text-only slugs and /lease/ paths do not resolve, and missing values should not be inferred.

url—Sync delivery—$1.39 per 1,000 requestsid · url · name · text · highlights · status · price · address · city · county · state · postal_code · lat · lng · property_types · property_subtypes · tenancy · occupancy · stories · listed_at · updated_at · platform

What do the Crexi search parameters mean?

Find commercial real estate for sale or lease on Crexi, with address, asking price, square footage, property type, status, brokerage and opportunity-zone flag. A US state code in keyword, state or states filters by state, and price filters can still return unpriced listings.

Full API reference: parameters, code samples, response example and health →
keywordRequired
Serves as the required search parameter for Crexi commercial real estate, but functions as a state filter when supplied as a US state postal code (such as TX, CA, or FL) rather than a free-text property title search. Providing state or states overrides this selection, though keyword remains required.
max_priceOptional
Filters Crexi listings by maximum asking price in USD. The value is converted to an integer before the search request. Results can still include properties without a public asking price, so this parameter does not guarantee that every returned listing has a price.
min_priceOptional
Filters listings by minimum asking price in USD. Accepts numeric values, ideally integers. This parameter does not evaluate capitalization rate or price per square foot, and is ignored by direct property_detail requests.
property_typesOptional
Filters commercial real estate by asset category using a string or array of strings, such as Office, Retail, or Multifamily. Applies strictly to search filtering rather than residential layouts, and is ignored by direct property_detail lookup requests.
sortOptional
Sorts Crexi search results descending by relevance (directory match strength, default) or newest (listing date order). It does not sort by last_updated timestamp or capitalization rate, and is ignored when retrieving properties directly by ID.
Allowed values:newestrelevance
stateOptional
Filters by a single US state postal code, such as TX. Read only when states is omitted, and takes precedence over keyword state filtering. To query multiple states simultaneously, use the states array instead.
statesOptional
Filters search results by US state postal codes using a string or an array of strings, such as TX or ["TX", "CA"], automatically converted to uppercase. Precedence follows states over state over keyword. Accepts state codes only, not city names or country codes.
transaction_typeOptional
Filters listings by transaction mode: sale (default) or lease, case-insensitive. Any other value, such as rent, returns 422 instead of switching to sale.
Allowed values:leasesale
Crexi: Sale and Lease Property Searches — Crexi search documentation distinguishes between Sale and Lease listings. This reference covers transaction types only and does not indicate that this endpoint includes map layers, demographic data, or traffic flow features mentioned in the source. · Checked

What do the Crexi property_detail parameters mean?

Look up one Crexi commercial listing by numeric ID or /properties/ link for highlights, asking price, full address, subtype, tenancy, occupancy, stories and listing dates. Text-only slugs and /lease/ paths do not resolve, and missing values should not be inferred.

Full API reference: parameters, code samples, response example and health →
urlRequired
Identifies the target property using either a full Crexi URL containing a numeric listing ID (such as /properties/<ID>) or the raw numeric ID string extracted from a search result id field. URLs with text-only slugs cannot be resolved, and /lease/<ID> links cannot be used for details.

How to use the Crexi API

  1. 01Read the public catalog and choose a platform action.
  2. 02Send the platform, action, and required parameters to POST /api/v1/social.
  3. 03Handle a synchronous result, or poll the returned job ID when the action runs asynchronously.
  4. 04Store the structured response fields needed by your application.
crexi_search.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"crexi","action":"search","params":{"keyword":"<keyword>"}}'

Crexi API questions

What can I retrieve with the Crexi API?

Set platform to crexi. The current catalog lists search and property details. These action names identify different Crexi objects or views; they are not interchangeable search modes.

Which input starts a Crexi `search` request?

Serves as the required search parameter for Crexi commercial real estate, but functions as a state filter when supplied as a US state postal code (such as TX, CA, or FL) rather than a free-text property title search. Providing state or states overrides this selection, though keyword remains required. Send it as keyword inside params.

Which fields can Crexi `search` return?

Its declared schema includes name, text, address, and city. A declared field can still be absent from an individual record, and every other action has its own field list.

Does every Crexi action return immediately?

Actions labeled asynchronous return a job ID you poll. Every other action can also run asynchronously: add "mode": "async" to the request body to receive a job ID immediately, useful for slow tasks or large limits. The current catalog contains sync delivery.