GET /api/v2/search?query={url-encoded query} with Zendesk search syntax (e.g., 'type:ticket status:open created>2024-01-01'); the response includes 'results', 'count', 'next_page', and 'previous_page'.
For exports exceeding 1,000 results, use the Search Export API: POST /api/v2/search/export?query={query}&filter[type]=ticket to obtain a cursor-based paginated response.
The export response contains 'results' and 'meta' with 'has_more' and 'after_cursor'; pass the cursor as the 'page[after]' parameter on subsequent requests.
Continue paginating until 'meta.has_more' is false; do not rely on a fixed count — the cursor tracks position server-side.
Rate limits apply per account; the Search API returns 429 with a Retry-After header when limits are exceeded — implement backoff.
For scheduled large exports, prefer the Zendesk Incremental API (GET /api/v2/incremental/tickets?start_time={unix}) which is designed for bulk, time-window based export and is more efficient.
Known gotchas
The standard search API caps results at 1,000 regardless of 'count'; the Search Export API must be used for full result sets beyond that limit.
Search index updates are near-real-time but not instantaneous — a ticket created seconds ago may not appear in search results immediately; plan for a short propagation delay in time-sensitive workflows.
Complex search queries with many OR clauses can time out on large Zendesk instances; simplify queries and run multiple narrower searches if you encounter 500 errors.
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