Connect Social Accounts

Social media OAuth API for connecting customer accounts

Generate a connect URL, redirect your user through OAuth, and get a connected social account ready for posting, scheduling, and analytics in one flow.

Last updated: May 2026

API key authScheduled publishing14 platforms
Quick start
API request
1// Generate a connect URL for the user to authorize their account2const response = await fetch(3  "https://api.bundle.social/api/v1/social-account/connect-url" +4  "?platformType=INSTAGRAM&teamId=team_123",5  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }6);78const { connectUrl } = await response.json();910// Redirect your user to connectUrl to complete OAuth11// After authorization, the account appears in the team's connected list

Building OAuth per platform

Each social platform has its own OAuth flow, scopes, token refresh behavior, and redirect handling.
Storing and rotating tokens securely requires infrastructure most teams do not want to own.
App review and permission approval from each platform add weeks before a user can connect their first account.

What bundle.social handles

Generate a connect URL per platform and redirect your user. No OAuth implementation required on your end.
Connected accounts are immediately available for posting, scheduling, analytics, and post history imports.
Token storage and refresh are managed by bundle.social so your product stays stateless.

Account connection is the first step in every social workflow

Before a post can be created, the social account has to be connected. bundle.social's connect URL flow handles OAuth so your team can focus on the publishing experience, not the auth plumbing.

Workflow

How it works

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

01

Generate a connect URL

Call the connect-url endpoint with the platform type and team ID to get a redirect URL for the user.

02

Redirect and authorize

Send the user to the connect URL. They authorize the connection on the native platform.

03

Account is ready

After authorization, the account appears in the team's connected social account list and is available for all API workflows.

Capabilities

Social account connection without building OAuth

Redirect users to a connect URL. bundle.social handles every platform's OAuth, tokens, and permissions.

OAuth handled for you

Generate a connect URL per platform and redirect users without building OAuth flows for each network.

Stateless for your product

Token storage, refresh logic, and permission mapping are managed by bundle.social so your servers never hold credentials.

Multi-platform connect flow

One URL endpoint pattern covers Instagram, LinkedIn, TikTok, YouTube, Facebook, and every other supported network.

Account available immediately

After authorization, the connected account appears in the team's list and is ready for all API and dashboard workflows.

Revoke and reconnect support

Accounts can be disconnected and reconnected without losing post history or analytics context.

Team-scoped connections

Connected accounts belong to the team workspace so all members and API keys can reference them without per-user auth.

Developer example

Generate an Instagram connect URL

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
1// Generate connect URL2const connectRes = await fetch(3  "https://api.bundle.social/api/v1/social-account/connect-url?platformType=INSTAGRAM&teamId=team_123",4  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }5);6const { connectUrl } = await connectRes.json();78// After user completes OAuth, list connected accounts9const accounts = await fetch(10  "https://api.bundle.social/api/v1/social-account?teamId=team_123",11  { headers: { "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY } }12);13const { socialAccounts } = await accounts.json();

Supported content

OAuth connect URLsConnected account listPlatform type selectionTeam account mapping

Honest limitations

  • Each platform's OAuth app review and permission approval still apply before accounts can connect.
  • Users must complete the authorization flow on the native platform's consent screen.
  • Some platform account types (personal vs. business) have different permission sets after connection.

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;

FAQ

Questions developers ask before building

Do I need to implement OAuth myself?

No. bundle.social generates the redirect URL and handles token exchange. You redirect the user to the connect URL and the account appears in your team list after they authorize.

Which platforms can be connected?

All platforms that bundle.social supports for posting, scheduling, or analytics can be connected via this flow. Check the platform pages for supported account types.

What happens after the user authorizes?

The connected account appears in the team's social account list and is immediately available for creating posts, importing history, and pulling analytics.

How are tokens managed?

bundle.social stores and refreshes tokens on your behalf. Your product does not need to handle token storage or rotation.

How do I add another account for the same platform?

Yes. A team can connect multiple social accounts where the platform and plan support it. For platforms with selectable channels, such as Facebook Pages or LinkedIn company pages, use the channel selection flow after OAuth so users choose the right destination.