Download Video

After videos are streamed they are stored for later use. This set of APIS gives you access to these files.

Videos are either available as a HLS playlist or as a single MP4. Not all videos are available in all formats.

Some MP4 files may have a status of BUILDABLE, which means while they are not available currently they can be built. This operation will take a number of minutes.

While the HLS manifest files are available, this is purely to enable you to download the required content. They are not meant for public distribution. The links provided may expire.

List available video files for a match

get
/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files

List the video files for a match that are available for downloaded.

Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
addedstring · date-timeOptional

Record was added after this date/time. In UTC.

Example: 2018-08-16T02:10:48
contentstring · enum · max: 30Optional

Content of the stream

  • CLEAN Output signal is the same as the input signal
  • PROGRAM Score overlays and other enhancements have been added to the stream
Example: CLEANPossible values:
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
feedTypestring · enum · max: 30Optional

Type of video input

  • ADDITIONAL_ANGLE Additional angle
  • LOW_LATENCY Low Latency
  • PRIMARY Primary
Example: PRIMARYPossible values:
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
formatstring · enum · max: 30Optional

The format of the video file

  • HLS A HLS play list
  • MP4 One MP4 file
Example: HLSPossible values:
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
limitinteger · int32 · min: 1 · max: 1000Optional

The maximum number of records to return. See Pagination for more information.

Default: 10Example: 10
localestring · min: 5 · max: 5Optional

The locale of the video

Example: fr_FR
offsetinteger · int32Optional

The offset of the records. See Pagination for more information.

Example: 10
originstring · enum · max: 30Optional

The origin of the video file

  • STREAM Streamed
  • UPLOAD Uploaded
  • VENUE Recorded in venue
Example: STREAMPossible values:
providerstring · max: 100Optional

The unique code for the video provider

Example: Test Provider
sourceNumberinteger · int32Optional

Unique identifier for the video source

Example: 1
statusstring · enum · max: 30Optional

What is the status of the file?

  • AVAILABLE Available for access
  • BUILDABLE Not currently available - but can be built on request
  • PENDING Being added - some parts may be available
Example: AVAILABLEPossible values:
storageProviderstring · enum · max: 30Optional

Where the video file is stored?

  • 5STREAM 5stream
  • AV_SPORTRADAR AV Sportradar
  • KEEMOTION Keemotion
  • SYNERGY Synergy
Example: KEEMOTIONPossible values:
updatedstring · date-timeOptional

Record was modified after this date/time. In UTC.

Example: 2018-08-16T02:11:48
Responses
200

Successful operation

application/json
get
/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files
GET /v1/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "videoId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "provider": "Test Provider",
      "locale": "fr-FR",
      "sourceNumber": 1,
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "resolution": "720",
      "name": "text",
      "feedType": "PRIMARY",
      "content": "CLEAN",
      "fps": 25,
      "origin": "STREAM",
      "format": "HLS",
      "storageProvider": "KEEMOTION",
      "size": 1024.2,
      "length": 123.4,
      "encoding": "H.264/AAC",
      "status": "AVAILABLE",
      "startTime": "2025-11-19T06:50:28.799Z",
      "expiry": "2025-11-19T06:50:28.799Z",
      "updated": "2025-11-19T06:50:28.799Z",
      "added": "2025-11-19T06:50:28.799Z"
    }
  ]
}

Add a new video file

post
/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files

Add a new video file

Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
fixtureIdstring · uuidRequired

The unique identifier of the fixture

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
Body
videoIdstring · uuidOptional

The unique identifier of the video

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
providerstring · max: 100Required

The code for the provider of the file

Example: Test Provider
localestring · min: 5 · max: 5Required

The locale of the video

Example: fr-FRPattern: ^[a-z]{2,2}-[A-Z]{2,2}$
sourceNumberinteger · int32Required

Unique identifier for the video source. This is unique for the provider/fixtureId/locale combination. Unless the provider is supplying multiple sources per fixture/locale then this is normally 1.

Default: 1Example: 1
fixtureIdstring · uuidRequired

The unique identifier of the match

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
resolutionstring · enum · max: 30Required

The resolution of the video input

  • 1080 1920 x 1080
  • 288 512 x 288
  • 720 1280 x 720
Example: 720Possible values:
namestring · max: 200Optional

The name/description of the video file

feedTypestring · enum · max: 30Required

Type of video input

  • ADDITIONAL_ANGLE Additional angle
  • LOW_LATENCY Low Latency
  • PRIMARY Primary
Example: PRIMARYPossible values:
contentstring · enum · max: 30Required

Content of the stream

  • CLEAN Output signal is the same as the input signal
  • PROGRAM Score overlays and other enhancements have been added to the stream
Example: CLEANPossible values:
fpsinteger · int32Required

fps for the video stream

Default: 25Example: 25
originstring · enum | nullableOptional

The origin of the video file

  • None None
  • STREAM Streamed
  • UPLOAD Uploaded
  • VENUE Recorded in venue
Example: STREAMPossible values:
formatstring · enum · max: 30Optional

The format of the video file

  • HLS A HLS play list
  • MP4 One MP4 file
Example: HLSPossible values:
storageProviderstring · enum | nullableOptional

Where the video file is stored?

  • None None
  • 5STREAM 5stream
  • AV_SPORTRADAR AV Sportradar
  • KEEMOTION Keemotion
  • SYNERGY Synergy
Example: KEEMOTIONPossible values:
sizenumber · float | nullableOptional

Size (Mb) of the video (only given if a single file)

Example: 1024.2
lengthnumber · float | nullableOptional

Lenth (mins) of the video

Example: 123.4
encodingstring · max: 30Optional

How is the video/audio encoded. codecs etc.

Example: H.264/AAC
urlstring · max: 200Write-onlyRequired

