Investor-grade real-estate intelligence

The numbers behind the deal, as an API.

After Repair Value, ZIP-level market intelligence, and AI renovation analytics — the same investor-grade methodology that powers icomps.io, served over a clean REST API.

Products

iComps analysis, not raw data.

Every endpoint returns iComps-derived analysis or open-government data — the high-value signal, computed with our methodology. Authenticate with a single API key.

POST

/v1/analyze

The flagship. One call, one credit — a complete property analysis: ARV with confidence and estimated range, the comparable sales used (similarity, weights, and adjustments), the full transparency breakdown, and a branded PDF report. Returns the sections in your implementation config.

iComps-derived · flagship · metered
POST

/v1/arv

Lightweight After Repair Value — value, confidence, comp tier, and comp count from the 5-tier comparable-sales engine, when you need just the number and not the full analysis bundle.

iComps-derived
GET

/v1/zips/{zip}

ZIP market intelligence — income, population, owner/renter mix, fair-market rents, crime, and MSA unemployment.

Census · HUD · FBI · FRED
GET

/v1/zips/{zip}/renovation-profile

AI renovation analytics — the distribution of finish levels and average renovation score across analyzed homes in a ZIP.

iComps AI
GET

/v1/coverage

Which ZIP codes have active iComps data coverage, with property counts.

iComps-derived
GET

/v1/account · /v1/usage

Confirm your key and plan, and track your request usage over time for your dashboards.

Account & metering
Quickstart

First call in three steps.

  1. Get a keySign in, add a payment method, and generate an API key from your iComps developer console. Your first 30 analyses each month are free. You see the raw key once.
  2. Send it in x-api-keyEvery /v1 request carries your key in the header. No OAuth dance.
  3. Read the resultPOST /v1/analyze returns the analysis object directly; errors are application/problem+json (RFC 7807) with a stable type and a request id. The data endpoints use the { success, data, error, meta } envelope.
# A full property analysis — one credit
curl -X POST https://api.icomps.io/v1/analyze \
  -H "x-api-key: $ICOMPS_KEY" \
  -H "content-type: application/json" \
  -d '{"address":"123 Main St SW","zip":"30311","lat":33.72,"lon":-84.44,"beds":3,"baths":2,"sqft":1450}'
from icomps_data import IcompsData

client = IcompsData(api_key="YOUR_KEY")
result = client.analyze(address="123 Main St SW", zip="30311",
                        lat=33.72, lon=-84.44, beds=3, baths=2, sqft=1450)
result["arv"]["value"], result["pdf"]["url"]   # insufficient_comps -> not charged
import { IcompsData } from "@icomps/data";

const client = new IcompsData({ apiKey: "YOUR_KEY" });
const result = await client.analyze({ address: "123 Main St SW", zip: "30311",
  lat: 33.72, lon: -84.44, beds: 3, baths: 2, sqft: 1450 });
MCP server

Or skip the integration entirely.

iComps ships a first-party Model Context Protocol server, so Claude, Cursor, and your own agents can call the same analysis engine as a native tool. One line of configuration instead of an SDK integration — same x-api-key, same free allowance, same metering.

  1. Point your client at https://api.icomps.io/mcpStreamable HTTP, stateless, JSON responses. Nothing to install and nothing to run locally.
  2. Send your key in the X-API-Key headerThe same key as REST. Analyses run through the same meter, so usage and invoices stay in one place.
  3. Ask in plain language“Is 6233 E 11th St a deal at $135k with a $25k rehab?” — the agent calls evaluate_deal and comes back with an ARV, a maximum allowable offer, the comps behind it, and a PDF report.
claude mcp add --transport http icomps https://api.icomps.io/mcp \
  --header "X-API-Key: $ICOMPS_KEY"
{
  "mcpServers": {
    "icomps": {
      "type": "http",
      "url": "https://api.icomps.io/mcp",
      "headers": { "X-API-Key": "icomps_live_…" }
    }
  }
}
# Every MCP request must accept both content types.
curl -X POST https://api.icomps.io/mcp \
  -H "x-api-key: $ICOMPS_KEY" \
  -H "content-type: application/json" \
  -H "accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
