Quickstart
The Lift Data API scores a property address and returns a rehab-aware valuation, a likely investor price and a deal viability verdict. One request is enough to see it work.
Before you start
- The API is prepaid. Your Account holds a Balance of Credits, and one Credit is spent per Scored Call at every Tier — a Balance of N means N calls. There is nothing recurring: you buy Credits, you spend Credits.
- You need an API Key. Issue one from the Portal. It is shown to you once, in full, at creation; after that only its masked prefix is displayed.
Score a property
Replace YOUR_API_KEY with your own API Key. Everything else runs as written.
Trying it in the API playground? This API accepts JSON bodies only. Keep the playground's body in its plain-text mode with valid JSON in it, and make sure a
Content-Type: application/jsonheader is active before you send — any other body mode, or a missing content type, is answered with a 400. Picking the request example from the playground's Examples menu sets the body and the header in one step.
Code
The Idempotency-Key header is there so a retry can never charge you twice: send the
same request with the same key and you get the stored result back instead of a second
Spend. Any value unique to the request works — a UUID is the usual choice. The header
is optional, and a request without one is never an error; it is simply charged per
call. The full contract is on the Idempotency page.
A success is an HTTP 200 whose body carries the valuation members —
comp_band, likely_investor_price, flip_viability and the rest. What each member
means, and what this valuation is and is not, is on
Reading a score. The complete request and response schema is in
the API reference.
Check a key or an address shape for free
POST /v1/validate is free: it consumes no Credits, makes no Ledger call at all, and
keeps working at a zero Balance. It requires only a valid API Key. It also ignores
any Idempotency-Key header — there is no Spend to protect, so there is nothing for
the key to do.
Code
When something fails
Every error this API returns is an RFC 9457 Problem Detail with a stable type URI
that resolves to its own page in the error reference — the link inside the
error body you are holding is the documentation for it. Each page states what the
error costs and whether it is worth retrying. No automatic retry happens on our side,
ever: a Metered Call can consume a Credit before it fails, so retry is yours to
control, and your Idempotency-Key is what makes it safe.