curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/0-162/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"after": "<string>",
"filterGroups": [
{
"filters": [
{
"propertyName": "<string>",
"highValue": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
]
}
],
"limit": 123,
"properties": [
"<string>"
],
"sorts": [
"<string>"
],
"query": "<string>"
}
'import requests
url = "https://api.hubapi.com/crm/objects/2026-09/0-162/search"
payload = {
"after": "<string>",
"filterGroups": [{ "filters": [
{
"propertyName": "<string>",
"highValue": "<string>",
"value": "<string>",
"values": ["<string>"]
}
] }],
"limit": 123,
"properties": ["<string>"],
"sorts": ["<string>"],
"query": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
after: '<string>',
filterGroups: [
{
filters: [
{
propertyName: '<string>',
highValue: '<string>',
value: '<string>',
values: ['<string>']
}
]
}
],
limit: 123,
properties: ['<string>'],
sorts: ['<string>'],
query: '<string>'
})
};
fetch('https://api.hubapi.com/crm/objects/2026-09/0-162/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/objects/2026-09/0-162/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'after' => '<string>',
'filterGroups' => [
[
'filters' => [
[
'propertyName' => '<string>',
'highValue' => '<string>',
'value' => '<string>',
'values' => [
'<string>'
]
]
]
]
],
'limit' => 123,
'properties' => [
'<string>'
],
'sorts' => [
'<string>'
],
'query' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/objects/2026-09/0-162/search"
payload := strings.NewReader("{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm/objects/2026-09/0-162/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/objects/2026-09/0-162/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"total": 123,
"paging": {
"next": {
"after": "<string>",
"link": "<string>"
},
"prev": {
"before": "<string>",
"link": "<string>"
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Search across objects
Search CRM objects of a specified type using various filters and criteria. This endpoint allows you to query objects based on their properties and return results that match the specified search criteria. It is useful for retrieving specific subsets of data from your CRM system.
curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/0-162/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"after": "<string>",
"filterGroups": [
{
"filters": [
{
"propertyName": "<string>",
"highValue": "<string>",
"value": "<string>",
"values": [
"<string>"
]
}
]
}
],
"limit": 123,
"properties": [
"<string>"
],
"sorts": [
"<string>"
],
"query": "<string>"
}
'import requests
url = "https://api.hubapi.com/crm/objects/2026-09/0-162/search"
payload = {
"after": "<string>",
"filterGroups": [{ "filters": [
{
"propertyName": "<string>",
"highValue": "<string>",
"value": "<string>",
"values": ["<string>"]
}
] }],
"limit": 123,
"properties": ["<string>"],
"sorts": ["<string>"],
"query": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
after: '<string>',
filterGroups: [
{
filters: [
{
propertyName: '<string>',
highValue: '<string>',
value: '<string>',
values: ['<string>']
}
]
}
],
limit: 123,
properties: ['<string>'],
sorts: ['<string>'],
query: '<string>'
})
};
fetch('https://api.hubapi.com/crm/objects/2026-09/0-162/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/objects/2026-09/0-162/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'after' => '<string>',
'filterGroups' => [
[
'filters' => [
[
'propertyName' => '<string>',
'highValue' => '<string>',
'value' => '<string>',
'values' => [
'<string>'
]
]
]
]
],
'limit' => 123,
'properties' => [
'<string>'
],
'sorts' => [
'<string>'
],
'query' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm/objects/2026-09/0-162/search"
payload := strings.NewReader("{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm/objects/2026-09/0-162/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/objects/2026-09/0-162/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"after\": \"<string>\",\n \"filterGroups\": [\n {\n \"filters\": [\n {\n \"propertyName\": \"<string>\",\n \"highValue\": \"<string>\",\n \"value\": \"<string>\",\n \"values\": [\n \"<string>\"\n ]\n }\n ]\n }\n ],\n \"limit\": 123,\n \"properties\": [\n \"<string>\"\n ],\n \"sorts\": [\n \"<string>\"\n ],\n \"query\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"total": 123,
"paging": {
"next": {
"after": "<string>",
"link": "<string>"
},
"prev": {
"before": "<string>",
"link": "<string>"
}
}
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
Describes a search request
A string representing the paging cursor token to use for fetching the next set of results.
An array of filter groups to apply to the search. Each filter group contains a set of filters that are combined using a logical AND operation.
Show child attributes
Show child attributes
An integer specifying the maximum number of results to return.
An array of strings specifying which properties of the objects should be included in the search results.
An array of strings specifying the sorting criteria for the search results. Each string represents a property to sort by, optionally prefixed with a '-' to indicate descending order.
A string representing a search query to match against object properties.
Response
successful operation
Represents a list of simple objects returned from an API request, along with the total count of objects available.
An array of SimplePublicObject items, each representing an individual object in the collection.
Show child attributes
Show child attributes
The number of available results
Represents the pagination information for navigating through a list of results in the API. It provides details on how to access the previous or next set of results.
Show child attributes
Show child attributes
Was this page helpful?