Wistia’s Data API exposes viewer-level analytics that most video platforms hide — individual visitor engagement, per-second heatmaps, CTA click-through rates, and viewing history tied to email addresses. These five jobs pull that data through Mavera’s surfaces (Personas, Mave Agent, Focus Groups, Brand Voice, Generate) to map viewers to psychographic personas, diagnose drop-off points with creative fixes, test CTA variations with synthetic panels, build a brand voice profile from spoken content, and generate personalized follow-up emails for your highest-intent viewers.Documentation Index
Fetch the complete documentation index at: https://docs.mavera.io/llms.txt
Use this file to discover all available pages before exploring further.
API Reference Card
| Detail | Value |
|---|---|
| Base URL | https://api.wistia.com |
| Auth | Bearer Token or OAuth 2.0 |
| Rate limits | 600 requests/minute |
| Mavera base | https://app.mavera.io/api/v1 |
| Mavera auth | Authorization: Bearer mvra_live_... |
All examples use two environment variables:
WISTIA_API_TOKEN and MAVERA_API_KEY. The Wistia token is an API access token generated under Account → Settings → API Access. It provides full read access to stats, media, and visitor data. Store both keys in your secrets manager. Wistia’s 600 req/min limit is generous — you’re unlikely to hit it unless you’re pulling stats for thousands of videos in a tight loop.Prerequisites
Wistia account
You need a Wistia account with at least one project containing videos with viewer analytics enabled.
API token
Generate a token at Account → Settings → API Access. Select read-all permissions for stats and media access.
Mavera API key
Get your key from Mavera dashboard.
Jobs
| # | Job | Wistia Data | Mavera Surface | Output |
|---|---|---|---|---|
| 1 | Viewer-Level Persona Mapping | GET /v1/stats/visitors.json (email, location, percent viewed) | Personas + Chat | Viewer segments matched to psychographic personas |
| 2 | Heatmap-Informed Creative Optimization | Engagement heatmap per video | Mave Chat | Drop-off diagnosis with specific edit recommendations |
| 3 | CTA Performance × Focus Group | CTA click-through data per media | Focus Groups | CTA placement/messaging optimization |
| 4 | Wistia Embeds → Brand Voice Source | All video transcripts | Brand Voice | Spoken content voice profile |
| 5 | Lead-Qualified Viewer → Personalized Follow-up | Stats by media (>80% watched) | Generate | Personalized follow-up emails per viewer |
Rate Limits & Production Notes
| Wistia Endpoint | Purpose | Rate Cost |
|---|---|---|
GET /v1/medias.json | List all videos | 1 req |
GET /v1/medias/{id}.json | Single video details | 1 req |
GET /v1/medias/{id}/captions.json | Transcripts | 1 req |
GET /v1/stats/visitors.json | All visitors (paginated) | 1 req/page |
GET /v1/stats/medias/{id}.json | Per-video engagement | 1 req |
GET /v1/stats/medias/{id}/visitors.json | Visitors per video | 1 req |
| Concern | Recommendation |
|---|---|
| Token security | Wistia tokens grant full account access. Use read-only tokens when write access isn’t needed. Rotate tokens quarterly. |
| Turnstile gating | Enable Turnstile on high-intent videos (demos, pricing, case studies) to capture viewer emails for Jobs 1 and 5 |
| Webhook triggers | Use Wistia’s webhook system to trigger Job 5 in real-time when a viewer crosses the 80% threshold |
| CRM integration | Connect viewer data to your CRM via email match. HubSpot and Salesforce both have Wistia integrations. |
| Heatmap data freshness | Engagement data updates in near-real-time. For Job 2 (heatmap optimization), wait 48 hours after publishing to collect sufficient data. |
| Mavera credits | Brand Voice creation (Job 4) is a one-time cost. Focus Groups (Job 3) scale with persona count. Monitor at Dashboard. |
What’s Next
All Integrations
50+ API integrations with full code
Wistia Data API
Official Wistia API documentation
Focus Groups API
Full reference for POST /api/v1/focus-groups
Brand Voice API
Full reference for POST /api/v1/brand-voice
Generate API
Full reference for POST /api/v1/generate
Personas API
Full reference for POST /api/v1/personas