ReelspanUpload guidesFacebook

Post to Facebook automatically

Connect Facebook once, then send videos, photos and text posts to it from code, a workflow or an AI agent. The same call can post to every other network at the same time.
Sign in with Facebook63,206 characters9:1616:97 sections

01

Connect Facebook

  1. In the dashboard, open Accounts and pick Facebook.
  2. Sign in with Facebook and allow Reelspan to post to the Pages you manage.
  3. The account joins the profile you had open; every post to that profile can now include it.

Posting for clients? Send them a connect link so they connect their own Facebook account without a Reelspan login.

02

Get an API key

In the dashboard, open Developers → API keys and create one. Keep it in an environment variable such as REELSPAN_KEY; never in code you share.

03

Post with one request

Send the video as a file, or as a public URL like below. Add more platform[] fields to post the same thing everywhere at once.

curl
curl -X POST https://api.reelspan.com/v1/posts/video \
  -H "Authorization: Bearer $REELSPAN_KEY" \
  -F user=my-brand \
  -F "platform[]=facebook" \
  -F "video=https://example.com/clip.mp4" \
  -F "title=Your post text" \
  -F "facebook_page_id=…"
JavaScript (Node 18+)
const form = new FormData();
form.append('user', 'my-brand');
form.append('platform[]', 'facebook');
form.append('video', 'https://example.com/clip.mp4');
form.append('title', 'Your post text');

const res = await fetch('https://api.reelspan.com/v1/posts/video', {
  method: 'POST',
  headers: { Authorization: `Bearer ${process.env.REELSPAN_KEY}` },
  body: form,
});
console.log(await res.json());
Python
import os, requests

res = requests.post(
    "https://api.reelspan.com/v1/posts/video",
    headers={"Authorization": f"Bearer {os.environ['REELSPAN_KEY']}"},
    files=[
        ("user", (None, "my-brand")),
        ("platform[]", (None, "facebook")),
        ("video", (None, "https://example.com/clip.mp4")),
        ("title", (None, "Your post text")),
    ],
)
print(res.json())

facebook_title sets the text for Facebook only, when it should differ from the other networks’.

04

Facebook options

facebook_page_id
The Page to post to, when you manage several.
facebook_media_type
REELS (default for vertical video), VIDEO or STORIES.
facebook_link
A link Facebook shows as a preview on text posts.
facebook_place_id
Tag a place.
  • Posts go to the Facebook Pages you manage.
  • Vertical videos go out as Reels, others as Page videos.
  • Photos can go out as Page Stories.

Every field, with its limits: the docs.

05

Schedule it and check the result

  • Add scheduled_date (ISO 8601) and timezone to post later, or add_to_queue=true to take the next slot of your posting schedule.
  • The response has Facebook’s status and the post’s link. For big files send async_upload=true and check GET /v1/posts/status?request_id=…, or get a signed webhook when it’s live.
  • If Facebook refuses a post, the error says why in plain words, and you can retry just that network.

06

Without code

07

Ideas

  • Post every Reel to the Page as well.
  • Share new blog posts with a link preview.

More on Facebook: what you can post there. Other networks: all upload guides.

Questions?Talk to a person.Contact us