The easiest way to interact with the Buffer API - https://buffer.com
We are currently developing the wrapper. By now it is only able to schedule post and notifications for Instagram, Facebook and Tiktok.
Buffer platform has 2 main functionalities:
- Schedule a POST that will be automatically published on the date and time you set.
- Set a REMINDER that will send a notification to your app at that specific time so you can post it manually by yourself.
I recommend you to visit the tests in the code to see how it works, but here you have some examples:
- Schedule a post of a reel on Instagram:
client = BufferClient(API_KEY)
# Y, M, D, m, s
DATE = PublicationDate(2026, 8, 7, 16, 50)
post = client.instagram.schedule_reel_post(
channel_id = INSTAGRAM_CHANNEL_ID,
video_url = VIDEO_ASSET_DIRECT_LINK,
text = 'Automated post from bufferpy python library 🚀',
publish_at = DATE,
# specific fields
do_share_to_feed = True,
is_ai_generated = True,
)
- Post a reel on Instagram right now:
client = BufferClient(API_KEY)
post = client.instagram.schedule_reel_post(
channel_id = INSTAGRAM_CHANNEL_ID,
video_url = VIDEO_ASSET_DIRECT_LINK,
text = 'Automated post from bufferpy python library 🚀',
publish_at = None,
# specific fields
do_share_to_feed = True,
is_ai_generated = True,
)
- Schedule a post of a picture on Facebook:
client = BufferClient(API_KEY)
# Y, M, D, m, s
DATE = PublicationDate(2026, 8, 7, 16, 50)
post = client.facebook.schedule_post_post(
channel_id = FACEBOOK_CHANNEL_ID,
image_url = IMAGE_ASSET_DIRECT_LINK,
text = 'Automated post from bufferpy python library 🚀',
publish_at = DATE
)
- Set a notification reminder on Tiktok:
client = BufferClient(API_KEY)
# Y, M, D, m, s
DATE = PublicationDate(2026, 8, 7, 16, 50)
post = client.tiktok.schedule_reel_notification(
channel_id = TIKTOK_CHANNEL_ID,
video_url = VIDEO_ASSET_DIRECT_LINK,
text = 'Automated post from bufferpy python library 🚀',
publish_at = DATE
)
The Buffer platform doesn't make a copy of the resources in their servers (by now) when using the API, thats why you have to provide a direct link to the resource you want to upload.
That link has to be public and accessible at the time the post will be actually published. If the link is down, the scheduled post will fail.
You can test the functionality through our different test files. Add the environment variables you need in the .env file to test it directly with your real data from Buffer. See the .env.example to know what to include.