HubSpot · Schema
SearchRequest
A search request for CRM objects. Filter groups are combined with OR logic; filters within a group are combined with AND logic.
AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSales
Properties
| Name | Type | Description |
|---|---|---|
| filterGroups | array | An array of filter groups. Records matching any filter group will be included in results (OR logic between groups). Filters within a group are all required (AND logic within groups). |
| sorts | array | An array of sort criteria to order the results. |
| query | string | A full-text search query string. When provided, returns records where any searchable property contains the query term. |
| properties | array | An array of property names to include in the response for each record. If not specified, a default set of properties is returned. |
| limit | integer | The maximum number of results to return. Maximum value is 200. |
| after | string | The cursor token for pagination. Use the value from the previous response's paging.next.after to get the next page of results. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/hubspot/refs/heads/main/json-schema/crm-search-api-search-request-schema.json",
"title": "SearchRequest",
"description": "A search request for CRM objects. Filter groups are combined with OR logic; filters within a group are combined with AND logic.",
"type": "object",
"properties": {
"filterGroups": {
"type": "array",
"description": "An array of filter groups. Records matching any filter group will be included in results (OR logic between groups). Filters within a group are all required (AND logic within groups).",
"items": {
"type": "object",
"description": "A group of filter conditions combined with AND logic. Use multiple filter groups to create OR conditions between groups.",
"properties": {
"filters": {
"type": "array",
"description": "An array of filters, all of which must match (AND logic).",
"items": {
"$ref": "#/components/schemas/Filter"
},
"example": [
{
"propertyName": "Example Record",
"operator": "EQ",
"value": "example-value",
"highValue": "example-value",
"values": [
{}
]
}
]
}
}
},
"example": [
{
"filters": [
{}
]
}
]
},
"sorts": {
"type": "array",
"description": "An array of sort criteria to order the results.",
"items": {
"type": "object",
"description": "A sort criterion for ordering search results.",
"required": [
"propertyName"
],
"properties": {
"propertyName": {
"type": "string",
"description": "The name of the CRM property to sort by.",
"example": "Example Record"
},
"direction": {
"type": "string",
"description": "The sort direction.",
"enum": [
"ASCENDING",
"DESCENDING"
],
"default": "ASCENDING",
"example": "ASCENDING"
}
}
},
"example": [
{
"propertyName": "Example Record",
"direction": "ASCENDING"
}
]
},
"query": {
"type": "string",
"description": "A full-text search query string. When provided, returns records where any searchable property contains the query term.",
"example": "example-value"
},
"properties": {
"type": "array",
"description": "An array of property names to include in the response for each record. If not specified, a default set of properties is returned.",
"items": {
"type": "string"
},
"example": [
"example-value"
]
},
"limit": {
"type": "integer",
"description": "The maximum number of results to return. Maximum value is 200.",
"default": 10,
"maximum": 200,
"example": 10
},
"after": {
"type": "string",
"description": "The cursor token for pagination. Use the value from the previous response's paging.next.after to get the next page of results.",
"example": "example-value"
}
}
}