Social Media Posting API

Social media posting API for shipping content across every channel

Create social posts from your product, route them to connected accounts, and keep platform-specific payload rules visible without building every native API yourself.

Last updated: July 2026

API key authScheduled publishing14 platforms
Quick start
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Launch update",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["TWITTER", "LINKEDIN", "INSTAGRAM"],13    data: {14      TWITTER: { text: "Launch update is live." },15      LINKEDIN: { text: "We shipped a new product workflow today." },16      INSTAGRAM: { type: "POST", text: "Launch day.", uploadIds: ["upload_123"] }17    }18  })19});

Posting directly to every native API

Each network has a different post model, media workflow, account permission, and status response.
A simple Create Post button turns into platform-specific payloads, retries, and support edge cases.
Teams need dashboard visibility even when posts are created by API calls from another product.

What bundle.social handles

Send one normalized post request while preserving platform-specific fields where they matter.
Use upload IDs, connected accounts, scheduling, and status tracking in the same publishing workflow.
Let developers automate posting without forcing marketers to leave the dashboard.

Posting is the core workflow, not a side endpoint

bundle.social treats every post as a tracked object with platform payloads, status, connected account context, and room for scheduling or analytics later.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Create an API key

Generate an organization API key and use it from your backend with the x-api-key header.

02

Connect accounts

Connect the social accounts your product, agent, or customer workflow should manage.

03

Run the workflow

Call the API with platform-specific data while bundle.social tracks status, context, and dashboard visibility.

Product architecture

Build social media workflows without rebuilding every platform

Social media posting API for product teams that need more than “send a post”

A social media posting API sounds simple until your product has to support real customers, multiple workspaces, connected accounts, scheduled campaigns, videos, images, carousels, links, documents, failed posts, retries, and status visibility. The first version of a Create Post button may look small. The production version usually becomes a stack of native API differences, media requirements, OAuth handling, platform permissions, queue logic, and support edge cases.

bundle.social is built for teams that want to add posting automation without turning every social network into a separate backend project. Your application can create one post object, route it to selected connected accounts, pass platform-specific data where needed, and keep publishing status visible in the dashboard and through the API. If you need the broader infrastructure layer, see the social media API page. For the cross-platform abstraction behind this workflow, go to unified social media API.

Posting API for developers building SaaS, AI tools, and internal workflows

The posting API is especially useful for SaaS platforms, marketing tools, agency dashboards, AI content systems, internal publishing workflows, and developer products that need to publish content on behalf of many users or teams. Instead of asking your engineers to maintain Instagram, TikTok, LinkedIn, X, Facebook, YouTube, Pinterest, Reddit, and other native posting flows one by one, bundle.social gives your backend one consistent publishing workflow.

That does not mean every platform is treated as identical. Native rules still matter. Captions, media types, privacy settings, thumbnails, documents, tags, and eligibility can differ by network. The important part is that your product can keep one integration surface while still passing platform-specific payloads when required. This gives developers the control they need without forcing them to own every native API edge case.

From media upload to scheduled publishing and post status

Modern publishing workflows rarely stop at text. A real social media posting API has to handle assets, scheduling, status transitions, and failure recovery. With bundle.social, uploaded assets can be referenced through upload IDs, so your product does not need to push large videos or images inside the same request every time. If media handling is central to your use case, check the media upload API.

Scheduling is part of the same publishing model. A post can be created for immediate publishing or prepared with a future post date and scheduled status. That makes it easier to build content calendars, approval flows, AI-generated queues, campaign automation, and multi-platform publishing experiences. For timing, queue, and calendar use cases, see the scheduling API. If your product publishes at higher volume, the bulk posting workflow may be a better fit.

Build publishing automation without losing visibility

One of the biggest problems with posting automation is visibility. If a post is created through an API call, marketers, support teams, and developers still need to know what happened: was it scheduled, processing, posted, retrying, or failed? bundle.social treats posts as tracked objects, not invisible requests. That makes the publishing lifecycle easier to debug and easier to support.

This matters when your customers manage many accounts, campaigns, users, and platforms. A failed Instagram post, a missing media asset, a platform permission issue, or an invalid LinkedIn payload should not become a mystery hidden somewhere in logs. Developers need readable errors, and customer-facing teams need enough context to help users without guessing.

For teams building serious social media integrations, the posting API becomes the foundation for the rest of the product: content creation, scheduling, reporting, comments, history, and automation. If analytics are part of your roadmap, connect this workflow with the analytics API. If engagement management matters, extend it with the comments API. The goal is simple: ship social publishing features faster, keep platform complexity contained, and let your product team focus on the experience your users actually see.

Capabilities

Posting primitives for API-first social products

Create posts, attach media, choose platforms, and inspect status from the same API workflow.

Multi-platform post payloads

Create one post with channel-specific data for Instagram, TikTok, LinkedIn, X, Facebook, YouTube, and more. Maintain one integration while supporting 14+ platforms.

Connected account routing

Posts target team-scoped accounts so your product does not store platform credentials or account mappings. We handle token refreshes and OAuth flows.

Media-ready publishing

Reference upload IDs for videos, images, carousels, documents, and thumbnails after assets are uploaded once. Avoid timeout errors on large video files.

Lifecycle status

Track draft, scheduled, processing, posted, retrying, and failed states per post. Use our webhooks to get real-time updates in your own product.

SaaS and AI workflow ready

Build embedded publishing, agent-generated queues, approval flows, customer workspaces, and internal automation around the same post object.

Support visibility built in

A failed Instagram post, missing media asset, permission issue, or invalid LinkedIn payload remains visible instead of disappearing into backend logs.

Developer example

Create a multi-platform social post

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "Launch update",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["TWITTER", "LINKEDIN", "INSTAGRAM"],13    data: {14      TWITTER: { text: "Launch update is live." },15      LINKEDIN: { text: "We shipped a new product workflow today." },16      INSTAGRAM: { type: "POST", text: "Launch day.", uploadIds: ["upload_123"] }17    }18  })19});

Supported content

Text postsImagesVideosCarouselsLinksDocuments

Honest limitations

  • Native platform permissions and account eligibility still decide what can publish.
  • Some content types require uploaded media before post creation.
  • Platform-specific rules still apply to captions, tags, privacy settings, and media dimensions.

Guarantees

Developer-first infrastructure

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day. Sometimes the same hour. Test us c;

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Can I post to multiple social platforms with one API call?

Yes. A post can include multiple socialAccountTypes and a data block for each platform you want to publish to.

Do I need to handle native OAuth tokens?

No. bundle.social handles connected account storage and lets your API key create posts for accounts already connected to the team.

Can posts be scheduled later?

Yes. Use the same post object with a future postDate and SCHEDULED status when the workflow needs scheduling.