BYOK Guide

Bring Your Own Key

Step-by-step instructions to get API keys and tokens for every social media platform supported by BuyCrowds. Some platforms require no setup at all.

Platform Overview

Platform Auth Type Difficulty Token Lifetime Free?
Instagram / Facebook OAuth + Graph API Token Hard 60 days Yes
TikTok OAuth Token Medium 24 hours (refresh: 365d) Yes
YouTube API Key Easy Never expires Yes
Twitter / X Bearer Token Easy Never expires Free tier limited
Spotify Client ID + Secret Easy Never expires (credentials) Yes
GitHub Personal Access Token Easy Configurable (90d rec.) Yes
Reddit None needed None N/A Yes
Bluesky None needed None N/A Yes
LinkedIn OAuth Token Hard 60 days Restricted
Twitch Client ID + OAuth Token Medium 60 days Yes
WhatsApp Business Business API Token Hard 24h temp / permanent Yes
Telegram Bot Token Easy Never expires Yes
Pinterest OAuth Token Medium 30 days Yes
Snapchat Login Kit Medium Varies Yes
Google Business Profile OAuth + API Access Hard 1 hour (refresh available) Yes
📷
Instagram / Facebook (Meta)
Graph API Access Token + App ID
What you need: Graph API Access Token + App ID

Setup Steps

  1. Go to developers.facebook.com
  2. Click "My Apps" then "Create App"
  3. Select app type: "Business"
  4. Fill in app name and contact email
  5. In the app dashboard, add the "Instagram Graph API" product
  6. Go to Settings → Basic → copy your App ID and App Secret
  7. Go to the Graph API Explorer:
    https://developers.facebook.com/tools/explorer/
  8. Select your app from the dropdown, then click "Generate Access Token"
  9. Select permissions: instagram_basic, instagram_manage_insights, pages_show_list, pages_read_engagement
  10. Click "Generate" and copy the token
  11. To get your IG User ID: call GET /me/accounts to get Page ID, then GET /{page_id}?fields=instagram_business_account to get IG User ID
  12. Use in BuyCrowds: ?token=YOUR_TOKEN&ig_user_id=YOUR_IG_ID

Details

Scopes Needed
instagram_basic, instagram_manage_insights, pages_show_list
Token Expires
60 days (long-lived)
Refresh Method
/oauth/access_token?grant_type=fb_exchange_token
App Review: Required for production use. Test mode works for your own accounts only.
📖 Official Docs →
🎵
TikTok
Display API Access Token
What you need: Display API Access Token

Setup Steps

  1. Go to developers.tiktok.com
  2. Click "Manage Apps" then "Create App"
  3. Add products: "Login Kit" + "Content Posting API"
  4. Set redirect URI to your callback URL
  5. Submit app for review (or use Sandbox mode for testing)
  6. Get Client Key and Client Secret from app settings
  7. Implement OAuth flow: redirect user to
    https://www.tiktok.com/v2/auth/authorize/
  8. Exchange code for access token via POST /v2/oauth/token/
  9. Use in BuyCrowds: ?token=act.YOUR_ACCESS_TOKEN

Details

Scopes
user.info.basic, user.info.stats, video.list
Token Expires
24 hours
Refresh Token
Valid for 365 days
Rate Limits
600 req/min per endpoint
📖 Official Docs →
YouTube
YouTube Data API v3 Key
What you need: YouTube Data API v3 Key

Setup Steps

  1. Go to console.cloud.google.com
  2. Create a new project (or select an existing one)
  3. Go to "APIs & Services""Library"
  4. Search for "YouTube Data API v3" → click Enable
  5. Go to "APIs & Services""Credentials"
  6. Click "Create Credentials""API Key"
  7. Copy the API key
  8. (Recommended) Click "Restrict Key" → select "YouTube Data API v3" only
  9. Use in BuyCrowds: ?key=YOUR_API_KEY
No OAuth needed! An API key gives read access to all public data.

Details

Default Quota
10,000 units/day
Cost: Search
100 units per call
Cost: Video/Channel List
1 unit per call
Quota Increase
Google Cloud Console → Quotas
📖 Official Docs →
𝕏
Twitter / X
Bearer Token
What you need: Bearer Token

Setup Steps

  1. Go to developer.x.com
  2. Sign up for a developer account (free tier available)
  3. Create a "Project" → Create an "App"
  4. Go to app "Keys and tokens" tab
  5. Under "Bearer Token" → click Generate
  6. Copy the bearer token (starts with AAAA...)
  7. Use in BuyCrowds: ?token=YOUR_BEARER_TOKEN

Pricing Tiers

Free Tier
1 app, limited endpoints
Basic Tier ($200/mo)
Most endpoints, 10K tweets/month read
Rate: Recent Search
450/15min (app), 180/15min (user)
📖 Official Docs →
🎶
Spotify
Client ID + Client Secret
What you need: Client ID + Client Secret

Setup Steps

  1. Go to developer.spotify.com/dashboard
  2. Click "Create App"
  3. Fill in app name, description, and redirect URI
  4. Set "Which API/SDKs are you planning to use?"Web API
  5. In app settings, copy Client ID and Client Secret
  6. Use in BuyCrowds: ?client_id=YOUR_ID&client_secret=YOUR_SECRET
How it works: BuyCrowds uses the Client Credentials flow (no user login needed) to get a token, then calls the Spotify API on your behalf.

Details

