Confirm the account has a plan that supports the NPS feature; access requires an eligible Zendesk Suite or Support plan.
Authenticate with email/token or OAuth; use the same credentials as other Zendesk API calls.
Send a GET to /api/v2/nps/incremental/recipients.json with a start_time Unix timestamp to retrieve NPS recipients and their survey states incrementally.
Retrieve the submitted NPS responses (score and verbatim comment) via the appropriate NPS Responses incremental export endpoint, filtering by start_time for incremental runs.
Combine recipient metadata (contact info, send time) with response data (score, comment, timestamp) by joining on the recipient ID.
Store the end_time value from each response as the start_time for the next incremental pull to avoid re-fetching already-processed records.
Known gotchas
The NPS API uses a separate endpoint namespace from the core Support API and has distinct versioning; do not assume core API pagination patterns (e.g., cursor-based) apply here.
NPS data in Zendesk is separate from CSAT satisfaction ratings — the /api/v2/satisfaction_ratings endpoint does not return NPS data.
Responses are only present for recipients who actually submitted a rating; recipients who received but did not respond to the survey appear in the recipients endpoint without a corresponding response record.
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