If you use Buffer to plan social posts and want another tool to work with your Buffer account, the Buffer API provides that connection. An API, or application programming interface, lets software exchange information and request actions. Buffer’s API uses GraphQL, a query language that lets software request specific data and perform actions Buffer supports.
You can use the API to build a custom integration or automate tasks, such as adding posts to a queue and retrieving your connected channels. Buffer includes API access on its Free plan, though request limits vary by plan. If you want to send WordPress posts to Buffer without writing an integration, PressQueue is a free, open source WordPress plugin that does that for you.
What the Buffer API can do
Buffer’s API lets your tools use Buffer’s publishing and planning features. You can use its documented operations to create, retrieve, and delete queued posts, add ideas to the Ideas library, and retrieve information about accounts, organizations, and connected channels. Buffer lists services such as IFTTT, Zapier, n8n, and Make as connection options, with templates available for Zapier and n8n on its API page.
The API also supports content items, which are either a draft with no channel attached or a group of posts prepared for specific channels. When you create posts for several channels in one request, Buffer checks all of them together. If any post fails those checks, Buffer creates none of them. When you turn a draft with no channel into posts for specific channels, you cannot reverse that change, so check the draft first. Buffer describes these details in its content items guide.
Buffer’s developer portal includes an interactive API Explorer, where you can test queries before writing code, and a developer reference. Buffer also offers an MCP server and a command-line interface. For your own use, start with a personal API key. Buffer provides an App Client for connecting an application.
Buffer limits which operations the API supports. Its FAQ says analytics support is planned for the future, so you cannot retrieve social analytics through the API now. Buffer marks some newer features, including tag operations, as previews or experimental in its API reference and changelog. Check the current documentation before relying on them.
How to get a Buffer API key
A personal API key lets a tool or integration you use access your Buffer account. Buffer recommends this key for individual use. Create one:
- Sign in to Buffer, then open your account settings.
- Go to API.
- Create a personal API key. Buffer asks how long the key should last. Pick 1 year, the longest option, because the default is 30 days.
You can also create an App Client to connect an application to Buffer. Buffer says it manages OAuth, the authorization method that lets connected applications access an account. The available sources do not explain every step in the authorization flow or show the exact screens for creating either credential. Follow the current instructions in Buffer’s developer portal.
Only an organization owner can create API keys or App Clients and view API limits. If you cannot find the API settings, ask the owner to create a credential or check your access. Buffer’s API access is available on its current plans, including Free, but the number of credentials and request limits depend on the plan.
| Buffer plan | API keys and App Clients | Requests per 15 minutes | Requests per 30 days |
|---|---|---|---|
| Free | 1 of each | 100 | 3,000 |
| Essentials | 3 of each | 100 | 7,500 |
| Team | 5 of each | 100 | 15,000 |
These are Buffer’s published limits for each API key. If a request exceeds a limit, the API returns an error. Your integration must wait until usage falls below that limit before sending more requests. Make it handle the error instead of sending requests again and again. Buffer says partner integrations and projects that need more capacity can email [email protected] to ask for higher limits. Check Buffer’s current API limits and access details before you deploy an integration.
When to use PressQueue with Buffer
PressQueue is for WordPress publishers who want Buffer to handle social posting without building and maintaining an API integration. It is a free, open source WordPress plugin for Buffer. It sends your WordPress posts to Buffer, and Buffer posts them to your channels.
To install PressQueue, download pressqueue.zip from the PressQueue download page. In WordPress, open Plugins > Add Plugin > Upload Plugin and upload the ZIP. You need a WordPress site that lets you upload plugins, plus WordPress 6.8 or newer and PHP 8.1 or newer. You also need a Buffer account with your social accounts connected.
To connect the plugin, paste a personal API key from Buffer’s API settings. PressQueue does not have a Buffer login button. It stores the key in encrypted form. Your connected Buffer channels appear with on and off switches, and new channels start turned off.
With PressQueue, you can choose when to share a post, which posts qualify, which channels receive them, what the message says, when Buffer publishes them, and which image to use. For example, a rule can share posts from a selected category when they go live. A one-click option creates the rule “Share every new post to all my channels.” PressQueue switches new rules off by default, so you can test them against recent posts before turning them on.
The message editor supports placeholders such as {{ title }}, {{ excerpt }}, and {{ terms:category }}; PressQueue adds the post link for you. You can customize messages for each network and preview each one with a character count. A saved template gives you a starting point. You can choose when Buffer publishes a post: add it to the end of the queue, put it at the top of the queue ahead of posts already waiting, send it right away, save it as a draft for review, or set a date and time for that post.
In Test mode, PressQueue records what it would share but does not send posts. You can switch to Live mode to share posts or Paused mode to stop sharing. A “Never share” rule keeps posts in selected categories or tags, and posts by selected authors, off social media, even if another sharing rule matches. The editor also lets you switch sharing on or off for an individual post and choose “Customize for this post.” With Share now, you can preview a published post that you have not shared before, for each channel, before sending it. Share old posts lets you reshare published posts in batches spread through the Buffer queue, send them one at a time, or save them as Buffer drafts. Backdated posts are not shared automatically.
For each post, PressQueue can use no image, the featured image, an image selected in the post, or a generated social image. The generated image shows the post title over a background, with the site name underneath. You choose its style under Settings > Social images. PressQueue creates the image the first time a post needs it. It makes a new image if you change the title or image style. The feature requires PHP GD with FreeType; without that support, PressQueue sends the post with text and a link.
PressQueue can also use the social image as the link-preview image, which appears when someone shares the post URL. It works with Yoast SEO and Rank Math. It also works with The SEO Framework and Jetpack. If an SEO plugin sets an image for a post, PressQueue uses that image first. You can tell PressQueue to use its image on every post, only on posts without another image, or on none.
Through Buffer, the plugin supports LinkedIn, X, Bluesky, Mastodon, Threads and Facebook. PressQueue’s setup instructions are at pressqueue.com/docs, and you can find its source code on GitHub.