Back

SurveyMonkey API Essential Guide

Aug 2, 20246 minute read

What type of API does SurveyMonkey provide?

SurveyMonkey provides a REST API.

API Type

SurveyMonkey uses a REST API.

Developer Portals

Additional Features

SurveyMonkey offers a Mobile SDK for integrating surveys into iOS and Android apps.

Does the SurveyMonkey API have webhooks?

Availability of Webhooks

Yes, the official SurveyMonkey API has webhooks.

Event Types

The SurveyMonkey API allows you to subscribe to the following event type:

  • response_completed: This event is triggered when a survey response is completed.

Key Points to Consider

  1. When registering a webhook, you need to provide the following information:

    • name: A name for your webhook
    • event_type: The type of event you want to subscribe to (e.g., "response_completed")
    • object_type: The type of object the event is related to (e.g., "survey")
    • object_ids: An array of survey IDs you want to monitor
    • subscription_url: The URL where SurveyMonkey will send the webhook notifications
  2. The subscription_url you provide must be accessible and return a successful status code (2xx) when pinged by SurveyMonkey.

  3. SurveyMonkey verifies the subscription_url by sending a HEAD request to it before registering the webhook.

Best Practices

  1. Ensure your subscription_url is publicly accessible and can handle HEAD requests.

  2. For testing purposes, you can use services like RequestBin (https://requestb.in/) to generate a temporary URL that can receive webhook requests.

  3. Handle potential errors when registering webhooks, such as the "Bad Request" error.

  4. Make sure your server can process the webhook payloads sent by SurveyMonkey when events occur.

  5. Implement proper security measures to validate incoming webhook requests from SurveyMonkey.

For the most up-to-date and comprehensive list of available event types, consult the official SurveyMonkey API documentation.

Rate Limits and other limitations

Here are the key points about the API Rate Limits for the SurveyMonkey API:

Request Limits

  • 120 requests per minute
  • 500 requests per day (starting limit)

Key Points

  • The API limit is reset at 12:00 AM Greenwich Mean Time (GMT) every day

  • SurveyMonkey permits three violations of up to 150% within a 30-day window

  • They begin to enforce limits at 100% once an app exceeds its limits three times within 30 days

  • The rate limits are returned in the API response headers, including requests remaining and seconds until reset

Increasing Limits

  • Draft and Private apps start with the 120 calls/minute and 500 calls/day limits

  • Higher limits are available for purchase by contacting SurveyMonkey sales

  • Temporary increases can be requested through their help center

  • Requests for increased limits are reviewed within 5 business days

Other Considerations

  • The limits are per application, not per user

  • Public apps published in the App Directory can make up to 500,000 requests per day

  • There are also global response limits for database utilization, like a max page size of 1000 resources

  • SurveyMonkey recommends requesting higher rate limits if building an app that can be installed/authenticated by many users

In summary, the default limits are fairly restrictive, but SurveyMonkey offers options to increase them for apps that require higher throughput. The limits apply at the application level rather than per-user.

Latest API Version

Based on the search results provided, the most recent version of the SurveyMonkey API appears to be v3. Here are the key points:

  1. The current version of the SurveyMonkey API is v3.

  2. Authentication for the API has changed over time:

    • Before v3, developers could use an API Key and Client ID for authentication.
    • With v3, authentication now requires using an access token.
  3. For non-Platinum accounts, SurveyMonkey now provides an access token that is valid for 90 days when creating an app.

  4. To use the API, developers need to:

    • Create an app in the SurveyMonkey developer portal
    • Set an OAuth redirect URL (can be any URL)
    • Update the scopes for the app
    • Use the provided access token for authentication
  5. The API endpoint for v3 is https://api.surveymonkey.net/v3/.

  6. There are some limitations for non-Platinum accounts, including stricter API request limits and the need to create a new app every 90 days when the access token expires.

It's worth noting that while the search results don't provide a specific release date for v3, they indicate that changes to the authentication process were made in November (likely 2016 or later). To get the most up-to-date information on the SurveyMonkey API, it would be best to check the official SurveyMonkey developer documentation.

How to get a SurveyMonkey developer account and API Keys?

  1. Sign up for a SurveyMonkey account at www.surveymonkey.com.

  2. Access the Developer Portal:

  3. Create an app:

    • Provide basic information about your app
    • Agree to SurveyMonkey's terms of service
    • Specify the scopes (permissions) your app will need
  4. Obtain API credentials:

    • Client ID
    • Client Secret
    • Access Token
  5. Choose between public or private app:

    • Public apps: for ISVs providing integrations for joint customers
    • Private apps: for developers within your organization

API access may depend on your SurveyMonkey plan. The Enterprise plan typically includes the most comprehensive API access.

What can you do with the SurveyMonkey API?

Based on the search results provided, I don't have specific information about the data models that can be interacted with using the SurveyMonkey API. The search results focus more on SurveyMonkey's integrations and general capabilities rather than detailing the API data models.

However, based on my general knowledge of SurveyMonkey and typical survey platform APIs, here is a list of data models that are likely available through the SurveyMonkey API:

Surveys

  • Create, read, update, and delete surveys
  • Manage survey settings and properties
  • Access survey questions and answer options

Responses

  • Retrieve individual survey responses
  • Access response details and answer data
  • Analyze response trends and aggregated data

Collectors

  • Create and manage survey collectors (methods of distributing surveys)
  • Configure collector settings (e.g., email invitations, web links)
  • Track collector statistics

Contacts

  • Manage contact lists for survey distribution
  • Add, update, or remove contacts
  • Organize contacts into groups or segments

Users

  • Access user account information
  • Manage user permissions and roles
  • Retrieve user activity and survey history

Webhooks

  • Set up and manage webhooks for real-time notifications
  • Configure webhook events (e.g., new response received)

Teams

  • Manage team settings and permissions
  • Add or remove team members
  • Access team-level data and analytics

Questions and Pages

  • Create and modify survey questions
  • Organize questions into pages or sections
  • Set up question logic and branching

Templates

  • Access pre-built survey templates
  • Create and save custom templates
  • Apply templates to new surveys

Reports

  • Generate and customize survey reports
  • Access various data visualizations and charts
  • Export report data in different formats

It's important to note that the actual data models and capabilities may vary depending on the specific version of the SurveyMonkey API and the access level granted to your account. For the most accurate and up-to-date information, it would be best to consult the official SurveyMonkey API documentation.