# Buffer API

> Connect Buffer to your agents, automation tools, or build something entirely new.

API Endpoint: https://api.buffer.com
Authentication: Bearer token via Authorization header

## Guides

- [Introduction](https://developers.buffer.com/guides/introduction.md): What the Buffer API is, what it can do, and how it is built
- [Quick Start](https://developers.buffer.com/guides/getting-started.md): Create an API key and send your first GraphQL request
- [Authentication](https://developers.buffer.com/guides/authentication.md): Get an API key, or run the OAuth 2.0 PKCE flow to act for other users
- [Your First Post](https://developers.buffer.com/guides/your-first-post.md): A five-minute walkthrough from organization ID to a scheduled post
- [GraphQL for REST Devs](https://developers.buffer.com/guides/graphql-intro.md): How GraphQL differs from REST, with one endpoint and the fields you choose
- [REST API Migration](https://developers.buffer.com/guides/rest-migration.md): Move from the legacy api.bufferapp.com REST API, endpoint by endpoint
- [Data Model](https://developers.buffer.com/guides/data-model.md): How accounts, organizations, channels, posts and ideas fit together
- [Posts & Scheduling](https://developers.buffer.com/guides/posts-and-scheduling.md): Post fields, scheduling modes and the lifecycle from creation to delivery
- [Ideas](https://developers.buffer.com/guides/ideas.md): Capture content in an organization before it is assigned to a channel
- [Hosting Media](https://developers.buffer.com/guides/hosting-media.md): Why you host images and video yourself, and what makes a URL usable
- [Post Metrics](https://developers.buffer.com/guides/post-metrics.md): Read performance data for one post or aggregate it across many
- [API Standards](https://developers.buffer.com/guides/api-standards.md): The compatibility promise that fields are added, never changed or removed
- [Error Handling](https://developers.buffer.com/guides/error-handling.md): Typed mutation errors in data versus non-recoverable errors in errors
- [Rate Limits](https://developers.buffer.com/guides/api-limits.md): Request and key limits per plan, and the windows they apply over
- [Pagination](https://developers.buffer.com/guides/pagination.md): Page through lists with cursors using first and after
- [Buffer CLI](https://developers.buffer.com/guides/cli.md): Run the API from your terminal, with JSON output and agent skill files
- [Integrations](https://developers.buffer.com/guides/integrations.md): Index of the tools Buffer connects to, from AI assistants to automation

## Examples

- [Aggregate Post Metrics](https://developers.buffer.com/examples/aggregate-post-metrics.md): Aggregate normalized post metrics across a window of sent posts, without paginating through individual posts. Available for personal workflows and automations only, using a personal API key.
- [Create Draft Post](https://developers.buffer.com/examples/create-draft-post.md): Draft posts can be created using the createPost mutation with the `saveToDraft` argument set to `true`.
- [Create Idea](https://developers.buffer.com/examples/create-idea.md): Create an idea post for a specified Organization, using the provided content.
- [Create Image Post](https://developers.buffer.com/examples/create-image-post.md): Creating a post with an image works in the same way as creating a text post, with the addition of the `assets` argument. `assets` is an ordered list where each entry specifies exactly one of `image`, `video`, `document`, or `link` — for an image post, pass an `image` entry with the URL you want to attach.
- [Create Instagram Post With User Tags](https://developers.buffer.com/examples/create-instagram-post-with-user-tags.md): User tags let you tag Instagram accounts at a specific point on an image. They are attached per image, on the asset's `metadata.userTags` field - not on the Instagram post metadata - so the same approach works for Instagram posts and stories.
- [Create Scheduled Post](https://developers.buffer.com/examples/create-scheduled-post.md): Scheduled posts can be created using the createPost mutation with the `customScheduled` mode and a `dueAt` timestamp.
- [Create Text Post](https://developers.buffer.com/examples/create-text-post.md): Text posts can be created using the createPost mutation.
- [Create Threaded Post](https://developers.buffer.com/examples/create-threaded-post.md): Threaded posts (for example a Twitter/X thread or a Bluesky, Threads, or Mastodon thread) are created with the `createPost` mutation by passing a `thread` array inside the service-specific `metadata`. Each entry in the array is one post in the thread, and they are published in order, each replying to the previous one.
- [Create Video Post](https://developers.buffer.com/examples/create-video-post.md): Creating a post with a video works in the same way as creating a text post, with the addition of a `video` entry in the `assets` array. `assets` is an ordered list where each entry specifies exactly one of `image`, `video`, `document`, or `link` - pass a `video` entry with the URL you want to attach.
- [Get Channel](https://developers.buffer.com/examples/get-channel.md): Fetch a single channel by its ID.
- [Get Channels](https://developers.buffer.com/examples/get-channels.md): Fetch all channels for the provided Organization ID.
- [Get Filtered Channels](https://developers.buffer.com/examples/get-filtered-channels.md): Fetch all channels for the provided Organization ID.
- [Get Organizations](https://developers.buffer.com/examples/get-organizations.md): Fetch all of the organizations that belong to the authenticated account.
- [Get Paginated Posts](https://developers.buffer.com/examples/get-paginated-posts.md): Fetch a list of posts with support for pagination.
- [Get Post Metrics](https://developers.buffer.com/examples/get-post-metrics.md): Fetch performance metrics for a single post. Available for personal workflows and automations only, using a personal API key.
- [Get Posts For Channels](https://developers.buffer.com/examples/get-posts-for-channels.md): Fetch a list of posts for a specific set of Channel IDs.
- [Get Posts With Assets](https://developers.buffer.com/examples/get-posts-with-assets.md): Fetch a list of posts along with their associated assets (images, videos, etc.) for a specific set of Channel IDs.
- [Get Posts With Metrics](https://developers.buffer.com/examples/get-posts-with-metrics.md): Fetch a paginated list of sent posts together with their performance metrics. Available for personal workflows and automations only, using a personal API key.
- [Get Quarterly Performance Report](https://developers.buffer.com/examples/get-quarterly-performance-report.md): Roll up a quarter of publishing activity into a single aggregate. Useful for BI exports, board-deck stats, or year-on-year comparisons without paginating through every post.
- [Get Scheduled Posts](https://developers.buffer.com/examples/get-scheduled-posts.md): Fetch a list of posts that are scheduled for future publishing.

## API Reference

- [API Reference](https://developers.buffer.com/reference.md): Complete GraphQL API reference with queries, mutations, and types

## Changelog

- [API Changelog](https://developers.buffer.com/changelog.md): A running log of additions, changes, and deprecations to the Buffer GraphQL API

## Optional

- [Zapier](https://developers.buffer.com/guides/integrations/zapier.md): Connect Buffer to Zapier over OAuth to automate without code
- [Claude](https://developers.buffer.com/guides/integrations/claude.md): Connect Buffer to Claude web, desktop or Claude Code over OAuth
- [MCP](https://developers.buffer.com/guides/integrations/mcp.md): Connect any MCP-compatible tool to Buffer with our open MCP server
- [Cursor](https://developers.buffer.com/guides/integrations/cursor.md): Connect Buffer to Cursor over MCP and OAuth
- [n8n](https://developers.buffer.com/guides/integrations/n8n.md): Connect Buffer to n8n with an API key to build automation workflows
- [Raycast](https://developers.buffer.com/guides/integrations/raycast.md): Connect Buffer to Raycast over OAuth for macOS keyboard shortcuts
- [ChatGPT](https://developers.buffer.com/guides/integrations/chatgpt.md): Connect Buffer to ChatGPT web or the Codex CLI over OAuth
- [Notion](https://developers.buffer.com/guides/integrations/notion.md): Connect Buffer to a Notion custom agent over OAuth
- [Perplexity](https://developers.buffer.com/guides/integrations/perplexity.md): Connect Buffer to Perplexity web or desktop over OAuth
- [Antigravity](https://developers.buffer.com/guides/integrations/antigravity.md): Connect Buffer to Google Antigravity over MCP and OAuth
- [Manus](https://developers.buffer.com/guides/integrations/manus.md): Connect Buffer to Manus over OAuth
