Search companies with filters
Search and list individual mortgage companies with filters — one row per company. Filter by name, NMLS ID, location (state, county, city, zip), and production metrics (loan volume, units, market share) by period and geography, with sorting and cursor pagination. This is the per-company record search: use it to find specific mortgage lenders/companies or build a filtered company list. (For a single company by ID use the company detail endpoint.) If you only need how many companies match and not the records themselves, send the same request body to countCompanies.
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/companies" \ -H "Content-Type: application/json" \ -d '{}'{
"cursor": "string",
"data": [
{
"avgLoanAmount": 0,
"city": "string",
"companyType": "string",
"id": "string",
"loCount": 0,
"name": "string",
"nmlsId": "string",
"rosterJoined": 0,
"rosterLeft": 0,
"scopedUnits": 0,
"scopedVolume": 0,
"state": "string",
"teamSize": 0,
"units": 0,
"volume": 0,
"zip": "string"
}
],
"locationNormalizations": [
{
"candidates": [
"string"
],
"confidence": "normalized",
"displayName": "Saint Louis, MO",
"field": "city",
"id": "city_mo_saint-louis",
"normalized": "Saint Louis",
"original": "St. Louis",
"variants": [
"string"
]
}
],
"total": 0
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string"
}{
"error": "string",
"limit": 0,
"size": 0
}Get company by NMLS ID GET
Previous Page
Submit a bulk-delivery job for companies POST
Queues an ECS task that dumps every matching companies document to S3 in the requested format. Returns 202 with a jobId; poll `GET /v1/companies/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.companies` 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.