Skip to main content

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:

  1. 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,
)
  1. 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,
)
  1. 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,
)
  1. 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
)
  1. 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)

Source distribution for bufferpy 0.2.3
File Size Uploaded
bufferpy-0.2.3.tar.gz 14.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bufferpy 0.2.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page