SurveyMonkey API

By Abhishek Kumar
5 min read
Use SurveyMonkey to create, distribute, and analyze surveys. Leverage the SurveyMonkey API for seamless integration, real-time notifications, and data automation

Table of Contents

Use SurveyMonkey to drive your business forward by using our free online survey tool to capture the voices and opinions of the people who matter most to you.

API Overview

SurveyMonkey is a popular online survey platform that enables users to create, distribute, and analyze surveys. It offers a user-friendly interface, a wide range of question types, and advanced features such as skip logic and branching. SurveyMonkey allows users to collect data from various sources, including email, social media, and website embeds. The platform provides robust reporting tools that help users visualize and interpret their survey results. Additionally, SurveyMonkey integrates with other applications and services, making it a versatile tool for data collection and analysis.

The SurveyMonkey API offers a comprehensive set of REST APIs that allow developers to programmatically interact with the SurveyMonkey platform. The API documentation provides detailed information on endpoints, request and response formats, and code samples. Developers can use the API to create and manage surveys, collect responses, analyze data, and integrate SurveyMonkey with their own applications. Additionally, SurveyMonkey supports webhooks, which enable real-time notifications of survey events, such as new responses or survey completions. The API also enforces rate limits to prevent excessive usage and ensure the stability of the platform. By leveraging the SurveyMonkey API, developers can automate tasks, extend the functionality of the platform, and seamlessly integrate survey data into their workflows.

API Request Limits

Free Plan

10,000 requests per day

Standard Plan

50,000 requests per day

Professional Plan

100,000 requests per day

Enterprise Plan

Custom rate limits

APIs

GET Surveys

Method: get

Description: Retrieve a list of all surveys..

Endpoint: /v3/surveys

Parameters: page_size, survey_id, survey_title

GET Pages

Method: get

Description: Retrieve a list of pages in a survey..

Endpoint: /v3/surveys/{survey_id}/pages

Parameters: page_size, page_id

GET Survey

Method: get

Description: Retrieve the metadata.

Endpoint: questions

Parameters: and response counts for a single survey.

GET Pages

Method: get

Description: Retrieve a list of pages in a survey..

Endpoint: /v3/surveys/{survey_id}/pages

Parameters: page_size, page_id

POST Responses

Method: post

Description: Create a new response for a survey..

Endpoint: /v3/surveys/{survey_id}/responses

Parameters: body

PUT Response

Method: put

Description: Update an existing response to a survey..

Endpoint: /v3/surveys/{survey_id}/responses/{response_id}

Parameters: body

GET Responses

Method: get

Description: Retrieve list of responses for a survey..

Endpoint: /v3/surveys/{survey_id}/responses

Parameters: page_size, response_id, respondent_id

GET Response

Method: get

Description: Retrieve a specific response to a survey..

Endpoint: /v3/surveys/{survey_id}/responses/{response_id}

Parameters: NA

POST Surveys

Method: post

Description: Create a survey..

Endpoint: /v3/surveys

Parameters: body

DELETE Surveys

Method: delete

Description: Delete a survey..

Endpoint: /v3/surveys/{survey_id}

Parameters: NA

PUT Surveys

Method: put

Description: Update a survey..

Endpoint: /v3/surveys/{survey_id}

Parameters: body

POST Collector

Method: post

Description: Create a new collector..

Endpoint: /v3/collectors

Parameters: body

GET Collectors

Method: get

Description: Retrieve list of collectors..

Endpoint: /v3/collectors

Parameters: page_size, collector_id, collector_title

GET Collector

Method: get

Description: Retrieve a specific collector..

Endpoint: /v3/collectors/{collector_id}

Parameters: NA

DELETE Collector

Method: delete

Description: Delete a collector..

Endpoint: /v3/collectors/{collector_id}

Parameters: NA

DELETE Response

Method: delete

Description: Delete a specific response to a survey..

Endpoint: /v3/surveys/{survey_id}/responses/{response_id}

