Vimeo

Get Vimeo video captions

Get a Vimeo video's caption and subtitle tracks, their parsed WebVTT cues and the player's public metadata.

GET/v1/vimeo/videos/{videoId}/captions
1credit
x-api-keystringheader

API key (`sfk_...`)

Parameters
2
videoIdstringrequiredpath

Vimeo video id, e.g. `76979871`.

pattern: ^[1-9]\d{0,18}$

languagestringoptionalquery

Only return tracks in this language, e.g. `en` or `en-x-autogen`. Matching is case-insensitive, and `en` also matches `en-x-autogen`.

min 1 chars · max 40 chars

Response fields
51

Endpoint-specific response payload.

datalookupStatus
string

Whether the entity was found. A removed, private, password-protected or never-existing item is `not_found`; Vimeo does not distinguish them.

one of: found, not_found

datavideoId
integer

Video id.

≥ 0

Caption and subtitle tracks.

datacaptions[]id
integernullable

Text track id.

≥ 0

datacaptions[]language
stringnullable

Language tag.

datacaptions[]displayLanguage
stringnullable

Human-readable language.

datacaptions[]kind
stringnullable

`captions` or `subtitles`.

datacaptions[]label
stringnullable

Track label.

datacaptions[]source
stringnullable

`ai_generated` or `user_uploaded`.

datacaptions[]default
boolean

Whether it is the default track.

datacaptions[]cuesAvailable
boolean

Whether the track's WebVTT cues are included.

Parsed cues; null when the cue file is unavailable.

datacaptions[]cues[]startSeconds
number

Cue start, in seconds.

datacaptions[]cues[]endSeconds
number

Cue end, in seconds.

datacaptions[]cues[]text
string

Cue text.

datacaptionsComplete
boolean

Whether every track and cue was returned.

Public player metadata, when available.

dataplayervideoId
integernullable

Video id.

≥ 0

dataplayertitle
stringnullable

Title.

dataplayerwidth
integernullable

Width in pixels.

≥ 0

dataplayerheight
integernullable

Height in pixels.

≥ 0

dataplayerdurationSeconds
integernullable

Length in seconds.

≥ 0

dataplayerfps
numbernullable

Frame rate.

dataplayeraudioChannels
stringnullable

Channel layout.

dataplayerprivacy
stringnullable

Who may watch.

dataplayercontentRatingId
integernullable

Numeric content rating.

≥ 0

dataplayerisSpatial
booleannullable

Whether the video is spatial.

The video's owner, as the player describes them.

dataplayerownerid
integernullable

Owner id.

≥ 0

dataplayerownername
stringnullable

Owner display name.

dataplayerowneraccountType
stringnullable

The owner's account type.

dataplayerownerurl
stringnullable

Owner profile URL.

Thumbnail sprite for scrubbing.

dataplayerstoryboardspriteUrl
stringnullable

Sprite sheet of thumbnails.

dataplayerstoryboardframeWidth
integernullable

Width of one frame in the sprite.

≥ 0

dataplayerstoryboardframeHeight
integernullable

Height of one frame in the sprite.

≥ 0

dataplayerstoryboardcolumns
integernullable

Frames per row in the sprite.

≥ 0

dataplayerstoryboardframes
integernullable

Frames in the sprite.

≥ 0

Stream qualities.

dataplayerqualities[]label
stringnullable

Quality label, e.g. `720p`.

dataplayerqualities[]fps
numbernullable

Frame rate of this stream.

On Demand data on a trailer.

dataplayeronDemandbuttonText
stringnullable

Buy button text.

dataplayeronDemandfeature
stringnullable

Feature name.

Purchase options Vimeo offers.

dataplayeronDemandpurchaseOptions[]
objectoptional

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

Code example

curl "https://api.socialfetch.dev/v1/vimeo/videos/76979871/captions" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Caption tracks and cues.