Quickstart
Five steps; about 90 seconds end-to-end. By the end you'll have a Tri-County lead in your terminal.
1 · Start a trial
We don't have a free tier — the 14-day trial is the only path in. A card is required at trial start (no charge until day 14; cancel anytime and the card's never run).
2 · Issue a key
Trial activation auto-issues your first key. Find it at terminal.house/api-keys — the secret is shown once. Copy it to your secrets manager now.
export TERMINAL_HOUSE_API_KEY="th_live_d3a7...8c41"For MCP usage, persist the same key in your client config — see MCP setup.
3 · First request
Call GET /v1/leads with the bundled recipe oos_long_tenure_high_signal — out-of-state owner + long tenure + high signal density, our most popular wholesale starter.
curl https://api.terminal.house/v1/leads?recipe=oos_long_tenure_high_signal&limit=5 \ -H "Authorization: Bearer $TERMINAL_HOUSE_API_KEY"
import osimport httpx resp = httpx.get( "https://api.terminal.house/v1/leads", headers={"Authorization": f"Bearer {os.environ['TERMINAL_HOUSE_API_KEY']}"}, params={"recipe": "oos_long_tenure_high_signal", "limit": 5}, timeout=10.0,)resp.raise_for_status()for lead in resp.json()["results"]: print(lead["folio"], lead["address"], lead["score"])
// In Claude Desktop / Cursor / Windsurf with terminal.house MCP configured:> Use list_leads with recipe "oos_long_tenure_high_signal" and limit 5, then summarize the top result.
4 · Read the response
The body is JSON: a paged results array, an opaque cursor for the next page, and a total match count. Headers carry your rate-limit and quota state — see Rate limits & quotas.
{ "results": [ { "folio": "30-3122-008-0440", "address": "4567 NW 22nd Av, Miami FL 33125", "score": 0.78, "signals_fired": [ "out_of_state_owner", "tenure_years_long", "no_homestead", "code_violation" ], "owner": { "name": "SUNNY HOLDINGS LLC", "mailing_state": "NY", "tenure_years": 14 }, "valuation": { "just_value": 412000, "est_equity": 298000 }, "observed_at": "2026-05-28T10:14:00Z" } // ...4 more ], "cursor": "eyJv...A3", "total": 340}
Each result in this response counts as one lead-view against your monthly quota. Re-fetching the same folio later the same UTC day is free.
5 · Next steps
- Save a recipe as a watchlist (
POST /v1/watchlists) and subscribe a webhook to push new matches to your CRM. - Wire the MCP server into Claude Desktop, Cursor, or Windsurf — let your agent call
list_leadsandget_leaddirectly. - Pull a one-off CSV of every matching parcel in a county (Operator tier and up).
- Browse the full REST reference for every endpoint, request schema, and response schema.