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
SDKs
APIs
Method: get
Description: Retrieve a list of all surveys..
Endpoint: /v3/surveys
Parameters: page_size, survey_id, survey_title
Method: get
Description: Retrieve a list of pages in a survey..
Endpoint: /v3/surveys/{survey_id}/pages
Parameters: page_size, page_id
Method: get
Description: Retrieve the metadata.
Endpoint: questions
Parameters: and response counts for a single survey.
Method: get
Description: Retrieve a list of pages in a survey..
Endpoint: /v3/surveys/{survey_id}/pages
Parameters: page_size, page_id
Method: post
Description: Create a new response for a survey..
Endpoint: /v3/surveys/{survey_id}/responses
Parameters: body
Method: put
Description: Update an existing response to a survey..
Endpoint: /v3/surveys/{survey_id}/responses/{response_id}
Parameters: body
Method: get
Description: Retrieve list of responses for a survey..
Endpoint: /v3/surveys/{survey_id}/responses
Parameters: page_size, response_id, respondent_id
Method: get
Description: Retrieve a specific response to a survey..
Endpoint: /v3/surveys/{survey_id}/responses/{response_id}
Parameters: NA
Method: post
Description: Create a survey..
Endpoint: /v3/surveys
Parameters: body
Method: delete
Description: Delete a survey..
Endpoint: /v3/surveys/{survey_id}
Parameters: NA
Method: put
Description: Update a survey..
Endpoint: /v3/surveys/{survey_id}
Parameters: body
Method: post
Description: Create a new collector..
Endpoint: /v3/collectors
Parameters: body
Method: get
Description: Retrieve list of collectors..
Endpoint: /v3/collectors
Parameters: page_size, collector_id, collector_title
Method: get
Description: Retrieve a specific collector..
Endpoint: /v3/collectors/{collector_id}
Parameters: NA
Method: delete
Description: Delete a collector..
Endpoint: /v3/collectors/{collector_id}
Parameters: NA
Method: delete
Description: Delete a specific response to a survey..
Endpoint: /v3/surveys/{survey_id}/responses/{response_id}
Parameters: NA
Method: put
Description: Update an existing page in a survey..
Endpoint: /v3/surveys/{survey_id}/pages/{page_id}
Parameters: body
Method: post
Description: Create a new page in a survey..
Endpoint: /v3/surveys/{survey_id}/pages
Parameters: body
Method: get
Description: Retrieve a list of questions in a survey..
Endpoint: /v3/surveys/{survey_id}/questions
Parameters: page_size, question_id
Method: get
Description: Retrieve a list of questions in a survey..
Endpoint: /v3/surveys/{survey_id}/questions
Parameters: page_size, question_id
Method: get
Description: Retrieve a specific question in a survey..
Endpoint: /v3/surveys/{survey_id}/questions/{question_id}
Parameters: NA
Method: put
Description: Update an existing question in a survey..
Endpoint: /v3/surveys/{survey_id}/questions/{question_id}
Parameters: body
Method: post
Description: Create a new question in a survey..
Endpoint: /v3/surveys/{survey_id}/questions
Parameters: body
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
Method: post
Description: Create a new choice for a question..
Endpoint: /v3/surveys/{survey_id}/questions/{question_id}/choices
Parameters: body
Method: get
Description: Retrieve list of responses for a survey..
Endpoint: /v3/surveys/{survey_id}/responses
Parameters: page_size, response_id, respondent_id
Method: put
Description: Update an existing page in a survey..
Endpoint: /v3/surveys/{survey_id}/pages/{page_id}
Parameters: body
Method: post
Description: Create a new page in a survey..
Endpoint: /v3/surveys/{survey_id}/pages
Parameters: body
Method: post
Description: Create a new survey results..
Endpoint: /v3/surveys/{survey_id}/results
Parameters: body
Method: post
Description: Create a new survey import..
Endpoint: /v3/surveys/{survey_id}/import
Parameters: body
Method: get
Description: Retrieve list of survey results..
Endpoint: /v3/surveys/{survey_id}/results
Parameters: page_size, result_id
Method: get
Description: Retrieve a specific survey result..
Endpoint: /v3/surveys/{survey_id}/results/{result_id}
Parameters: NA
Method: post
Description: Create a new survey activation..
Endpoint: /v3/surveys/{survey_id}/activate
Parameters: NA
Method: post
Description: Create a new survey deactivation..
Endpoint: /v3/surveys/{survey_id}/deactivate
Parameters: NA
Method: get
Description: Retrieve the web link for a survey..
Endpoint: /v3/surveys/{survey_id}/weblink
Parameters: NA
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.