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: July 2026

One API key. No per-account fees. 15 platforms.

API key authScheduled publishing15 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
Official APIs500k+ connected accountsDirect engineer support

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.

Product architecture

Build social media workflows without rebuilding every platform

Social media OAuth API for connecting customer accounts

For SaaS products, agencies, white-label tools, and multi-tenant platforms whose users connect their own accounts, OAuth is where the integration effort actually goes. Each network has its own consent screen, scope list, token lifetime, refresh behavior, and redirect handling, and most require app review before the first customer can connect anything. That work never finishes, because platforms change their rules on their own schedule.

bundle.social replaces that surface with a hosted connect URL. Your backend requests a connect URL for a platform type and team, redirects the user, and the authorized account appears in the team's connected list. Tokens are stored and refreshed by bundle.social, so your product stays stateless and never holds platform credentials.

A connected account is not always a ready account

Authorization is only the first step. Facebook and LinkedIn connections resolve to a person who may administer several pages, Google consent asks which channel to grant when an account owns more than one, and personal and business accounts on the same network carry different permission sets after an identical-looking success.

A better connection flow makes channel selection, account type, and permission scope visible before publishing depends on them. bundle.social handles the consent round, exposes channel selection where platforms require it, and separates a genuinely broken connection from an ordinary failure, so users are asked to reconnect only when reconnecting is the fix.

Connected accounts as shared workspace infrastructure

Connections are used by more than publishing. Scheduling, analytics, comment workflows, and post history imports all depend on the same authorized account, and in a multi-tenant product each customer workspace needs its own isolated set of them.

bundle.social scopes connected accounts to the team rather than to the person who authorized them, so every team member and organization API key can reference them without a per-user auth step. Accounts can be disconnected and reconnected without losing post history or analytics context, and the hosted portal carries your branding so customers can recover on their own.

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

Visible post status

Track scheduled, processing, posted, retrying, and error states per post.

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.

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.