How to make a video post with Facebook Graph API
12:37 07 Dec 2025

I am finding the documentations super confusing and all the paths lead to various errors.

What I've tried,

Path 1:

Upload video using the ${page_id}/videos edge and pass the received Id to POST:${page_id}/feed
This results in an auth error. And after some research I came to understand that /feed dosen't accept video files

Path 2:

Resumable API:
Upload using https://developers.facebook.com/docs/video-api/guides/publishing#resumable-upload. This ends with an error in video_status. But this same file can be posted to FB directly, and to IG as reels (file has mimetype video/mp4)

{
  "status": {
    "video_status": "error",
    "uploading_phase": {
      "status": "complete",
      "bytes_transferred": 578561
    },
    "processing_phase": {
      "status": "complete"
    },
    "publishing_phase": {
      "status": "not_started"
    },
    "copyright_check_status": {
      "status": "complete",
      "matches_found": false
    }
  },
  "permalink_url": "/122159856728779820/videos/1233139478637689",
  "published": true,
  "id": "1233139478637689"
}

For meta employees, here's a completed debug dump: https://pastebin.com/UHga4faG
Also btw, the documentation for resumable upload suggests using graph-video.facebook.com which is deprecated now

Path 3:

Using rupload.facebook.com
This endpoint works fine for reels. But I was getting the same error as Path 2 through this endpoint.

Asks

  1. Can someone please help me understand what endpoint / path to actually use?

  2. Can someone please help me understand the difference between rupload.facebook.com and the resumable video upload path . is rupload.facebook.com supposed to be working for reels only?

facebook facebook-graph-api