Skip to content

Wistia

Wistia can be used as a source with the wistia:// URI scheme.

bash
ingestr ingest \
  --source-uri 'wistia://?access_token=<YOUR_WISTIA_API_TOKEN>' \
  --source-table 'medias' \
  --dest-uri duckdb:///wistia.duckdb \
  --dest-table 'dest.medias'

URI

text
wistia://?access_token=<YOUR_WISTIA_API_TOKEN>

The source also accepts api_key or token as aliases for access_token.

Optional parameters:

ParameterDescriptionDefault
api_versionValue sent as the X-Wistia-API-Version header.2026-03
base_urlOverride the Wistia API base URL, mostly for tests.https://api.wistia.com/modern

Tables

Available Data API tables:

TableDescription
accountCurrent account summary.
tokenCurrent token summary.
allowed_domainsAllowed domains.
foldersFolders.
folder:<folder_id>A single folder.
folder_sharings:<folder_id>Sharing records for a folder.
subfolders:<folder_id>Subfolders for a folder.
mediasMedia records.
media:<media_id>A single media record.
captionsCaptions across the account.
captions:<media_id>Captions filtered by media.
media_captions:<media_id>Captions for a media.
media_localizations:<media_id>Localizations for a media.
media_customizations:<media_id>Customizations for a media.
media_stats:<media_id>Aggregated media stats from the Data API.
channelsChannels.
channel:<channel_id>A single channel.
channel_episodesChannel episodes.
channel_episodes_by_channel:<channel_id>Episodes in a channel.
tagsTags.
webinarsWebinars.
webinar:<webinar_id>A single webinar.

Available Stats API tables:

TableDescriptionIncremental
stats_accountCurrent account stats.No
stats_account_by_dateAccount stats by date.Yes, using date
stats_eventsEvent records.Yes, using received_at
stats_events:<media_id>Event records filtered by media.Yes, using received_at
stats_events_by_visitor:<visitor_key>Event records filtered by visitor.Yes, using received_at
stats_visitorsVisitors.No
stats_event:<event_key>A single event.No
stats_visitor:<visitor_key>A single visitor.No
stats_media:<media_id>Stats for a media.No
stats_media_by_date:<media_id>Stats for a media by date.Yes, using date
stats_media_engagement:<media_id>Engagement stats for a media.No
stats_project:<project_id>Stats for a project/folder.No

Date-filtered Stats API tables use --interval-start and --interval-end as Wistia start_date and end_date query parameters. For stats_account_by_date, ingestr sends yesterday/today when no interval is provided because the Wistia endpoint currently returns an internal server error without an explicit date range.