> ## Documentation Index
> Fetch the complete documentation index at: https://docs.social-api.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Base URL: https://api.social-api.ai/v1. Send your API key in the Authorization header: Authorization: Bearer <your API key>.
> Every error response from /v1 is JSON: { "error": { "code", "message", "meta" (optional) }, "request_id" }. Branch on error.code; use error.message only for logs.
> A 429 response carries a Retry-After header, in seconds, when the limit has a known wait. Authenticated responses can carry X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset for the per-minute request budget your SocialAPI account shares across every API key (see /guides/rate-limits).
> Paginated list endpoints return next_cursor, at the top level or inside pagination (see /guides/pagination). Pass it as the cursor query parameter to get the next page. An absent or empty next_cursor means you have the last page.
> Treat every ID as an opaque string: do not parse it or assume a format.
> Support differs by platform and by operation. Check /platforms/overview before assuming an operation works on a platform. An unsupported operation returns 501 with error.code resource.not_supported.

# Platform apps

> See which app connects each platform to SocialAPI: SocialAPI's own apps for most platforms, and your own X app, Telegram bot, or Bluesky app password.

A platform app is the registration that a social platform requires before software can ask a person for access to their account. SocialAPI connects Instagram, Facebook, Threads, Google Business Profile, TikTok, LinkedIn, YouTube, Pinterest, Zalo, and WhatsApp through its own apps, so you register no app, apply for no app review, and keep no platform secret. X connects through an X developer app that you create. Telegram connects through your bot's token, and Bluesky through an app password.

