/v1/deals, from a parcel’s history or from
an investor’s own list. So the Deal object describes its fields once, and every
endpoint that returns one links up to it. Start there when you read a response and want to know what a field means.
Endpoint pages are short. Each endpoint page says what it returns, when to use it instead of a neighbour, and the
few things that will surprise you. The guides give the detail.
The objects
Before your first call
- Authentication: the
zpka_bearer key and what it gets. - The response envelope: what comes back and in what units.
- Pagination: follow
page.next_cursor. - Errors: every code, with a body to recognise and a fix.
Conventions in one paragraph
- Every response is
{ data, meta }. A list addspageand sometimessummary. - Dates are
YYYY-MM-DD. - Money is whole dollars. It is null, never 0, when the deed carries no price.
- Every id has a prefix:
deal_,prop_,inv_,agt_,wl_,wsr_orlen_. - The API follows an old
inv_,agt_orlen_id from an earlier registry run to the current record, withmeta.resolved_from. For a retired id, the API answers410 gone. - Coordinates are WGS84. Distances are miles.
- The geometry you ask about is a point and a radius (
lat,lng,radius_miles), a viewport (bbox=west,south,east,north) or a parcel (property_id). On the deal, investor, wholesale and short-term rental lists, it can also be a place: a ZIP list (zip) or a postal city (city). With a place,latandlngbeside it are the reference point only. - Lists take commas or repeated keys.
- This host does not serve the fields that identify a natural person. They arrive
nullwithcontact_redacted: true. On the parcel routes (search, financing, history, listing history) and on a lender’s loan rows, the object leaves those keys out and carries no flag. - One route, parcel search, takes a
POSTbody because its criteria nest. Every other route is aGET.
The playground on every endpoint page sends real requests to
https://api.investorlift.com from your browser. Paste a
key into its Authorization box. Get an API key takes two minutes. The playground runs under your plan’s
limits like any other call.No official SDK exists yet. Every guide shows the request in curl, Node.js and Python. openapi-typescript or
openapi-python-client generates a typed client from the OpenAPI document at
https://api.investorlift.com/openapi.json. Official packages will follow.Early access
The listing-agent routes and the Investorlift listing routes are in this reference from 2026-09-14. The lender routes are in it too. All of them are for Investorlift’s team and trusted partners while the developer tier is in beta:- The listing-agent routes:
GET /v1/agents/search,GET /v1/agents/{id}andGET /v1/agents/{id}/listings. - The Investorlift listing routes:
GET /v1/wholesale-listings,GET /v1/wholesale-listings/{id},GET /v1/investors/{id}/wholesale-purchases,GET /v1/wholesalers/search,GET /v1/wholesalers/{id}andGET /v1/wholesalers/{id}/listings. - The lender routes:
GET /v1/lenders/search,GET /v1/lenders,GET /v1/lenders/{id}andGET /v1/lenders/{id}/loansfrom API 0.14.0,GET /v1/lenders/{id}/borrowersfrom 0.16.0, andGET /v1/lenders/{id}/rankingsandGET /v1/lenders/{id}/cellsfrom 0.19.0.
GET /v1/str-parcels is under By contract: Investorlift sells it per jurisdiction under an
order form.
Partners and staff
Staff and contracted partners reach the internal host on the company network with agm_ key. That host serves one
route that api.investorlift.com does not sell. The route left this reference on 2026-09-11: GET /v1/deals/pins,
every deal in a geometry as parallel arrays for a map. The operators’ openapi.json on that host describes it. Here,
/v1/deals/cells with /v1/deals draws the same map.