Can Access
Artist info, top tracks, albums, related artists, search
Cannot Access (no user OAuth)
User playlists, listening history, playback
Rate Limits
~180 req/min (rolling 30s window)
📖 Official Docs →
🐱
GitHub
Personal Access Token (PAT)
What you need: Personal Access Token (PAT)

Setup Steps

  1. Go to github.com/settings/tokens
    https://github.com/settings/tokens
  2. Click "Generate new token""Fine-grained" (recommended)
  3. Set expiration (90 days recommended)
  4. Select "Public Repositories (read-only)" at minimum
  5. Click "Generate token"
  6. Copy the token (starts with ghp_ or github_pat_)
  7. Use in BuyCrowds: ?token=YOUR_PAT

Details

Without Token
60 requests/hour (by IP)
With Token
5,000 requests/hour
Access
User profiles, repos, orgs, starred, events, followers, contributions
Classic vs Fine-grained: Fine-grained tokens are more secure because they can be scoped to specific repos and permissions.
📖 Official Docs →
💬
Reddit
No authentication needed
What you need: Nothing! Reddit's public .json API works without authentication.

Just Call the Endpoint

No setup required. The Reddit public API works out of the box.

GET /v1/public/reddit/torvalds/posts

Details

Without Auth
10 requests/minute (by IP)
With OAuth (optional)
100 requests/minute
Want higher limits? Register an app at reddit.com/prefs/apps for OAuth-level rate limits.
📖 Official Docs →
🦋
Bluesky
No authentication needed
What you need: Nothing! Bluesky has a fully public API.

Just Call the Endpoint

No setup required. Bluesky's AT Protocol API is fully open.

GET /v1/public/bluesky/jay.bsky.team/followers

Details

Public API Base
https://public.api.bsky.app/xrpc/
Rate Limits
Generous, no published limits for public read endpoints
📖 Official Docs →
💼
LinkedIn
OAuth Access Token (restricted API)
What you need: OAuth Access Token (restricted API)

Setup Steps

  1. Go to linkedin.com/developers
  2. Create an app → fill in company page, logo, etc.
  3. Request products: "Sign In with LinkedIn using OpenID Connect"
  4. In the Auth tab, copy Client ID and Client Secret
  5. Add your redirect URI
  6. Implement OAuth 2.0 authorization flow
  7. Use in BuyCrowds: ?token=YOUR_ACCESS_TOKEN
Important: LinkedIn API is heavily restricted. Most endpoints require partnership or approval from LinkedIn.

Details

Can Access
Your own profile (r_liteprofile), email (r_emailaddress), post on behalf (w_member_social)
Cannot Easily Access
Other people's profiles, follower lists, company analytics (requires Marketing API partner status)
📖 Official Docs →
🎮
Twitch
Client ID + OAuth Token
What you need: Client ID + OAuth Token

Setup Steps

  1. Go to dev.twitch.tv/console
  2. Register application → fill in name, OAuth redirect URL, and category
  3. Copy Client ID from app settings
  4. Get an app access token:
    POST https://id.twitch.tv/oauth2/token?client_id=X&client_secret=Y&grant_type=client_credentials
  5. Use in BuyCrowds: ?client_id=YOUR_ID&token=YOUR_TOKEN

Details

App Token (no user login)
Public channel data, streams, users
User Token (with OAuth)
Additional: subscriptions, followers count
Rate Limits
800 requests/minute with token
📖 Official Docs →
📱
WhatsApp Business
Business API Access Token
What you need: Business API Access Token

Setup Steps

  1. Go to developers.facebook.com
  2. Create app → select "Business" type
  3. Add "WhatsApp" product
  4. In WhatsApp → Getting Started, get a test phone number
  5. Generate a temporary access token (valid 24 hours)
  6. For production: create a System User in Business Manager → generate a permanent token
  7. Use in BuyCrowds API: Configure via /api/social-networks with network="whatsapp"

Details

Scopes
whatsapp_business_management, whatsapp_business_messaging
Sending Limits
1 message per 6 seconds per recipient, tier-based daily limits
📖 Official Docs →
Telegram
Bot Token
What you need: Bot Token

Setup Steps

  1. Open Telegram → search @BotFather
  2. Send /newbot
  3. Choose a name and username for your bot
  4. BotFather gives you a token like: 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11
  5. Use in BuyCrowds API: Configure via /api/social-networks with network="telegram"

Details

Capabilities
Send messages, get channel members count, send media
Token Lifetime
Never expires (unless revoked)
📖 Official Docs →
📌
Pinterest
OAuth Token via App ID + Secret
What you need: App ID + App Secret (OAuth flow)

Setup Steps

  1. Go to developers.pinterest.com
  2. Create an app → get App ID and App Secret
  3. Implement OAuth flow with scopes: boards:read, pins:read, user_accounts:read
📖 Official Docs →
👻
Snapchat
Login Kit Client ID
What you need: Login Kit Client ID

Setup Steps

  1. Go to kit.snapchat.com
  2. Create an app → configure Login Kit
  3. Get your Client ID
📖 Official Docs →
🏢
Google Business Profile
OAuth + API Access (requires approval)
What you need: OAuth credentials + GBP API access (approval required)

Setup Steps

  1. Use the same Google Cloud project as YouTube (or create a new one)
  2. Enable "My Business Account Management API" + "Business Information API"
  3. Create OAuth credentials (not just API key — requires user consent)
  4. Apply for GBP API access at Google's form (approval may take days)
Note: Unlike YouTube, Google Business Profile requires OAuth (user consent) and a separate API access application. This is not instant.
📖 Official Docs →