Facebook Upload API Reels, Videos, Images & Stories
Post content to Facebook programmatically. Facebook Graph API simplified.
Start Freeimport { 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
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' {
"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
Create your account
Sign up for Upload-Post and grab your API key from the dashboard.
Connect Facebook
Link your Facebook destination once from the dashboard. We handle auth and delivery for you.
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