oEmbed Support for Brightcove Player

This topic explains how Brightcove supports the oEmbed standard, enabling automatic rich video embeds when Brightcove Player URLs are shared on platforms like WordPress, Slack, Notion, and other oEmbed-aware services.

Overview

oEmbed is an open standard that allows third-party platforms to automatically display rich embedded content when a URL is shared. When you paste a Brightcove Player URL into a platform that supports oEmbed (such as WordPress, Slack, or Notion), the platform can automatically render the video with its title, thumbnail, and an interactive player — without requiring any manual embed code.

Brightcove provides an oEmbed API endpoint and is registered as an official provider on oembed.com, enabling automatic discovery across the oEmbed ecosystem.

How it works

When a Brightcove Player URL is pasted into an oEmbed-aware platform, the following happens automatically:

  1. The platform recognizes the players.brightcove.net URL pattern from the oEmbed provider registry.
  2. The platform calls the Brightcove oEmbed endpoint with the shared URL.
  3. The endpoint returns a JSON response containing the video title, thumbnail image, and iframe embed code.
  4. The platform renders the rich embed in place of the bare URL.

Supported URL formats

The oEmbed endpoint supports any URL matching the pattern:

https://players.brightcove.net/{account_id}/{player_id}_{embed_id}/index.html?videoId={video_id}
https://players.brightcove.net/{account_id}/{player_id}_{embed_id}/index.html?playlistId={playlist_id}

Examples

https://players.brightcove.net/1160438696001/RUsPQ8qzl_default/index.html?videoId=6327763506112
https://players.brightcove.net/1160438696001/default_default/index.html?playlistId=5282200243001

oEmbed API endpoint

Request

GET https://oembed.brightcove.com/?url={encoded_player_url}&format=json

Parameters

Parameter Required Description
url Yes A URL-encoded players.brightcove.net URL containing a videoId or playlistId query parameter.
format No Response format. Only json is supported.
maxwidth No Maximum width of the embed iframe in pixels. The height is calculated to maintain a 16:9 aspect ratio.
maxheight No Maximum height of the embed iframe in pixels. The width is calculated to maintain a 16:9 aspect ratio.

Alternative parameters (non-standard)

The endpoint also accepts direct parameters instead of a URL:

Parameter Description
accountId Brightcove account ID
playerId Player ID (defaults to default)
videoId Video ID
GET https://oembed.brightcove.com/?accountId=1160438696001&playerId=default&videoId=6327763506112

Example response

{
  "type": "video",
  "version": "1.0",
  "provider_name": "Brightcove",
  "provider_url": "https://players.brightcove.net/pages/v1/index.html?accountId=1160438696001&playerId=RUsPQ8qzl&videoId=6327763506112",
  "title": "Brightcove Media Studio - Product Video",
  "width": 640,
  "height": 360,
  "thumbnail_url": "https://cf-images.us-east-1.prod.boltdns.net/v1/static/1160438696001/.../1280x720/match/image.jpg",
  "html": "<iframe class=\"brightcove-embed\" src=\"https://players.brightcove.net/pages/v1/index.html?accountId=1160438696001&playerId=RUsPQ8qzl&videoId=6327763506112&mode=iframe\" width=\"640\" height=\"360\" scrolling=\"no\" frameborder=\"0\" allowfullscreen></iframe>"
}

Response fields

Field Description
type Always video
version oEmbed specification version (1.0)
provider_name Always Brightcove
provider_url Landing page URL for the video
title Video title as stored in Video Cloud
width Embed width in pixels (default 640, respects maxwidth)
height Embed height in pixels (default 360, respects maxheight)
thumbnail_url Video poster image URL (omitted if no poster is set)
html Ready-to-use iframe embed code

Platform compatibility

The following table shows oEmbed and Open Graph support across popular platforms:

Platform Discovery method Rich embed
WordPress oEmbed provider registry Yes — inline playable video
Slack oEmbed discovery tag + registry Yes — title, thumbnail, and link
Notion oEmbed provider registry Yes — inline playable video
Microsoft Teams Open Graph tags Title and thumbnail preview (for players with an assigned video)
Microsoft Viva Engage Open Graph tags Title and thumbnail preview (for players with an assigned video)
Facebook / LinkedIn Open Graph tags Title and thumbnail preview (for players with an assigned video)

Caching

Responses from the oEmbed endpoint are cached for up to 1 hour by the API Gateway. If you update a video's title or poster and need the oEmbed response to reflect the change immediately, include a Cache-Control: max-age=0 header in your request.

Try it

You can test the oEmbed endpoint directly using curl:

curl "https://oembed.brightcove.com/?format=json&url=https%3A%2F%2Fplayers.brightcove.net%2F1160438696001%2FRUsPQ8qzl_default%2Findex.html%3FvideoId%3D6327763506112"

Or paste a players.brightcove.net URL directly into Slack, WordPress, or any oEmbed-aware platform to see the rich embed in action.

Known limitations

  • Only JSON format is supported. XML format requests return a 501 response.
  • The endpoint requires a valid videoId or playlistId. Requests without one return a 400 error.
  • Videos that are geo-restricted or require a Playback Rights token may return a 403 error from the oEmbed endpoint, as the endpoint calls the Playback API with the player's default policy key.
  • Open Graph metadata is only available for players that have a video pre-assigned in their player configuration. Players that load videos dynamically via URL parameters do not include og:title or og:image tags.