Crossposting

This document explains how to use the Video API to publish a video on multiple Pages without uploading the video to each Page. For example, if you have a parent Page with several child Pages, you can upload and publish a video to the parent Page then publish the Video to all child Pages without having to upload the video to each Page.

To crosspost a Video, you must be able to perform to the CREATE task on the Pages and enable the Video to be published to specific Pages. You will need the ID of the Video and the ID's of the Pages where you want to publish the Video as well as Page access tokens from the Page where the Video was originally published and the Pages where you want to publish.

You can use the API to determine if a Video is already eligible for crossposting or a crossposted video, how to enable crossposting to all Pages managed by your Business Manager, and to get a list of Pages you can crosspost to.

Limitations

If a video has been crossposted to your Page but you do not have a Role on the Page where the video was originally published, you cannot change any Permissions of the Video.

Step 1. Enable Crossposting

To publish a Video to multiple Pages you must enable crossposting of the Video to these Pages.

You will need:

Send a POST request to the Video endpoint:

POST /{api-version}/{video-id}
  ?allow_crossposting_for_pages=[{page_id:{page-a-id},allow:true},{page_id:{page-b-id},allow:true}]
  &access_token={page-access-token}

Include the following parameters:

Parameter NameValue

allow_crossposting_for_pages

A JSON array of Page IDs where you want to publish the video. Set allow to true to enable publishing or false to disable publishing.

access_token

The Page access token of the Page where the video was originally published.

Sample Request

curl -X POST \
  "https://graph.facebook.com/v7.0/2918040388250909" \
  -F "allow_crossposting_for_pages=[{page_id:104371193424796,allow:true},{page_id:115969103185286",allow:true}] \
  -F "access_token=EAABkW..."

Sample Response

{
  "success": true
}

Step 2. Crosspost the Video

You will need:

Send a POST request to the Page Videos endpoint:

POST /{api-version}/{page-id}/videos
    ?crossposted_video_id={video-id}
    &access_token={page-access-token}

Include the following parameters:

Parameter NameValue

crossposted_video_id

The video ID of the Video you are crossposting.

access_token

The Page access token of the Page where you are publishing the video.

Sample Request

curl -X POST \
  "https://graph.facebook.com/104371193424796/videos?crossposted_video_id=2918040388250909&access_token=EAABk..."

Sample JSON Response

{
  "id":"577600939847873"
}

Get Video Crossposting Eligibility

To determine if a Video is eligible to be crossposted, send a GET request to the Video endpoint with the is_crossposting_eligible field.

You will need:

GET /{api-version}/{video-id}
   ?fields=is_crossposting_eligible
   &access_token={page-access-token}

Sample Request

curl -X GET \
  "https://graph.facebook.com/v7.0/2918040388250909" \
  -F "is_crossposting_eligible" \
  -F "access_token=EAABkW..."

Sample Response

{
  "is_crossposting_eligible": true,
  "id": "2918040388250909"
}
Parameter NameValue

is_crossposting_eligible

Displays if the Video is enabled to be crossposted.

access_token

The Page access token of the Page where the Video was originally published.

Get Video Crossposting Status

To determine if the Video is a crossposted Video, send a GET request to the Video endpoint with the is_crosspost_video field.

You will need:

GET /{api-version}/{video-id}
  ?fields=is_crosspost_video
  &access_token={page-access-token}

Include the following parameters

Parameter NameValue

is_crosspost_video

Displays if the Video is the original or is a crossposted Video.

access_token

The Page access token of the Page where the Video was originally published.

Sample Request

curl -X GET \
 "https://graph.facebook.com/v7.0/577600939847873?fields=is_crosspost_video&access_token=EAABk..."

Sample Response

{
  "is_crosspost_video": true,
  "id": "577600939847873"
}

Get a List of Pages Eligible for Crossposting

You will need:

Send a GET request to the Page CrosspostWhitelistedPages endpoint.

GET {page-id}/crosspost_whitelisted_pages
  &access_token={page-access-token}

Sample Request

curl -X GET \ "https://graph.facebook.com/v7.0/2918040388250909/crosspost_whitelisted_pages&access_token=EAABk..."

Sample Response

{
  "crosspost_whitelisted_pages": {
    "data": [
      {
        "name": "Obsession, by Margaret",
        "id": "115969103185286"
      },
      {
        "name": "Cisco Dog",
        "id": "422575694827569"
      }
    ],
    "paging": {
      "cursors": {
        "before": "QVFIUn...",
        "after": "QVFIUk4..."
      }
    }
  },
  "id": "1353269864728879"
}

Enable Crossposting to All Your Business Manager Pages

To enable crossposting to all Pages managed by your Business Manager, send a POST request to the Video endpoint.

You will need:

POST /{api-version}/{video-id}
  ?allow_bm_crossposting=true
  &access_token={page-access-token}

Include the following parameters

Parameter NameValue

allow_bm_crossposting

Set allow to true to enable publishing or false to disable publishing.

access_token

The Page access token of the Page where the video was originally published.

Sample Request

curl -X POST \
  "https://graph.facebook.com/v7.0/2918040388250909?allow_bm_crossposting=true&access_token=EAABkW..."

Sample Response

{
  "success": true
}

Insights

Each crossposted Video has its own unique video_id. You can see video insights from each Video and Page.

See Also

For more information about crossposting, visit our Help Center.