1234{ "page": 1, "per_page": 25 }
| Parameter | Type | Default | Min | Max | Description |
page | integer | 1 | 1 | — | The page number to retrieve |
per_page | integer | 25 | 1 | 250 | Number of results per page |
pagination object alongside the data array:1234567891011{ "data": [ ... ], "pagination": { "page": 1, "per_page": 25, "total_results": 1847, "total_pages": 74, "has_next_page": true, "has_previous_page": false } }
| Field | Type | Description |
page | integer | Current page number |
per_page | integer | Results per page (as requested) |
total_results | integer | Total number of matching records |
total_pages | integer | Total number of pages |
has_next_page | boolean | true if there are more pages after this one |
has_previous_page | boolean | true if there are pages before this one |
sort array:12345{ "sort": [ { "field_id": "estimated_value", "direction": "desc" } ] }
| Key | Type | Required | Description |
field_id | string | Yes | The field to sort by |
direction | string | Yes | "asc" (ascending) or "desc" (descending) |
123456{ "sort": [ { "field_id": "state", "direction": "asc" }, { "field_id": "estimated_value", "direction": "desc" } ] }
sort parameter, the server applies a default sort order. The default varies by endpoint but generally returns the most relevant results first.validation_error.has_next_page is false.12345678910111213141516171819# Page 1 curl -X POST "https://api.v2.dealmachine.com/v1/properties/search" \ -H "Authorization: Bearer dm_sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "filters": [...], "page": 1, "per_page": 250 }' # Page 2 curl -X POST "https://api.v2.dealmachine.com/v1/properties/search" \ -H "Authorization: Bearer dm_sk_live_xxx" \ -H "Content-Type: application/json" \ -d '{ "filters": [...], "page": 2, "per_page": 250 }'
per_page values return faster. Use per_page: 25 for interactive UIs and per_page: 250 for batch processing.fields parameter to request only the fields you need. Fewer fields means smaller payloads and faster responses.