Quickstart
This guide gets you from a fresh API key to a full property profile, then shows the two-call pattern that most integrations end up using.
Get an API key
Sign up or sign in at the portal and copy your key. Keep it in an environment variable rather than in source:
export REALESTATEAPI_KEY="your-api-key"
Your key identifies your account and spends your credits. Do not ship it in client-side code or commit it — every endpoint here is designed to be called from your backend.
Make your first request
Every endpoint is a POST to https://api.realestateapi.com with a JSON body and your key in an x-api-key header. The quickest meaningful call is a property lookup by address:
Your first request
curl -X POST https://api.realestateapi.com/v2/PropertyDetail \
-H "x-api-key: $REALESTATEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"address": "1 Rocket Rd, Hawthorne, CA 90250"}'
That returns the county and public-record profile for the property — owner, tax, mortgage, lot, and building fields. If you get a 401, the key was missing or wrong; see Errors.
Search, then enrich
One-off lookups are rarely the real job. The pattern that matters is two calls: search to decide which properties you want, then enrich only those.
Start by sizing the search. A count query tells you how many properties match without spending credits, so you can iterate on filters for free:
Size the search first
curl -X POST https://api.realestateapi.com/v2/PropertySearch \
-H "x-api-key: $REALESTATEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{"city": "Austin", "state": "TX", "count": true}'
Once the count looks right, drop count and page through the results with size and resultIndex. Each result carries an id, and that id is what Property Detail accepts — so you never have to re-match on address between the two calls.
For large jobs, ask for ids_only on the search instead. You get just the IDs at a fraction of the credit cost, and you enrich only the subset you actually keep. Paging and result modes has the details.