curl --request POST \
--url https://api.birdeye.com/resources/v1/social/post/public/media/upload \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-business-number: <x-business-number>' \
--data '
{
"media_urls": [
"https://example.com/video.mp4"
]
}
'{
"batch_id": "e0de3eeb-1f52-45bd-9110-fb6b5cb966ad",
"accepted_count": 1
}{
"code": 1011,
"message": "media_urls cannot be empty"
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Upload Social Media
Accepts a batch of publicly accessible image or video URLs and queues them for asynchronous upload to the Birdeye media library. Returns a batch_id immediately; poll the Track Upload Status endpoint to retrieve per-item results. Accepts 1–50 URLs per request. Supported image formats — .jpg, .jpeg, .png, .gif, .webp. Supported video formats — .mp4, .mov, .avi, .mkv, .webm, .wmv.
curl --request POST \
--url https://api.birdeye.com/resources/v1/social/post/public/media/upload \
--header 'Content-Type: <content-type>' \
--header 'x-api-key: <x-api-key>' \
--header 'x-business-number: <x-business-number>' \
--data '
{
"media_urls": [
"https://example.com/video.mp4"
]
}
'{
"batch_id": "e0de3eeb-1f52-45bd-9110-fb6b5cb966ad",
"accepted_count": 1
}{
"code": 1011,
"message": "media_urls cannot be empty"
}{
"code": 1161,
"message": "Invalid API key"
}{
"code": 89,
"message": "Rate limit exceeded"
}Headers
Business API key.
Business identifier.
Media type of the JSON request body.
Body
List of publicly accessible image or video URLs. Maximum 50 items. Supported image extensions — .jpg, .jpeg, .png, .gif, .webp. Supported video extensions — .mp4, .mov, .avi, .mkv, .webm, .wmv.
50Optional media library folder ID to organize uploaded assets. If omitted, assets are placed in the default media library location.