---
title: UserTesting API Integration on Truto
slug: usertesting
category: Survey
canonical: "https://truto.one/integrations/detail/usertesting/"
---

# UserTesting API Integration on Truto



**Category:** Survey  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 13 tools for UserTesting that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's UserTesting account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach UserTesting.** The Proxy API is a 1-to-1 mapping of the UserTesting API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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.
- **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.
- **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.
- **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.
- **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

- **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.
- **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.
- **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.
- **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.
- **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.
- **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.

## FAQs

### 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.

## Related reading

- [Connect UserTesting to ChatGPT: Analyze Study Data & Transcripts](https://truto.one/blog/connect-usertesting-to-chatgpt-analyze-study-data-transcripts/) — Learn how to securely connect UserTesting to ChatGPT using a managed MCP server. Automate UX research analysis, summarize WebVTT transcripts, and extract NPS data.
- [Connect UserTesting to Claude: Track UX Metrics & Session Results](https://truto.one/blog/connect-usertesting-to-claude-track-ux-metrics-session-results/) — Learn how to connect UserTesting to Claude using a managed MCP server. Execute UX workflows, analyze transcripts, and extract QX scores using AI agents.
- [Connect UserTesting to Claude: Process Session Media and Transcripts](https://truto.one/blog/connect-usertesting-to-claude-process-session-media-and-transcripts/) — Learn how to connect UserTesting to Claude using an MCP server. Automate UX research analysis, transcribe user sessions, and process QX scores with AI.
- [Connect UserTesting to ChatGPT: Analyze Studies and UX Score Data](https://truto.one/blog/connect-usertesting-to-chatgpt-analyze-studies-and-ux-score-data/) — Learn how to connect UserTesting to ChatGPT using a managed MCP server. Execute UX research workflows, analyze transcripts, and pull QXscore data automatically.
- [Connect UserTesting to AI Agents: Sync Research & Export Highlights](https://truto.one/blog/connect-usertesting-to-ai-agents-sync-research-export-highlights/) — Learn how to connect UserTesting to AI agents using Truto. Fetch AI-ready tools, bind them to LLMs, and automate UX research workflows.