Parameters: NA

PUT Pages

Method: put

Description: Update an existing page in a survey..

Endpoint: /v3/surveys/{survey_id}/pages/{page_id}

Parameters: body

POST Pages

Method: post

Description: Create a new page in a survey..

Endpoint: /v3/surveys/{survey_id}/pages

Parameters: body

GET Questions

Method: get

Description: Retrieve a list of questions in a survey..

Endpoint: /v3/surveys/{survey_id}/questions

Parameters: page_size, question_id

GET Questions

Method: get

Description: Retrieve a list of questions in a survey..

Endpoint: /v3/surveys/{survey_id}/questions

Parameters: page_size, question_id

GET Question

Method: get

Description: Retrieve a specific question in a survey..

Endpoint: /v3/surveys/{survey_id}/questions/{question_id}

Parameters: NA

PUT Question

Method: put

Description: Update an existing question in a survey..

Endpoint: /v3/surveys/{survey_id}/questions/{question_id}

Parameters: body

POST Questions

Method: post

Description: Create a new question in a survey..

Endpoint: /v3/surveys/{survey_id}/questions

Parameters: body

GET Question Choices

Method: get

Description: Retrieve a list of choices for a question..

Endpoint: /v3/surveys/{survey_id}/questions/{question_id}/choices

Parameters: page_size, choice_id

POST Question Choices

Method: post

Description: Create a new choice for a question..

Endpoint: /v3/surveys/{survey_id}/questions/{question_id}/choices

Parameters: body

GET Responses

Method: get

Description: Retrieve list of responses for a survey..

Endpoint: /v3/surveys/{survey_id}/responses

Parameters: page_size, response_id, respondent_id

PUT Pages

Method: put

Description: Update an existing page in a survey..

Endpoint: /v3/surveys/{survey_id}/pages/{page_id}

Parameters: body

POST Pages

Method: post

Description: Create a new page in a survey..

Endpoint: /v3/surveys/{survey_id}/pages

Parameters: body

POST Survey Results

Method: post

Description: Create a new survey results..

Endpoint: /v3/surveys/{survey_id}/results

Parameters: body

POST Survey Import

Method: post

Description: Create a new survey import..

Endpoint: /v3/surveys/{survey_id}/import

Parameters: body

GET Survey Results

Method: get

Description: Retrieve list of survey results..

Endpoint: /v3/surveys/{survey_id}/results

Parameters: page_size, result_id

GET Survey Result

Method: get

Description: Retrieve a specific survey result..

Endpoint: /v3/surveys/{survey_id}/results/{result_id}

Parameters: NA

POST Survey Activation

Method: post

Description: Create a new survey activation..

Endpoint: /v3/surveys/{survey_id}/activate

Parameters: NA

POST Survey Deactivation

Method: post

Description: Create a new survey deactivation..

Endpoint: /v3/surveys/{survey_id}/deactivate

Parameters: NA

GET Survey Web Link

Method: get

Description: Retrieve the web link for a survey..

Endpoint: /v3/surveys/{survey_id}/weblink

Parameters: NA

GET Response Summary

Method: get

Description: Retrieve a summary for response..

Endpoint: /v3/surveys/{survey_id}/responses/{response_id}/summary

Parameters: NA

FAQ

How do I get started using the SurveyMonkey APIs?

Create a developer account on the SurveyMonkey developer portal and obtain a unique API key.

What is the API rate limit for SurveyMonkey?

The API rate limit varies depending on the endpoint and subscription plan. Check the API documentation for specific limits.

How do I authenticate requests to the SurveyMonkey API?

Authenticate using OAuth 2.0 with your API key and a valid access token.

Does SurveyMonkey have a sandbox environment for testing?

Yes, SurveyMonkey provides a sandbox account where you can test API calls without affecting production data.

How do I handle errors when using the SurveyMonkey APIs?

API responses include an error code and message. Check the API documentation for specific error codes and how to handle them.

Last Update: September 05, 2024