curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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 for tasks
Execute a search for tasks based on the provided criteria, including filters, properties, and sorting options. This allows for retrieving tasks that match specific conditions or property values.
curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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/tasks/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, used to retrieve the next set of results in a paginated response.
An array of filter groups used to define the search criteria. Each filter group contains multiple filters that are applied together.
Show child attributes
Show child attributes
An integer specifying the maximum number of results to return.
An array of strings indicating the specific properties of the objects to be returned in the search results.
An array of strings specifying the sorting order of the search results.
A string representing the search query to be matched against the objects.
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 a CRM object with its properties.
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?