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
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 listBuilding OAuth per platform
What bundle.social handles
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.
Generate a connect URL
Call the connect-url endpoint with the platform type and team ID to get a redirect URL for the user.
Redirect and authorize
Send the user to the connect URL. They authorize the connection on the native platform.
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.
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
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.