Pull responses, scores and follow-up tickets through our REST API, and ask Claude or another AI assistant about your feedback through our MCP server.
Our REST API has two parts: the sending part (/integrations/v1), where your systems send surveys out with an integration API key, and the reading part (/public/v1), where they read surveys, responses, customers and follow-up tickets with a public API key. Your developers build the integration on our documented API, and we can help with the setup.
No developer time? We import your customers from an Excel or CSV export, and you can export responses to Excel.
Pull every new response across surveys from one endpoint. Each response carries the customer, the contact, NPS, satisfaction and your own ids, so it lands on the right account. The list follows when the customer answered, so a late reply is never missed.
GET /public/v1/responsesYour ERP, webshop or helpdesk sends an event, such as a delivered order. SurveyGauge creates or updates the business and the contact and invites them to the survey the event is mapped to.
POST /integrations/v1/survey/inviteEvery response says whether SurveyGauge flags it for follow-up. Open a task in your CRM, or read the follow-up tickets your team has opened, with status, owner, due date and outcome.
GET /public/v1/ticketsRead one business's responses across every survey and see whether the account is improving or declining. Find the business by name or by your own customer id.
GET /public/v1/customers/{id}/responsesYou create an integration API key for each system and map each event to a survey that is sent through the API. From then on the system just sends the event, and SurveyGauge takes care of the rest.

