Facebook Upload API Reels, Videos, Images & Stories

Post content to Facebook programmatically. Facebook Graph API simplified.

Start Free
facebook-upload.ts
import { UploadPost } from 'upload-post';

const uploader = new UploadPost('your-api-key');

await uploader.upload('reel.mp4', {
  title: 'My Facebook Reel',
  platforms: ['facebook']
});

Can you post to Facebook via API?

Yes, to Facebook Pages. Upload-Post publishes videos, Reels, photos, Stories and text posts to any Facebook Page you manage with one REST call (platform[]=facebook), and it handles the Meta Graph API, tokens and app review for you. One caveat: Meta’s API only supports Pages, so no tool can post to personal Facebook profiles programmatically.

Facebook API Features

Facebook Reels

Upload short-form vertical videos as Facebook Reels.

Video Posts

Share native videos to Facebook feeds.

Image Posts

Post images with captions and hashtags.

Stories

Post ephemeral Stories content.

Page Management

Post to personal profiles and business pages.

Analytics

Track reach, engagement and insights.

How do you post to Facebook with one request?

One POST to /api/upload. Send a file or a public URL

Request (cURL)
curl -X POST https://api.upload-post.com/api/upload \
  -H 'Authorization: Apikey your-api-key-here' \
  -F 'user=my-profile' \
  -F 'platform[]=facebook' \
  -F 'video=@/path/to/video.mp4' \
  -F 'title=New product walkthrough' \
  -F 'facebook_page_id=1234567890'
Response (200 OK)
{
  "success": true,
  "results": {
    "facebook": {
      "success": true,
      "url": "https://www.facebook.com/...",
      "video_was_transcoded": false
    }
  },
  "usage": { "count": 7, "limit": 100 }
}

Long uploads switch to background automatically; poll the Upload Status endpoint with your request_id. Full reference in the Upload API docs.

What are the Facebook content requirements and limits?

What the API accepts for Facebook: sizes, formats and platform limits

Requirement Value
Video MP4/MOV, up to 10 GB and 240 minutes; H.264 + AAC recommended
Reels Vertical 9:16 recommended; short-form videos are published as Reels
Images JPEG, PNG, GIF, WebP; keep under ~10 MB for reliable processing
Text posts Facebook allows very long posts (up to 63,206 characters)
Stories Publish with facebook_media_type=STORIES
Destination Facebook Pages only (Meta’s API does not allow posting to personal profiles)

Specs reflect what the Upload-Post pipeline accepts for Facebook; oversized videos are transcoded automatically. Need to reformat a video first? Use the FFmpeg API.

Facebook API Parameters

The most-used fields for the Facebook upload endpoint

Parameter Type Required Description
facebook_page_id String Yes* ID of the Page to publish to. List your Pages with GET /api/uploadposts/facebook/pages. (*Required when several Pages are connected.)
facebook_title String No Facebook-specific caption. Falls back to the global title field.
facebook_media_type String No POSTS (default) or STORIES: publish to the feed or as a Story.
scheduled_date String No ISO-8601 date to schedule the post up to 365 days ahead.
first_comment String No Automatically add a first comment under the post.

Full parameter reference in the API documentation.

Start posting to Facebook in minutes

Three steps to integrate the Facebook API

1

Create your account

Sign up for Upload-Post and grab your API key from the dashboard.

2

Connect Facebook

Link your Facebook destination once from the dashboard. We handle auth and delivery for you.

3

Upload programmatically

POST to the API with your content and you're live. Schedule or queue posts the same way.

Facebook API FAQ

Common questions about posting to Facebook programmatically

Can I post to a personal Facebook profile via API?

No, and not just with Upload-Post. Meta removed API publishing for personal profiles years ago, so every legitimate tool is Pages-only. Upload-Post posts to any Facebook Page you administer; you pick it with facebook_page_id.

Do I need my own Meta developer app and app review?

No. Upload-Post operates an approved Meta integration. Connect your Facebook account once via OAuth in the dashboard and start posting. There's no developer app to create, no permission requests and no app review on your side.

Can I publish Facebook Reels via API?

Yes. Send a vertical (9:16) short-form video with platform[]=facebook and it's published as a Reel on the selected Page. Regular horizontal videos go out as standard video posts.

How do I post to several Facebook Pages?

Connect each Page first. Each profile holds one account per platform, so add profiles for more Pages. Then list them with GET /api/uploadposts/facebook/pages and pass the target facebook_page_id per request. One API call can also fan out the same content to Instagram, X and other platforms.

Can I schedule Facebook posts and Stories?

Yes. Add scheduled_date (ISO-8601, optional timezone) and Upload-Post publishes at that moment; the response returns a job_id you can edit or cancel. Stories are scheduled the same way with facebook_media_type=STORIES.

Prefer an AI agent? Use the Facebook MCP server. Plans and limits are in the pricing section.

Ready to automate your Facebook uploads?

Start posting Reels and videos programmatically today.

Create Free Account