The URL where the file can be found

Example: https://hls.host.com/video/index.m3u8
statusstring · enum | nullableOptional

What is the status of the file?

  • None None
  • AVAILABLE Available for access
  • BUILDABLE Not currently available - but can be built on request
  • PENDING Being added - some parts may be available
Example: AVAILABLEPossible values:
startTimestring · date-timeRequired

The time this recording started (UTC)

expirystring · date-time | nullableOptional

When does this file expire? (UTC)

Responses
200

Successful operation

application/json
post
/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files
POST /v1/beachvolleyball/o/{organizationId}/fixtures/{fixtureId}/video/files HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 500

{
  "videoId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
  "provider": "Test Provider",
  "locale": "fr-FR",
  "sourceNumber": 1,
  "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
  "resolution": "720",
  "name": "text",
  "feedType": "PRIMARY",
  "content": "CLEAN",
  "fps": 25,
  "origin": "STREAM",
  "format": "HLS",
  "storageProvider": "KEEMOTION",
  "size": 1024.2,
  "length": 123.4,
  "encoding": "H.264/AAC",
  "url": "https://hls.host.com/video/index.m3u8",
  "status": "AVAILABLE",
  "startTime": "2025-11-19T06:50:28.799Z",
  "expiry": "2025-11-19T06:50:28.799Z"
}
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "videoId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "organizationId": "9",
      "organization": {
        "resourceType": "organizations",
        "id": "9"
      },
      "provider": "Test Provider",
      "locale": "fr-FR",
      "sourceNumber": 1,
      "fixtureId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "fixture": {
        "resourceType": "fixtures",
        "id": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc"
      },
      "resolution": "720",
      "name": "text",
      "feedType": "PRIMARY",
      "content": "CLEAN",
      "fps": 25,
      "origin": "STREAM",
      "format": "HLS",
      "storageProvider": "KEEMOTION",
      "size": 1024.2,
      "length": 123.4,
      "encoding": "H.264/AAC",
      "status": "AVAILABLE",
      "startTime": "2025-11-19T06:50:28.799Z",
      "expiry": "2025-11-19T06:50:28.799Z",
      "updated": "2025-11-19T06:50:28.799Z",
      "added": "2025-11-19T06:50:28.799Z"
    }
  ]
}

Download URL

get
/beachvolleyball/o/{organizationId}/video/files/{videoId}/url

Generate a url to download a video file for a match. This link is only valid for 30 minutes.

Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
videoIdstring · uuidRequired

The unique identifier of the video file

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
limitinteger · int32 · min: 1 · max: 1000Optional

The maximum number of records to return. See Pagination for more information.

Default: 10Example: 10
offsetinteger · int32Optional

The offset of the records. See Pagination for more information.

Example: 10
Responses
200

Successful operation

application/json
get
/beachvolleyball/o/{organizationId}/video/files/{videoId}/url
GET /v1/beachvolleyball/o/{organizationId}/video/files/{videoId}/url HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "videoId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "url": "https://hls.host.com/video/index.m3u8"
    }
  ]
}

Delete a video file

delete
/beachvolleyball/o/{organizationId}/video/files/{videoId}

Delete a video file

Authorizations
OAuth2clientCredentialsRequired

You can create a JSON Web Token (JWT) using the token API call. Each token is given a set of scopes/permissions. Each endpoint has a scope/permission that it requires to run. If your token does not possess the correct scope then you will be unable to make the API call.

Token URL:
Available scopes:
  • : Authenticate based on a specific OrganizationId
  • : Read data over multiple organizations using and *orggroup* code
  • : Write/Update any data from below the organization
  • : Read any data from the organization down
  • : Perform administration API calls
  • : Ability to manage organizations
  • : Perform system configuration API calls
Path parameters
organizationIdstring · min: 5 · max: 5Required

The unique identifier of the organization

Example: b1a23
videoIdstring · uuidRequired

The unique identifier of the video file

Example: 009e9276-5c80-11e8-9c2d-fa7ae01bbebc
Query parameters
externalstringOptional

A comma separated list of fields that will instead be interpreted as an externalId. See External Ids for more information.

Example: entityId,personId
fieldsstringOptional

A comma separated list of fields to display. The response will only display these fields. See Partial Response section for more information.

Example: dob,firstName,organization(id),organizations[name], teams[name,details/metrics/*,tags(id)]
forceDeletebooleanOptional

Force a delete command to run and delete child records as well if there are existing records depending on the record.

Example: true
hideNullbooleanOptional

Don't display data fields with null values or empty structures

Example: true
includestringOptional

A comma separated list of resource types to include. See Resource Inclusion for more information.

Example: organizations,fixtures,entities
Responses
200

Successful operation

application/json
delete
/beachvolleyball/o/{organizationId}/video/files/{videoId}
DELETE /v1/beachvolleyball/o/{organizationId}/video/files/{videoId} HTTP/1.1
Host: api.dc.connect.sportradar.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "meta": {
    "version": 1,
    "codeVersion": "d6cd1e2bd19e03a81132a23b2025920577f84e37",
    "code": 200,
    "time": "2018-06-05 23:43:41.227584+00:00",
    "fromCache": false,
    "count": 7,
    "limit": 10,
    "offset": 10,
    "generationTime": 0.011604
  },
  "links": {
    "self": "https://example.com",
    "next": "https://example.com",
    "previous": "https://example.com"
  },
  "included": {
    "resources": {
      "ANY_ADDITIONAL_PROPERTY": "league"
    }
  },
  "data": [
    {
      "videoId": "009e9276-5c80-11e8-9c2d-fa7ae01bbebc",
      "url": "https://hls.host.com/video/index.m3u8"
    }
  ]
}

Last updated

Was this helpful?