Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Crexi API page →
docs / crexi

Crexi

Crexi

base /crexi/v15 endpoints
post/crexi/v1/property_detail1 credit

Read one FOR-SALE listing in full: everything the search row carries plus Crexi's own fact table (asking price, property type and sub type, lot size, ground-lease flag, sale condition, and whatever else that listing publishes), the investment highlights and marketing copy as plain text, whether the listing is sold, paused, unpriced, a note/loan or run by an auctioneer, and the brokers with their title, licence number, brokerage and brokerage address. Facts Crexi keeps behind a login come back as null rather than as the row of asterisks the source sends. A listing id that is not live answers NOT_FOUND.

ParameterAllowed / rangeDescription
listing_idrequired—Crexi's numeric listing id. It is the first number in the listing URL (https://www.crexi.com/properties/2725055/michigan-taco-bell → 2725055) and the `listing_id` of every search row. Sale and lease ids are separate number spaces: a sale id given to lease_detail answers NOT_FOUND, and the other way round.
Try in playground →
post/crexi/v1/lease_detail1 credit

Read one LEASE listing in full: everything the lease search row carries plus Crexi's building fact table, the building highlights and marketing copy as plain text, and — the reason this action exists — the SUITE TABLE: every available space in the building with its name, rentable square feet, asking rate per square foot, rate type, space subtypes and whether a floor plan is published. A suite whose rate is undisclosed comes back with a null rate, not a zero. Lease ids are a separate number space from sale ids.

ParameterAllowed / rangeDescription
listing_idrequired—Crexi's numeric listing id. It is the first number in the listing URL (https://www.crexi.com/properties/2725055/michigan-taco-bell → 2725055) and the `listing_id` of every search row. Sale and lease ids are separate number spaces: a sale id given to lease_detail answers NOT_FOUND, and the other way round.
Try in playground →
post/crexi/v1/suggest1 credit

Crexi's own type-ahead: turn a few typed characters into the things Crexi knows — a listing at that street address (with its listing_id, ready for property_detail), a broker, or a brokerage. Use it to go from an address a user typed to the listing id. It is NOT a place gazetteer: it never returns a city, county or ZIP id, and it is not needed for search — search takes plain city, state, county and ZIP names.

ParameterAllowed / rangeDescription
queryrequired—What the user typed. Two characters is enough.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.