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