Call /responses with the time of your last sync. You get every response that has come in since, with the customer, the contact, the scores and the follow-up flag, up to 100 at a time. If there are more, fetch the next page with pagination.next_cursor.
To read the customer's written comment, fetch the response with GET /responses/{id}. It returns the same object plus every answer, including comments.
Request
curl -sS -G "https://api.app.surveygauge.com/public/v1/responses" \
--data-urlencode "finished_from=2026-10-01T00:00:00Z" \
-d limit=100 \
-H "x-api-key: YOUR_PUBLIC_API_KEY"Result, trimmed to one response and its key fields
{
"data": [
{
"id": "3f6c2a9e-7b41-4d8e-9a0c-5e2b1d7f4c88",
"survey_id": 412,
"customer": {
"id": 900,
"name": "Nordika A/S",
"external_id": "CRM-10442"
},
"respondent": {
"email": "mette.holm@nordika.example",
"first_name": "Mette",
"last_name": "Holm",
"job_title": "Indkøbschef"
},
"scores": {
"nps": 4,
"nps_category": "Detractor",
"satisfaction": 2
},
"follow_up": {
"required": true
},
"external_reference": "WO-2026-10318",
"finished_at": "2026-10-06T08:41:12.000Z"
}
],
"pagination": { "next_cursor": null }
}Every endpoint in the reading part is a GET and only reads your own company's data.
GET /surveysPublished surveys with journey stageGET /surveys/{id}One survey's detailsGET /surveys/{id}/questionsThe survey's questions and conditionsGET /surveys/{id}/responsesOne survey's responses, including pending invitationsGET /responsesEvery submitted response across surveysGET /responses/{id}One response with every answer and commentGET /customersBusinesses, searchable by name or your idGET /customers/{id}/responsesOne business's responses over timeGET /ticketsFollow-up tickets with status and outcomeGET /journey-stagesYour customer journey stagesGET /pingCheck that a key worksOur MCP server (Model Context Protocol) lets an AI assistant look up your surveys, responses, customers and follow-up tickets, so you can ask in plain language. It uses the same public API key as the reading part of the REST API.
Question: Which customers gave us a low score this week, and what did they write?
Looks up withlist_responsesget_response_detail
One customer gave a low score this week:
Mette Holm, Head of Purchasing at Nordika A/S
NPS 4 (Detractor), 6 October
“The delivery was two days late, and nobody let us know.”
SurveyGauge has flagged the response for follow-up.
An administrator creates the key under Data setup > Integrations > Public API keys. It is shown only once, so store it somewhere safe.
The server URL is https://api.app.surveygauge.com/mcp/v1, and the key goes in the x-api-key header. Pick your client:
Open Settings, then Developer, then Edit Config, and add the entry below. Node.js must be installed on the computer.
{
"mcpServers": {
"surveygauge": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.app.surveygauge.com/mcp/v1",
"--header",
"x-api-key:${SURVEYGAUGE_API_KEY}"
],
"env": {
"SURVEYGAUGE_API_KEY": "YOUR_PUBLIC_API_KEY"
}
}
}
}Replace YOUR_PUBLIC_API_KEY with your own key.
Run the command in a terminal.
claude mcp add --transport http surveygauge \
https://api.app.surveygauge.com/mcp/v1 \
--header "x-api-key: YOUR_PUBLIC_API_KEY"Replace YOUR_PUBLIC_API_KEY with your own key.
Add the server to ~/.cursor/mcp.json, or to .cursor/mcp.json in a project.
{
"mcpServers": {
"surveygauge": {
"url": "https://api.app.surveygauge.com/mcp/v1",
"headers": {
"x-api-key": "YOUR_PUBLIC_API_KEY"
}
}
}
}Replace YOUR_PUBLIC_API_KEY with your own key.
Add the server to .vscode/mcp.json.
{
"servers": {
"surveygauge": {
"type": "http",
"url": "https://api.app.surveygauge.com/mcp/v1",
"headers": {
"x-api-key": "YOUR_PUBLIC_API_KEY"
}
}
}
}Replace YOUR_PUBLIC_API_KEY with your own key.
A client that can connect to an MCP server over HTTP and send a custom header uses the server URL and header below.
POST https://api.app.surveygauge.com/mcp/v1
x-api-key: YOUR_PUBLIC_API_KEY
Content-Type: application/jsonReplace YOUR_PUBLIC_API_KEY with your own key.
Restart the assistant so it picks up the new server, then ask your first question.
Eight tools, all of them read-only.
list_surveysYour surveys, with their journey stageget_surveyOne survey's details and number of questionslist_questionsThe questions in a surveylist_responsesResponses with scores, customer and follow-up flag, newest firstget_response_detailOne response with every answer, including written commentslist_customersFind a business by name or by your own idlist_customer_responsesOne business's responses across every surveylist_ticketsFollow-up tickets with status, owner and outcomeEvery tool is read-only. The assistant cannot change, send or delete anything, and it only ever sees your own company's data.
SurveyGauge hosts your data in the EU. What the assistant looks up, including names, email addresses and comments, goes on to the AI vendor you chose and is handled under your agreement with them. You can shut off access at any time by deleting the key.
Clients that can only sign in through OAuth, such as custom connectors in Claude.ai or ChatGPT, cannot connect, as the server uses API keys.
Only users with the Integration Management permission can create keys. Every administrator has it by default, and a permission group can take it away.
Give each public API key a name. The key is shown only once, the list shows when it was last used, and a deleted key stops working immediately.
A public API key gives read access to all of your company's data, including written comments. Treat it like a password, and create one key per system so you can shut off one at a time.
A public API key reads data through the reading part of the REST API and through the MCP server. An integration API key sends surveys out through the sending part. Neither works in place of the other.
The API, the MCP server and the database run on AWS in Frankfurt (eu-central-1).
Each public key allows up to 10,000 requests a day and 50 a second, shared between the reading part of the REST API and the MCP server. Above the limit the API answers 429.
Through our API: your CRM creates contacts and sends surveys through the sending part and reads responses and scores back through the reading part. There is no ready-made connector that syncs data, so we help with the setup, and technical support is included in every plan.
Poll /responses about every 15 minutes with finished_from set to your last sync. That is about 96 requests a day, well under the limit of 10,000. There are no webhooks, so your system fetches new responses itself. Low scores can also email an alert to the recipient you choose.
With the tool's own HTTP action: if it can send a request with a header, it can read data from the reading part with a public API key and send surveys through the sending part with an integration API key. There is no ready-made SurveyGauge app in those tools.
Calculate it from the responses: every response carries the person's NPS from 0 to 10 and the category Promoter, Passive or Detractor. An AI assistant connected through MCP can also work it out from the responses. There is no endpoint with an overall NPS.
Clients that can send an API key in a header, such as Claude Desktop, Claude Code, Cursor and VS Code. Custom connectors in Claude.ai and ChatGPT only sign in through OAuth, so they cannot connect.
The documentation is at app.surveygauge.com/docs/api and needs no login. The specification can also be downloaded as OpenAPI 3.0 from https://api.app.surveygauge.com/public/v1/openapi.yaml, and your developers can generate a client from it.
Book a no-obligation 30 min. meeting with one of our advisors. You'll get concrete input on your situation and an honest assessment.