Ad Videos
Updated: Feb 24, 2026
Reading
GET GraphAdAccountAdVideosEdge
Example
GET /v25.0/{ad-account-id}/advideos HTTP/1.1
Host: graph.facebook.com
Try it in Graph API Explorer
If you want to learn how to use the Graph API, read our Using Graph API guide
Parameters
| Parameter | Description |
|---|---|
max_aspect_ratiofloat |
Maximum video aspect ratio to be used in the video aspect ratio filter.
|
maxheightint64 |
Maximum video height to be used in the video height filter.
|
maxlengthint64 |
Maximum video duration to be used in the video duration filter.
|
maxwidthint64 |
Maximum video width to be used in the video width filter.
|
min_aspect_ratiofloat |
Minimum video aspect ratio to be used in the video aspect ratio filter.
|
minheightint64 |
Minimum video height to be used in the video height filter.
|
minlengthint64 |
Minimum video duration to be used in the video duration filter.
|
minwidthint64 |
Minimum video width to be used in the video width filter.
|
titlestring |
Video name used in the video names filter.
|
Fields
Reading from this edge will return a JSON formatted result:
{
"data": [],
"paging": {},
"summary": {}
}
data
A list of Video nodes.
paging
For more details about pagination, see the Graph API guide.
summary
Aggregated information about the edge, such as counts. Specify the fields to fetch in the summary param (like summary=total_count).
| Field | Description |
|---|---|
total_countunsigned int32 |
Total number of videos returned by the query.
|
Error Codes
| Error Code | Description |
|---|---|
200 | Permissions error |
190 | Invalid OAuth 2.0 Access Token |
80004 | There have been too many calls to this ad-account. Wait a bit and try again. For more info, please refer to /docs/graph-api/overview/rate-limiting#ads-management. |
100 | Invalid parameter |
283 | That action requires the extended permission pages_read_engagement and/or pages_read_user_content and/or pages_manage_ads and/or pages_manage_metadata |
Creating
/act_{ad_account_id}/advideos
You can make a POST request to advideos edge from the following paths:
When posting to this edge, a Video will be created.
Parameters
| Parameter | Description |
|---|---|
audio_story_wave_animation_handlestring |
Everstore handle of wave animation used to burn audio story video
|
composer_session_idstring |
SELF_EXPLANATORY
|
descriptionUTF-8 string |
SELF_EXPLANATORY
supports emoji |
edit_description_specJSON object |
This represents the schema that the client should send to WWW for the edit description spec during video upload.
screen_readers array<JSON object>Show child parameters |
end_offset int64 |
end_offset
|
file_size int64 |
The size of the video file in bytes. Using during
chunked upload.
|
file_urlstring |
SELF_EXPLANATORY
|
fisheye_video_croppedboolean |
Whether the single fisheye video is cropped or not
|
front_z_rotationfloat |
The front z rotation in degrees on the single fisheye video
|
namestring |
The name of the video in the library.
|
og_action_type_idnumeric string or integer |
SELF_EXPLANATORY
|
og_icon_idnumeric string or integer |
SELF_EXPLANATORY
|
og_object_idOG object ID or URL string |
SELF_EXPLANATORY
|
og_phrasestring |
SELF_EXPLANATORY
|
og_suggestion_mechanismstring |
SELF_EXPLANATORY
|
original_fovint64 |
Original field of view of the source camera
|
original_projection_type enum {equirectangular, cubemap, half_equirectangular} |
Original Projection type of the video being uploaded
|
prompt_id string |
SELF_EXPLANATORY
|
prompt_tracking_string string |
SELF_EXPLANATORY
|
referenced_sticker_idnumeric string or integer |
SELF_EXPLANATORY
|
selected_audio_specJSON object |
selected_audio_spec is params for uploading videos with selected audio when performing audio swap
audio_asset_id stringShow child parameters |
sourcestring |
The video, encoded as form data. See the
Video Format doc for more
details on video formats.
|
source_instagram_media_idnumeric string |
The V2 ID of the Instagram video to upload. Cannot be used with upload_phase.
|
start_offset int64 |
The start position in byte of the chunk that
is being sent, inclusive. Used during
chunked upload.
|
time_since_original_postint64 |
SELF_EXPLANATORY
|
titleUTF-8 string |
The name of the video being uploaded. Must be less than 255 characters. Special characters may count as more than 1 character.
supports emoji |
transcode_setting_properties string |
Properties used in computing transcode settings for the video
|
unpublished_content_typeenum {SCHEDULED, SCHEDULED_RECURRING, DRAFT, PUBLISH_PENDING, ADS_POST, INLINE_CREATED, PUBLISHED, REVIEWABLE_BRANDED_CONTENT} |
SELF_EXPLANATORY
|
upload_phase enum {start, transfer, finish, cancel} |
The phase during chunked upload. Using during
chunked upload.
|
upload_session_id numeric string or integer |
The session ID of this chunked upload. Using
during chunked upload.
|
video_file_chunk string |
Return Type
Struct {
id: numeric string,
upload_session_id: numeric string,
video_id: numeric string,
start_offset: numeric string,
end_offset: numeric string,
success: bool,
skip_upload: bool,
upload_domain: string,
region_hint: string,
xpv_asset_id: numeric string,
is_xpv_single_prod: bool,
transcode_bit_rate_bps: numeric string,
transcode_dimension: numeric string,
should_expand_to_transcode_dimension: bool,
action_id: string,
gop_size_seconds: numeric string,
target_video_codec: string,
target_hdr: string,
maximum_frame_rate: numeric string,
}
Error Codes
| Error Code | Description |
|---|---|
200 | Permissions error |
100 | Invalid parameter |
222 | Video not visible |
389 | Unable to fetch video file from URL. |
190 | Invalid OAuth 2.0 Access Token |
352 | The video file you selected is in a format that we don’t support. |
6001 | There was a problem uploading your video. Please try again. |
382 | The video file you tried to upload is too small. Please try again with a larger file. |
351 | There was a problem with your video file. Please try again with another file, |
6000 | There was a problem uploading your video file. Please try again with another file. |
Updating
You can't perform this operation on this endpoint.
Deleting
/act_{ad_account_id}/advideos
You can dissociate a Video from an AdAccount by making a DELETE request to /act_{ad_account_id}/advideos.
Parameters
| Parameter | Description |
|---|---|
video_idvideo ID |
Ad account library video ID
required |
Return Type
Struct {
success: bool,
}
Error Codes
| Error Code | Description |
|---|---|
613 | Calls to this api have exceeded the rate limit. |
100 | Invalid parameter |