Skip to content

Survey · Beta

UserTesting
API integration

Ship Survey features without building the integration. Full UserTesting API access via Proxy and 10+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
UserTesting

Use Cases

Why integrate with UserTesting

Common scenarios for SaaS companies building UserTesting integrations for their customers.

01

Enrich product roadmaps with voice-of-customer evidence

Product management platforms can let users attach UserTesting studies, highlight reels, and QXscores to feature requests, giving PMs qualitative justification for prioritization decisions without leaving the roadmap tool.

02

Auto-populate research repositories with session data

UX research repository tools can ingest session results, transcripts, and video download URLs so researchers can tag, code, and run thematic analysis alongside data from other qualitative sources.

03

Feed transcripts into AI analysis pipelines

AI-powered analytics and summarization platforms can pull WebVTT transcripts to run sentiment analysis, extract pain points, and auto-generate research summaries or PRD drafts from real user sessions.

04

Track UX health inside executive dashboards

BI and KPI dashboards can pull QXscores across workspaces to plot Usability, Trust, Appearance, and Loyalty over time, correlating UX health with release cycles or business metrics.

05

Attach visual evidence to bugs and tickets

QA and bug tracking systems can link UserTesting clips directly to tickets, giving engineers pre-signed video URLs and the exact task context so they can reproduce and fix issues faster.

What You Can Build

Ship these features with Truto + UserTesting

Concrete product features your team can ship faster by leveraging Truto’s UserTesting integration instead of building from scratch.

01

Study and session browser

Let end users browse their UserTesting workspaces and studies inside your app and select which sessions to sync using list_all_user_testing_workspaces and list_all_user_testing_workspace_studies.

02

Automated transcript ingestion

Pull WebVTT transcripts from list_all_user_testing_session_transcripts to make session content text-searchable and ready for LLM processing inside your product.

03

Embedded video and clip playback

Use list_all_user_testing_session_video_download_urls and get_single_user_testing_session_clip_by_id to fetch pre-signed URLs and embed session videos or curated clips natively in your UI.

04

Highlight reel importer

Fetch curated highlight reels via list_all_user_testing_test_highlight_reels and let users attach them to PRDs, tickets, or presentations without downloading anything manually.

05

QXscore analytics widgets

Surface Usability, Trust, Appearance, and Loyalty scores from list_all_user_testing_test_qx_scores as charts or KPIs inside dashboards, with alerts when scores drop.

06

Study context enrichment

Use get_single_user_testing_study_by_id to pull test plans, tasks, and NPS breakdowns so any linked session, clip, or metric appears with the full research context attached.

SuperAI

UserTesting AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_user_testing_workspaces

List all UserTesting workspaces available to the authenticated account. Returns: id, name, uuid.

list_all_user_testing_workspace_studies

List studies in a usertesting workspace. Returns up to 50 studies per page, each including: cursor, orderedAt, orderedBy (email, name), productType, title, type, and uuid. Required: workspace_uuid.

list_all_user_testing_studies

List UserTesting studies in a workspace. Returns: token_type, expires_in, access_token, scope. Required: workspaceUuid.

get_single_user_testing_study_by_id

Get a single UserTesting study by id. Returns the full study object including title, sessionCount, orderedBy, netPromoterScores (with detractor, passive, and promoter percentages), tasks (with type, text, position, choices, and scale settings), and testPlan. Required: id.

list_all_user_testing_session_results

List UserTesting session result summaries for a test. Returns: sessionId, audienceId, status, startTime, finishTime. Required: testId. Max 500 sessions per page.

get_single_user_testing_session_result_by_id

Get full session results for a single UserTesting session by id. Returns: sessionId, audienceId, testPlanId, sessionParticipant, taskGroups, tasks. Required: id.

list_all_user_testing_session_transcripts

Retrieve the full video transcript for a UserTesting session in WebVTT format. Returns a WebVTT-formatted text string of timestamped cue entries (e.g. `00:00:00.000 --> 00:00:02.000` followed by spoken text). Only available for sessions belonging to LIVE_CONVERSATION and THINK_OUT_LOUD product types. Required: session_id.

list_all_user_testing_session_video_download_urls

Get a pre-signed video download URL for a UserTesting session. Returns: videoUrl, sessionId, expiresAt. Required: session_id. Only available for sessions in LIVE_CONVERSATION, NON_THINK_OUT_LOUD, and THINK_OUT_LOUD product types.

list_all_user_testing_session_clips

List video clips available for a usertesting session. Returns: uuid, name, description, timeStartMs, timeEndMs, videoUuid, hasAudio, hasCamera, layout. Required: session_id.

get_single_user_testing_session_clip_by_id

Get download details for a specific usertesting session clip by id. Returns: clipUuid, status, clipUrl. Required: session_id and id.

list_all_user_testing_test_highlight_reels

List highlight reels for a usertesting test result. Returns: uuid, name, durationMs, lastUpdatedAtMs, numClips, areAllClipsInReel. Required: test_id.

get_single_user_testing_test_highlight_reel_by_id

Get a highlight reel download link for a usertesting test result. Returns: reelId, status, reelUrl. Required: test_id, id.

list_all_user_testing_test_qx_scores

List QXscore results for a usertesting interaction test. Returns each QX task group's taskGroupId, label, qxScore, components (behavioral and attitudinal), and values (behavioral, usability, trust, appearance, loyalty). Required: test_id.

Why Truto

Why use Truto’s MCP server for UserTesting

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with UserTesting in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s UserTesting account

Use Truto’s frontend SDK to connect your customer’s UserTesting account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call UserTesting

Truto’s Proxy API is a 1-to-1 mapping of the UserTesting API. You call us, we call UserTesting, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate UserTesting’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about UserTesting on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for the UserTesting integration?

Truto handles the full auth handshake with UserTesting and manages token storage, refresh, and error handling. Your end users connect their UserTesting accounts through a flow you embed, and you access their data via Truto without managing credentials directly.

What UserTesting data can I access through Truto?

You can list workspaces, studies, session results, transcripts, session video download URLs, clips, highlight reels, and QXscores. Individual studies, session results, clips, and highlight reels can also be fetched by ID for full detail.

Can I download session videos and clips directly?

Yes. Truto exposes list_all_user_testing_session_video_download_urls and get_single_user_testing_session_clip_by_id, which return pre-signed download URLs you can use to stream or store videos and clips inside your product.

Are transcripts returned in a format usable by LLMs?

Yes. Transcripts are returned in WebVTT format with timestamps, so they can be fed directly into LLM pipelines for summarization, sentiment analysis, or search indexing, and mapped back to the exact moment in the source video.

Does Truto support write operations to UserTesting?

The current tool inventory is read-only — you can list and fetch studies, sessions, transcripts, clips, highlight reels, and QXscores. If you need write endpoints or additional resources, Truto can build them on request.

How fresh is the data — is it real-time or polled?

Data is fetched on-demand through Truto's API calls, so freshness depends on when you query. For workflows like auto-syncing completed sessions, you typically poll list_all_user_testing_session_results on an interval and fetch transcripts and videos as new sessions appear.

UserTesting

Get UserTesting integrated into your app

Our team understands what it takes to make a UserTesting integration successful. A short, crisp 30 minute call with folks who understand the problem.