Facebook Reels & Video Publishing API: The 30-Post Rate Limit and Host Switch That Break Schedulers
Posting a photo or a text update to a Facebook Page through the Graph API is one endpoint. Posting a video, or a Reel, is a completely different system — a different upload host, a hard daily post ceiling, and a video-spec gate with its own numeric error codes. Scheduling and automation SaaS tools that only tested the text/photo path find this out the moment a client tries to queue video content.
Two Separate Publishing Systems, Not One
Regular Page videos
Publishing a standard video to a Facebook Page goes through the Resumable Upload API first (a separate upload session against graph.facebook.com) to get a file handle, then a POST to /PAGE_ID/videos with that handle.
Reels
Reels use an entirely different three-step flow against the /PAGE_ID/video_reels endpoint, and the binary upload step happens on a different host altogether: rupload.facebook.com, not graph.facebook.com.
Access requirement
Both flows need a Page access token requested from someone who can perform the CREATE_CONTENT task on the Page, with your app holding pages_show_list, pages_read_engagement, and pages_manage_posts — the same App Review-gated permission already covered for Page posting in general.
The part most integrations miss first
Teams that build against the regular video endpoint and assume Reels will behave the same way discover the host and payload differences only when the upload silently fails or times out against the wrong endpoint.
The Reels Upload Flow, at a High Level
Initialize the upload session
A POST to /PAGE_ID/video_reels with upload_phase=start returns a video ID and an upload URL — this is where the target host switches away from the standard Graph API host.
Upload the video binary
The file (or a hosted-file URL) is sent to the rupload.facebook.com endpoint using an OAuth authorization header, with the option to resume from the last transferred byte if the upload is interrupted.
Finish and publish
A second POST to /PAGE_ID/video_reels with upload_phase=finish and video_state=PUBLISHED ends the session. A separate status check on the video ID reports processing, uploading, and publishing phase results, including any spec-validation error.
The Rate Limit Nobody Budgets For
30 API-published Reels per rolling 24 hours
Meta enforces this limit directly on the POST /PAGE_ID/video_reels endpoint. It is a moving 24-hour window, not a calendar-day reset, and Meta's own guidance tells app developers to enforce the same limit client-side — especially for apps that let a user schedule future Reels, which is exactly what a scheduling SaaS does by design. A client with several connected Pages queuing video content can hit this ceiling without any single Page looking unusually active.
The Video-Spec Wall
| Requirement | Reels limit | Error if violated |
|---|---|---|
| Aspect ratio | 9:16 (16:9 to 9:16 accepted range) | 1363040 |
| Resolution | 1080×1920 recommended, 540×960 minimum | 1363127 |
| Duration | 3-90 seconds (60s max if published as a Page Story) | 1363128 |
| Frame rate | 24-60 fps | 1363129 |
Each of these is a distinct, documented Meta error code returned during the processing phase, not a generic rejection. A scheduler that only surfaces a raw error code to the end user, instead of translating it into a plain-English fix, creates a support ticket instead of a fix.
Crossposting Adds a Fourth Permission
Publishing one uploaded video to several Pages without re-uploading it (crossposting) needs the same pages_manage_posts and pages_read_engagement permissions, plus one more: publish_video. Agencies and multi-location businesses using a scheduler to push one video across a parent Page and several linked Pages hit this exact gap — the standard three-permission set that covers normal Reels or video publishing is not enough for crossposting.
What Meta Does Not Publish
Meta does not publish an appeals or exception process for the 30-Reels-per-24-hours cap, and does not document a way to request a higher ceiling for verified scheduling apps. Any claim otherwise should be treated as unverified. This piece also does not cover Instagram Reels publishing limits, which are a separate, already-documented set of rules.