The UserVoice API – Connect Your Systems

Connect UserVoice to your own systems with API keys, OAuth, webhooks, and privacy endpoints, and know when the MCP or a native integration fits better.

On this page

    The UserVoice API lets your own code read and change the data in your UserVoice account. Teams use it to sync ideas to a data warehouse, send feedback from in-house tools, post status updates from a release pipeline, and keep user and account details current. This guide covers what the API can do, keys and sign-in, common integrations, webhooks, privacy requests, limits, security, and when the UserVoice MCP or a native integration fits better.

    What the API does

    The UserVoice API is a REST API for your account's ideas, feedback, people, and settings. Your code reads and writes the same data your admins work with in the admin console.

    Read your data

    List ideas, feedback, comments, status updates, users, and accounts, and filter by what changed since your last run.

    Write to it

    Create ideas and feedback, post status updates, add comments and notes, and attach labels.

    Sync people and accounts

    Send user and account details, such as plan or revenue, from the systems that own them.

    Hear about events

    Webhooks tell your systems when an idea is posted, a comment is added, or a status changes.

    Good to know

    This guide covers concepts, not every endpoint. The full reference, with every field and parameter, is at developer.uservoice.com/docs/api/v2/reference. Admins can also reach it from the API keys page in Settings.

    What you can work with

    In the admin consoleIn the APICommon uses
    IdeasSuggestionsRead, create, update, merge, assign an owner, and mark as spam
    Feedback captured on behalf of a customerFeedback recordsAdd a customer's feedback, linked to an idea
    Status updatesStatus updates and internal status updatesChange an idea's status and post the message that goes with it
    Comments and notesComments and notesAdd or read public comments and internal notes
    Labels, categories, and forumsLabels, categories, and forumsOrganize ideas, and attach or remove labels
    People and accountsUsers, external users, and external accountsLook up people, and send user and account details from other systems
    Supporters and importanceSupporters and importance responsesSee who supports an idea and how important it is to them
    Custom fieldsCustom fieldsRead and set the fields you've defined on ideas
    Good to know

    The API calls ideas “suggestions.” It's the same object. The reference uses suggestion, and the admin console uses idea.

    Get an API key

    Every integration starts with an API key. An admin who can change settings creates it.

    1. In Settings, open Integrations, and choose UserVoice API keys.
    2. Select Add API key.
    3. Give the key a Name that says what uses it, such as “Data warehouse sync.”
    4. If you're building a web app where people sign in, add its Application URL and Callback URL. Scripts don't need them.
    5. Tick Trusted? only if the key will be kept on a secure server. The next section explains why.
    6. Select Add API key. The key appears in the list with its Key and Secret.
    On each keyUse it to
    EditRename the key, change its URLs, or change whether it's trusted
    CreateCreate an access token that acts as you, for testing or a personal script
    DeleteRemove the key. Integrations that use it stop working.
    Good to know

    API access depends on your plan. Your UserVoice rep can confirm whether it's included in yours.

    Authenticate

    Your code trades its key for an access token, then sends the token with each request. Which way you get the token decides whose permissions the integration has.

    Way to get a tokenWho it acts asFits
    Key and secret (trusted keys only)An admin account, with full admin accessServer jobs with no person present, such as a nightly sync
    A person signs in (OAuth)The person who signed in, with their permissionsApps and tools that act for a specific teammate
    Create, on the API keys pageYouTesting, and personal scripts
    • Trusted keys can get a token with just the key and secret. Keep them only where no one else can read them.
    • Untrusted keys can't. A person has to sign in to UserVoice and approve access, and the token acts as them.
    • Signed-in tokens follow the person's permissions. If they can only view ideas, so can the integration.
    • Sign-in supports PKCE (S256), for apps that can't keep a secret, such as desktop or browser tools.
    Tip

    Plan for tokens to stop working. Tokens can expire or be revoked. Build your integration to request a new token when a call is refused, instead of storing one forever.

    Common integrations

    These are examples of what teams build. Each uses a small part of the API.

    IntegrationWhat it doesGood to know
    Sync ideas to a data warehouseEach night, lists ideas, supporters, and status updates that changed since the last run, and loads them into your warehouseLists filter by update time, so each run only fetches what changed
    Send feedback from an in-house toolYour support or success tool adds a customer's feedback, linked to an ideaThe feedback shows API as its source, and the customer counts as a supporter
    Update statuses from a release pipelineWhen a release ships, posts a status update that moves its ideas to your shipped statusStatus updates from the API don't email subscribers unless your code asks them to
    Sync users and accountsSends each user's account, plan, revenue, and your own fields from the system that owns themImport in batches, and match on your own external IDs
    Label ideas from another systemAttaches labels based on rules in your own toolingLabels must exist first. Create them in UserVoice or through the API.

    Before you build

    Watch out

    The CRM sync replaces account data you send another way. If you connect Salesforce or HubSpot later, it becomes the source for accounts, and fields you sent through the API are removed. Pick one source for account data, and talk to your UserVoice rep before switching.

    Watch out

    Decide who hears about API status changes. A status update posted with notifications on emails everyone subscribed to the idea, as it does in the admin console. Test on one idea before you run your pipeline across a release.

    • Check for a native integration first. Jira, Azure DevOps, Salesforce, HubSpot, Zendesk, Slack, and Microsoft Teams connect from Settings without code.
    • Use your own IDs. External users and accounts take an external ID, so your sync can update the same record each run.
    • Name the key after the integration, so anyone can tell what stops working if it's deleted.

    Webhooks

    Service hooks send an event to your own web address when something happens in UserVoice, so your systems react without asking the API for changes.

    1. In Settings, open Integrations, and choose Service hooks.
    2. Select Add custom web hook, and enter your URL.
    3. Choose a Content type: JSON or XML.
    4. Tick the events to send. For idea events, you can Choose individual forums.
    5. Save, then use Send Test Event to check your endpoint receives it.
    Events you can send
    New Idea, New Comment, Idea Status Update, Idea Internal Status Update, and Idea Votes Update (per forum, or all forums)
    New User Feedback, New Forum, and Feature Status Update
    Good to know

    Check the signature on every request. Each request posts the event name, the data, and a signature: an HMAC-SHA256 of the data, signed with your account's SSO key (Settings, Authentication). Recompute it on your side and reject anything that doesn't match.

    Good to know

    Webhooks only go to public addresses. UserVoice doesn't send to private network addresses, so your endpoint has to be reachable from the internet.

    Privacy requests

    The API has two calls built for data protection requests, such as those under GDPR. Use them when a privacy request comes in through your own process.

    RequestAPI callWhat happens
    Right to erasure, or opt-outDelete a userDeletes the person and anonymizes what they submitted, so ideas and comments stay without their identity
    Right of accessExport a userEmails the person everything they submitted: ideas, ideas they supported, comments, and uploads. You can add your own message.
    • Look the person up first, and check you have the right user before you delete.
    • Deleting can't be undone. Keep a record in your own system of the request and when you acted on it.
    • Block a user instead, if you only need to stop someone posting.
    Rule of thumb

    Connect privacy requests to the same workflow you use for other tools. If your privacy team already runs deletion and access requests across systems, add UserVoice to that workflow with these two calls.

    Limits and paging

    Requests are limited per minute for your whole account. Every integration that uses your API keys shares the same limit, and your plan sets it.

    Response headerTells you
    X-Rate-Limit-LimitRequests allowed per minute
    X-Rate-Limit-RemainingRequests left this minute
    X-Rate-Limit-ResetWhen the count starts again
    • Over the limit, you get a 429 with a Retry-After header. Wait that many seconds, then try again.
    • Slow requests count extra. A request that takes more than two seconds uses more of your limit, so ask for smaller pages.
    • Lists come in pages of up to 100 records. Read the paging details in each response to get the next page.
    • Ask for what changed. Most lists filter by update time, so a sync can fetch only records updated since its last run.
    Tip

    Spread big jobs out. Run large backfills at quiet times, and pause when the remaining count gets low, so your other integrations keep working.

    Keep it secure

    An API key with a secret is a way into your feedback data. Treat it like a password.

    • One key for each integration, named for what uses it.
    • Keys and secrets kept in a secrets manager or your server's environment.
    • Trusted keys only on servers you control.
    • Sign-in tokens for tools that act for a person, so they follow that person's permissions.
    • A new key, then the old one deleted, when someone who had the secret leaves or it may have leaked.
    • A regular review of the API keys and service hooks lists, removing what's no longer used.
    • Secrets in source code, chat messages, tickets, or browser code.
    • A trusted key in a mobile app, desktop app, or web page.
    • One shared key for every script, so you can't tell what broke or turn off one integration.
    • Webhook requests accepted without checking the signature.
    Rule of thumb

    Rotate by replacing. Add a new key, move the integration to it, check it works, then delete the old key. Deleting a key stops everything that uses it.

    API, MCP, or a native integration?

    The API is one of four ways to connect UserVoice to other tools. Pick the one that needs the least code for the job.

    OptionBest whenExamples
    Native integrationUserVoice already connects to the tool. Set it up in Settings, with no code.Salesforce or HubSpot account sync, Jira, Azure DevOps, Zendesk, Slack, Microsoft Teams, and the browser extension
    UserVoice MCPA person wants answers or changes in plain language from their AI assistant. No code.“Which ideas gained the most revenue this quarter?” or “Merge these duplicates.”
    WebhooksAnother system needs to know when something happens.Post new ideas to an internal tool, or start a workflow when a status changes
    UserVoice APIYour own code needs to read or change data on a schedule or from another system.Warehouse sync, release pipeline status updates, and feedback from an in-house tool
    Good to know

    The MCP and the agent follow each person's permissions. View-only admins can read through the UserVoice agent and the UserVoice MCP, but can't make changes.

    Try it with your AI assistant

    1 of 4 prompts in the PDF

    Attach the PDF to Claude, ChatGPT, or another assistant, then paste:

    Using the UserVoice guide I attached, help me decide whether to use the UserVoice API, the UserVoice MCP, or a native integration for [what we want to connect]. Ask me about our tools and team first.

    Three more prompts and the checklist are in the full guide. Get it by email →

    Free, by email

    Get the full guide

    We'll email you the 14-page PDF. It adds two things that aren't on this page:

    • A seven-step checklist to put the guide into practice
    • Four AI prompts for Claude, ChatGPT, or your assistant of choice, including one that uses the UserVoice MCP to work with your own feedback data
    Cover of The UserVoice API – Connect Your Systems guide from UserVoice