TOOL

evaluate_deal

The one to reach for. Analyses the property and scores it against an asking price: maximum allowable offer on the 70% rule, spread, margin after selling costs, and rent yield — with a strong / workable / thin / pass verdict and the comps that justify it.

metered · one analysis
TOOL

analyze_property

ARV with confidence, the comparable sales behind it, what was excluded and why, a rent estimate, and a branded PDF report.

metered · one analysis
TOOL

reanalyze_with_changes

“What if I add a bathroom?” — re-runs an earlier analysis with new specs and shows the change in ARV.

metered · one analysis
TOOL

check_coverage

Does iComps have sold-property data in this ZIP? Free, and worth asking before spending an analysis.

free
TOOL

get_zip_stats · get_renovation_profile

Market context and renovation mix for a ZIP — what a flip there would be competing against.

free
TOOL

get_analysis · list_analyses · get_account · get_usage

Re-read past analyses in full, and check your plan, remaining free allowance and request volume.

free

Auth is identical to REST. `/mcp` requires your key on every request — including the handshake and the tool listing — enforced before the protocol layer, with the same uniform 401 and instant revocation from your developer console. Protocol traffic gets its own per-minute ceiling, so an agent's chatter never eats the rate limit your REST integration depends on. Treat the key in your client config as the secret it is: it is stored in plaintext by most MCP clients, so keep it out of shared repositories and revoke it if a config file ever leaks.

Billing is identical to REST. Only the three analysis tools consume an analysis; everything else is free. Each result tells the agent what the call cost and how much free allowance is left, so it can warn you before you spend. Repeating the same property with the same details within the hour replays the first result rather than charging again. The server also ships prompts — analyze_listing, offer_memo and neighborhood_scout — that walk an agent through a full workflow, including drafting an offer memo from a finished analysis.

What access gives you

One key. Every product, by plan.

Your API key unlocks every product below. Higher tiers raise your rate limits; analysis usage is metered — you pay per successful analysis, billed at graduated rates.

You can… Endpoint Starter Pro Enterprise
Run a full property analysis (ARV + comps + breakdown + PDF) POST /v1/analyze ✓✓✓
Re-fetch & list your prior analyses GET /v1/analyses ✓✓✓
Estimate After Repair Value for any address POST /v1/arv ✓✓✓
Pull ZIP market intelligence (income, rents, crime, jobs) GET /v1/zips/{zip} ✓✓✓
Read AI renovation profiles by ZIP GET /v1/zips/{zip}/renovation-profile ✓✓✓
List active data coverage GET /v1/coverage ✓✓✓
Track your own usage & plan GET /v1/usage · /v1/account ✓✓✓
Call iComps from an AI agent (Claude, Cursor, your own) POST /mcp ✓✓✓
Rate limit (requests / min) — 3001,2006,000
Analyze / ARV requests / min — 30120600
Property analyses — MeteredMeteredVolume terms
Support — CommunityEmailDedicated + SLA
Pricing

Pay per analysis. Start free.

One credit = one successful /v1/analyze call. Graduated rates apply automatically as your monthly volume grows — no plans to pick, no overage cliffs.

Free every month
$0
  • Your first 30 analyses each calendar month
  • Resets on the 1st — not a one-off trial
  • Real outputs — full ARV, comps, breakdown & PDF
  • A payment method is required up front
Get a key
Enterprise
Custom
  • Volume rate terms
  • 6,000 req/min · 600 analyze/min
  • SLA & dedicated support
  • Bulk & custom data terms
Contact sales

You are only charged for successful analyses — if we cannot produce an ARV for a property (insufficient_comps), that analysis is free, automatically, and idempotent retries are never double-charged. Graduated rates bill each analysis at its bracket's rate within the month, and the free 30 reset on the 1st. Live usage, plan state, and this month's count are on your developer console.