Core concepts
Connecting accounts
A profile is a connected social account — and a cheap Postgres primitive. Create as many as you need across 12 networks, with no per-channel tax, and manage them over the API, CLI, MCP, or dashboard.
Supported networks
Socializer connects to 12 networks today:
- Bluesky
bluesky - Mastodon
mastodon - X
x - LinkedIn
linkedin - Instagram
instagram - Facebook
facebook - Threads
threads - Reddit
reddit - YouTube
youtube - TikTok
tiktok - Pinterest
pinterest - Google Business
gbp
Per-network behaviour (redirect-based OAuth vs. handle/form connect, capabilities, media and length limits) is driven by versioned adapters on the server, not hardcoded in any client — so the UI and CLI never drift from what a network actually supports.
Connect via the CLI
auth login starts the connect flow. For OAuth networks it prints an authorize URL to open; for handle-based networks (e.g. Bluesky) it takes the handle directly:
# OAuth network — prints the authorize URL, no hidden steps
$ socializer auth login linkedin
# handle-based network
$ socializer auth login bluesky --handle you.bsky.social
# list connected accounts with token + rate-limit health
$ socializer auth listConnect via the API
Kicking off OAuth over HTTP returns an authorize URL and a state to round-trip:
curl -X POST https://socializer.co/api/v1/profiles/connect \
-H "Authorization: Bearer sk_live_…" \
-H "Content-Type: application/json" \
-d '{ "network": "linkedin" }'
# → { "authorize_url": "https://www.linkedin.com/oauth/…", "state": "…" }After the user authorizes, the provider redirects back to /profiles/connect/callback, which creates the profile and stores its envelope-encrypted credentials. See Authentication for how those credentials are protected.
Token health & refresh
Each profile exposes token health, rate-limit headroom, and the last error. Tokens refresh automatically; force a refresh (single-flight, locked) when you need to:
$ socializer profiles status --profile prof_…
$ socializer auth refresh --profile prof_…Disconnecting
Removing a profile purges its credentials and derived data — a clean, GDPR-friendly delete:
$ socializer profiles rm prof_…Next, learn the posting lifecycle.