CompRapid API

A REST API for property search, comparable selection, and branded report generation. All endpoints return JSON. Base URL: https://api.comprapid.app

p50 latency
84ms
Auth
Bearer + OAuth 2
Webhooks
12 event types

Authentication

All requests must include a Bearer token in the Authorization header. Generate keys from Settings → API Keys.

curl https://api.comprapid.app/v1/properties/search?q=austin \
  -H "Authorization: Bearer cr_live_8f3...c92" \
  -H "Accept: application/json"

Properties

GET/v1/properties/searchSearch the property index
GET/v1/properties/{id}Fetch full property record
POST/v1/propertiesCreate a custom property entry
PATCH/v1/properties/{id}Update listing fields
DELETE/v1/properties/{id}Remove a custom property

Comparables

POST/v1/comps/selectRun the comp engine for a subject

Reports

POST/v1/reportsGenerate a branded PDF report
GET/v1/reportsList reports for the workspace
GET/v1/reports/{id}Get report metadata and PDF URL
DELETE/v1/reports/{id}Archive a report

Billing

POST/v1/billing/subscriptionCreate or change subscription
GET/v1/billing/invoicesList past invoices

Team

GET/v1/team/membersList team members
POST/v1/team/inviteInvite a team member

Webhooks

POST/v1/webhooksRegister a webhook endpoint

Example: generate a report

Request
POST /v1/reports
Authorization: Bearer cr_live_...
Content-Type: application/json

{
  "subject_id": "p_1483_maple",
  "include_pdf": true,
  "branding": "agency_42"
}
Response
200 OK
{
  "id": "r_01HZ...",
  "subject_id": "p_1483_maple",
  "comparables": ["p_98", "p_142", "p_203"],
  "estimated_value": 612000,
  "confidence": 0.92,
  "pdf_url": "https://cdn.comprapid.app/r_01HZ.pdf",
  "created_at": "2026-06-16T14:22:09Z"
}

Webhook events

  • report.created
  • report.sent
  • report.archived
  • property.updated
  • subscription.created
  • subscription.updated
  • subscription.canceled
  • invoice.paid
  • invoice.failed
  • team.member.added
  • team.member.removed
  • usage.limit.reached

Errors

CodeMeaning
400Validation failed
401Missing or invalid API key
403Plan does not permit this action
404Resource not found
429Rate limit exceeded
500Internal server error