Appearance
Fresh 2026
Getting Started
This document explains how to use the Live Video API to broadcast a live video broadcast with your app. If you do not have an app, you can use the Graph API Explorer and streaming software of your choice.
On June 10th, 2024, Meta is launching new requirements that must meet before an account can go live on Facebook. The new requirements are as follows:
The Facebook account must be at least 60 days old
The Facebook Page or professional mode profile must have at least 100 followers
Visit our Help Center \
Before You Start
If you have an app, you will need the following:
[A Meta App ID with the Facebook Login Use Case \
[Facebook Login implemented in your app\
- If your app is on a device that does not have an interface that allows users to sign into Facebook, implement [Facebook Login for Devices \ instead.
The following permissions: [
publish_videoAn access token\
If you don't have an app, you also will need:
The [Graph API Explorer \
Video streaming software
Start the broadcast
To create a LiveVideo object, send a POST request to the /me/live_videos?status=LIVE_NOW endpoint where me is the ID for the User or Page.
When testing an API call, you can include the access_token parameter set to your access token. However, when making secure calls from your app, use the [access token class.
curl
curl -i -X POST \
"https://graph.facebook.com/v25.0/me/live_videos?status=LIVE_NOW"This will return a response that looks like this:
json
{
"id": "10214937378883406", //The LiveVideo object ID
"stream_url": "rtmp://rtmp-api.faceboo...",
"secure_stream_url": "rtmps://rtmp-api.faceboo...", //The stream URL
"stream_secondary_urls": [],
"secure_stream_secondary_urls": []
}Capture the id and secure_stream_url values that were returned to you. The id is the LiveVideo object ID which you can use to manipulate your broadcast. The secure_stream_url is the ingest URL that you will use to stream live video data from your encoder to the LiveVideo object.
Stream the broadcast
Pass the secure_stream_url value that you captured in the last step to your encoding device and stream live video data to it. Once the LiveVideo object detects streaming data, the broadcast will go live on your User profile.
View your profile and verify that a new live video post has been created and is broadcasting your streaming data.
If you are using streaming software instead of developing your own app, manually add the secure_stream_url value to your software. Depending on which streaming software you are using, you may have to break the stream URL into its server (rtmps://rtmp-api.facebook.com/rtmp/) and key components (everything after /rtmp/).
End the broadcast
To end the broadcast, send a POST request to the /<LIVE_VIDEO_ID>?end_live_video=true endpoint.
Example end broadcast request
curl
curl -i -X POST \
"https://graph.facebook.com/v25.0/<LIVE_VIDEO_ID>?end_live_video=true"This ends your broadcast and saves it as a video on demand (VOD). If you want to delete the VOD, send a request to the DELETE /<LIVE_VIDEO_ID> endpoint.
Permission denied error codes
| Code | Subcode | Message | Type | Mitigation messaging |
|---|---|---|---|---|
| 200 | 1363120 | Permissions error | OAuthException | You’re not eligible to go live <br>Your profile needs to be at least 60 days old before you can go live on Facebook. Learn more at https://www.facebook.com/business/help/167417030499767?id=1123223941353904 |
| 200 | 1363144 | Permissions error | OAuthException | You’re not eligible to go live <br>You need at least 100 followers before you can go live from your profile. Learn more at https://www.facebook.com/business/help/167417030499767?id=1123223941353904 |
Next Steps
- Use the Live Video API to schedule a live video for a future broadcast.