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 indexGET
/v1/properties/{id}Fetch full property recordPOST
/v1/propertiesCreate a custom property entryPATCH
/v1/properties/{id}Update listing fieldsDELETE
/v1/properties/{id}Remove a custom propertyComparables
POST
/v1/comps/selectRun the comp engine for a subjectReports
POST
/v1/reportsGenerate a branded PDF reportGET
/v1/reportsList reports for the workspaceGET
/v1/reports/{id}Get report metadata and PDF URLDELETE
/v1/reports/{id}Archive a reportBilling
POST
/v1/billing/subscriptionCreate or change subscriptionGET
/v1/billing/invoicesList past invoicesTeam
GET
/v1/team/membersList team membersPOST
/v1/team/inviteInvite a team memberWebhooks
POST
/v1/webhooksRegister a webhook endpointExample: 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
| Code | Meaning |
|---|---|
| 400 | Validation failed |
| 401 | Missing or invalid API key |
| 403 | Plan does not permit this action |
| 404 | Resource not found |
| 429 | Rate limit exceeded |
| 500 | Internal server error |