Buffer social media platform API
Unofficial Buffer API in python, but the easiest way to interact with the Buffer API - https://buffer.com
This project is working with their GraphQL API, which is the one they are maintaining.
Functionality
We are currently developing the wrapper. By now it is only able to schedule post and notifications for Instagram, Facebook and Tiktok.
Explanation
Buffer platform has 3 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.
- Add POST or REMINDER to the queue that will add the post or reminder to the next available slot in your queue. The queue must be set in your Buffer account and will publish the videos on it when the moment comes.
Usage
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,
do_add_to_queue = False,
# 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,
do_add_to_queue = False,
# specific fields
do_share_to_feed = True,
is_ai_generated = True,
)
- Add a post of a reel on Instagram to the queue:
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,
do_add_to_queue = True,
# 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 = None,
do_add_to_queue = False
)
- Set a notification reminder on Tiktok on a specific date:
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,
do_add_to_queue = False
)
Annotations
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.
Testing
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.
Metadata
Release files for bufferpy 0.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bufferpy-0.2.3.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bufferpy-0.2.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 39.2 kB
Release files / bufferpy-0.2.3.tar.gz
| Download URL | bufferpy-0.2.3.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d12f0b0ffd2e1b5b6b28c6e8df4a70ddce7f780d42612a58519a4a4d2a68be1a
|
|
BLAKE2b-256 checksum How to use checksums |
1ea5c3d7a766bf319ced221b966e2d71c9773aa649af84a4a9649be139aaa9a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.0 CPython/3.9.0 Windows/10
|
Release files / bufferpy-0.2.3-py3-none-any.whl
| Download URL | bufferpy-0.2.3-py3-none-any.whl |
|---|---|
| Size | 25.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3994d64b921c3fb25d1863dcd870dbc89cc713e4018101ce0a52a414be8aa29d
|
|
BLAKE2b-256 checksum How to use checksums |
3b20b8cb0a03fa587b3d99c800e6fd250a775aceae9c66b7ea07707c84ccc323
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.2.0 CPython/3.9.0 Windows/10
|