In short
Social Relay expects buyer-hosted HTTPS media URLs reachable by Meta and LinkedIn crawlers. Instagram has a 50 posts/24h hard quota and 2,200 character captions; LinkedIn text max is about 3,000; Facebook Pages disallow mixing images and video in one post. Always validate before publish.
Hosting model (v1)
You host media on your CDN. Social Relay validates URLs (and optional HEAD probe) rather than acting as a full media gallery in P0. Private IPs, localhost, and non-HTTPS URLs are rejected.
Character limits (summary)
- Facebook Page text: up to ~63,206 characters
- Instagram caption: 2,200; hashtags max ~5; links in caption not clickable
- LinkedIn: ~3,000 characters for organic posts
Hard quotas to respect (per connected account)
These are per Instagram / LinkedIn / Facebook Page identity — not one shared bucket for your whole SaaS. Social Relay rejects over-quota publishes with quota_exceeded. See the guide “API limits and fair use” for product-side rate limits.
- Instagram: ~50 posts per rolling 24 hours (Content Publishing API)
- LinkedIn: ~150 posts per day per account
- Facebook Reels: ~30 Reels per Page per rolling 24 hours
Format highlights
Facebook: do not mix images and video in one post; multi-image or single video. Instagram: carousel up to 10 items; Reels as video posts; professional account linked to a Page. LinkedIn: multi-image up to 9; personal (member) author only.
media.validate costs 2 tokens per validation call when used.
Account types we support (read carefully)
Integrators should tell end users exactly which account types can connect. Names in the API (facebook, instagram, linkedin) are network keys—not a promise of every profile type on that network.
- Facebook: Pages only — not personal Facebook profiles or timelines
- Instagram: Business or Creator (professional) accounts linked to a Facebook Page
- LinkedIn: personal (member) profiles only — not Company Pages
- Bluesky: handle + app password (create under Bluesky settings)
- Mastodon: any instance host; user authorizes via that instance’s OAuth

