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: May 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.

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.

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.