POST to /crm/v3/objects/<objectType>/search with a filterGroups array where each group contains a filters array
Filters within one group are AND-ed together; multiple groups in filterGroups are OR-ed, giving AND-within-OR semantics
Each filter specifies propertyName, operator (EQ, NEQ, GT, LT, BETWEEN, HAS_PROPERTY, etc.), and value or values
Include properties, limit, and after fields in the payload to control which fields are returned and to paginate
Iterate using the paging.next.after cursor returned in the response until no next cursor is present
For large exports prefer the batch read endpoint rather than search to avoid hitting the search result cap
Known gotchas
The Search API caps total results at 10,000 records per query regardless of pagination; to export more records use the Batch Read or a HubSpot export instead
Only indexed properties support efficient search; filtering on un-indexed custom properties with HAS_PROPERTY or contains-style operators can be slow or return unexpected results
Rate limits for the Search API are lower than for standard CRM endpoints; sustained high-frequency search calls quickly exhaust the per-second burst allowance
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp