Free-text property search
Find properties by a single free-text query — a full or partial address, an owner name, or a place. Results are ranked by relevance and tolerate typos, missing components, and reordered street directionals (e.g. "112 5th ave nw" and "112 nw 5th ave" both match). Returns the same property summary rows as the list endpoint. Use this for a search box; use the list endpoint for structured filtering.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/properties/search" \ -H "Content-Type: application/json" \ -d '{ "query": "string" }'{
"cursor": "string",
"data": [
{
"activeLoanCount": 0,
"activeLoanCountKnown": true,
"address": "string",
"apn": "string",
"avm": {
"confidence": 0,
"high": 0,
"low": 0,
"mid": 0
},
"baths": 0,
"beds": 0,
"borrowerStatus": "string",
"city": "string",
"coordinates": {
"lat": 0,
"lon": 0
},
"equity": {
"pct": 0,
"value": 0
},
"fips": "string",
"foreclosure": {
"matched": true,
"scheduledAuctionDate": "string",
"status": "string"
},
"id": "string",
"loanCount": 0,
"loanType": "string",
"loans": [
{
"amount": 0,
"borrowerStatus": "string",
"brokerNmls": "string",
"companyNmls": "string",
"currentBalance": 0,
"interestRate": 0,
"lenderId": "string",
"lenderName": "string",
"lenderNmls": "string",
"loanType": "string",
"ltv": 0,
"originatorName": "string",
"originatorNmls": "string",
"recordedInterestRate": 0,
"recordingDate": "string",
"transactionType": "string"
}
],
"lotSquareFeet": 0,
"mmPropertyId": "string",
"mortgageBalance": 0,
"ownerFirstName": "string",
"ownerLastName": "string",
"ownerName": "string",
"partialBaths": 0,
"preSaleLoanCount": 0,
"recordedInterestRate": 0,
"saleCount": 0,
"salePropensity": {
"category": "string",
"score": 0
},
"sales": {
"count": 0,
"firstDate": "string",
"lastDate": "string",
"lastPrice": 0
},
"scoredAt": "string",
"squareFeet": 0,
"state": "string",
"stories": 0,
"yearBuilt": 0,
"zip": "string"
}
],
"lenderNormalizations": [
{
"aliasCount": 0,
"displayName": "string",
"id": "string",
"matchedVia": "id",
"original": "string",
"totalDocuments": 0
}
],
"total": 0
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string",
"limit": 0,
"size": 0
}Property count and average AVM POST
Previous Page
Submit a bulk-delivery job for properties POST
Queues an ECS task that dumps every matching properties document to S3 in the requested format. Returns 202 with a jobId; poll `GET /v1/properties/bulk-delivery/{jobId}` for status + the signed download URL. **Row limit.** Deliveries of up to 1,000 rows need no entitlement. Above that, the org's `bulk-delivery.properties` entitlement is required and its scope (row ceiling, row filters, allowed fields) governs the delivery; without it the request is rejected with 403 `entitlement_missing`. Pass `limit` at or below the ceiling to deliver a capped subset of a broader query. Email support@modelmatch.com to request a limit increase. Delivery is billed at 1 credit per 100 rows regardless of entitlement.