Which app connects a platform changes only what you provide when you [connect an account](https://docs.social-api.ai/guides/connect-accounts.md). It does not change the endpoints you call afterwards.

## Who connects each platform

| Platform | Slug | App that connects it | What you provide |
| - | - | - | - |
| Instagram | `instagram` | SocialAPI's app | Nothing. The person signs in to Instagram, or to Facebook with [Facebook Login](https://docs.social-api.ai/platforms/instagram#connect-through-facebook-login), and approves |
| Facebook | `facebook` | SocialAPI's app | Nothing. The person signs in to Facebook and approves |
| Threads | `threads` | SocialAPI's app | Nothing. The person signs in to Threads and approves |
| Google Business Profile | `google` | SocialAPI's app | Nothing. The person signs in to Google and approves |
| TikTok | `tiktok` | SocialAPI's app | Nothing. The person signs in to TikTok and approves |
| LinkedIn | `linkedin` | SocialAPI's app | Nothing. The person signs in to LinkedIn and approves |
| YouTube | `youtube` | SocialAPI's app | Nothing. The person signs in to Google and approves |
| Pinterest | `pinterest` | SocialAPI's app | Nothing. The person signs in to Pinterest and approves |
| Zalo | `zalo` | SocialAPI's app | Nothing. The person signs in to Zalo and approves for their Official Account |
| WhatsApp | `whatsapp` | SocialAPI's Meta app | Nothing to register, no domain to allowlist. The person completes Meta's signup through `auth_url` |
| X / Twitter | `twitter` | Your own X developer app | The app's client ID and client secret, saved in the SocialAPI dashboard |
| Telegram | `telegram` | Your own Telegram bot, no app | The bot token from [@BotFather](https://t.me/BotFather) |
| Bluesky | `bluesky` | None | The account's handle and an app password |
| Trustpilot | `trustpilot` | Not connectable | Nothing. Trustpilot is not available |

Every connectable platform in the table is open to every plan; `trustpilot` is listed but cannot be connected and returns `403 billing.platform_not_available`. Two features need a paid plan: sending a WhatsApp template message, and visual analysis in exports (`include_vision`). See [Plans](https://docs.social-api.ai/guides/plans.md). A slug not in the table also returns `403 billing.platform_not_available`.

## Why X uses your own app

X bills API usage to the developer account that owns the app, in pay-per-use credits. X's free API tier is closed to new developer accounts. SocialAPI therefore connects X only through an app that you register, so every read and write on your X accounts is billed to your X developer account, not to SocialAPI.

You save one X app for your SocialAPI account and, optionally, a different X app for a single brand. Starting an X connection without saved credentials fails with `412 byok.credentials_missing`. [Connect X with your own app](https://docs.social-api.ai/platforms/twitter/own-app.md) walks through the setup.

## Telegram and Bluesky have no consent screen

Telegram and Bluesky connect in one request. You send the credential in `metadata` on `POST /v1/accounts/connect`, and SocialAPI answers with the connected account:

* **Telegram:** a bot token. You create the bot with [@BotFather](https://t.me/BotFather). The token does not expire. It stays valid until you revoke it in @BotFather, including after you disconnect the account. See [Telegram](https://docs.social-api.ai/platforms/telegram.md).
* **Bluesky:** the account's handle and an app password that you create in Bluesky's settings. Never send the account's real password. See [Bluesky](https://docs.social-api.ai/platforms/bluesky).

## Scopes each platform asks for

Each platform's page lists the scopes that SocialAPI requests when the person connects, and what each one is for: [Instagram](https://docs.social-api.ai/platforms/instagram), [Facebook](https://docs.social-api.ai/platforms/facebook), [Threads](https://docs.social-api.ai/platforms/threads), [Google Business Profile](https://docs.social-api.ai/platforms/google), [TikTok](https://docs.social-api.ai/platforms/tiktok), [LinkedIn](https://docs.social-api.ai/platforms/linkedin), [YouTube](https://docs.social-api.ai/platforms/youtube), [Pinterest](https://docs.social-api.ai/platforms/pinterest), [Zalo](https://docs.social-api.ai/platforms/zalo), and [X / Twitter](https://docs.social-api.ai/platforms/twitter). Send `permissions` when you connect an account to ask the person for fewer scopes: see [Account permissions](https://docs.social-api.ai/guides/permissions.md).

## FAQ

> [accordion] Do I need to register an app or apply for app review?
>
> Not for Instagram, Facebook, Threads, Google Business Profile, TikTok, LinkedIn, YouTube, Pinterest, Zalo, or WhatsApp. SocialAPI's apps already exist, and you connect through them. For X you create your own developer app, as described in [Connect X with your own app](https://docs.social-api.ai/platforms/twitter/own-app.md).

> [accordion] Whose name appears on the platform's consent screen?
>
> The name of the app that connects the platform: SocialAPI's app for Instagram, Facebook, Threads, Google Business Profile, TikTok, LinkedIn, YouTube, Pinterest, Zalo, and WhatsApp, and your own X app for X.

> [accordion] Can I use my own Meta, TikTok, or Google app?
>
> No. Only X connects through your own app. Every other platform that has a consent screen connects through SocialAPI's app.

> [accordion] Does my plan change which app connects a platform?
>
> No. Plans change allowances such as brands, not apps. See [Plans](https://docs.social-api.ai/guides/plans.md).

> [accordion] What happens when a platform limits or revokes SocialAPI's app?
>
> Every account connected through that app is affected at the same time. SocialAPI posts incidents on [status.social-api.ai](https://status.social-api.ai) and as `incident` notices in [Announcements](https://docs.social-api.ai/guides/announcements.md). X accounts are not affected, because each one connects through your own app.

> [accordion] Do I handle the platform's access tokens?
>
> No. SocialAPI keeps them and refreshes them. You send your SocialAPI API key. When a platform ends an authorization, the account's `status` changes and you reconnect it: see [Account status](https://docs.social-api.ai/guides/connect-accounts.md#account-status).

## Related

* [Connect a social account](https://docs.social-api.ai/guides/connect-accounts.md) for starting, reconnecting, and disconnecting connections
* [Connect X with your own app](https://docs.social-api.ai/platforms/twitter/own-app.md) for the X developer app setup
* [Supported platforms](https://docs.social-api.ai/platforms/overview.md) for what each platform can do once connected
* [Plans](https://docs.social-api.ai/guides/plans.md) for allowances that differ by plan
* [Announcements](https://docs.social-api.ai/guides/announcements.md) for incident and maintenance notices


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.