Skip to main content
Every platform letmepost.dev supports goes through the same API surface — POST /v1/posts with targets: [...]. Per-platform quirks (caps, mime types, OAuth shapes) live in preflight rules so failures surface locally with a rule id instead of an opaque upstream error.
All eight platforms are live. Bluesky, X, Pinterest, LinkedIn, Instagram, Facebook Pages, and Threads publish end-to-end. TikTok publishes on its upload track, where the video lands in the creator’s TikTok inbox for them to confirm in the app. The API surface is identical across all of them — same POST /v1/posts, same error envelope. Live status is also queryable at GET /v1/platform-versions.

Twitter / X

v2 API · OAuth 2.0 PKCE · 4-up images, video, reply chains, quote tweets, Premium 25k chars.

Instagram

Meta Graph · Standalone Instagram Login · Photos, Reels, carousels (≤10) for Business/Creator.

LinkedIn

Versioned REST · Personal posting in v1; org posting needs Marketing Developer Platform.

Facebook Pages

Meta Graph · Facebook Login for Business · Page text, photos, videos.

Threads

Threads Graph · Standalone OAuth at threads.net · Text + carousel (2–20, mixed image/video).

Pinterest

v5 API · OAuth 2.0 · Image + video pins · Cover image required for video.

TikTok

Content Posting API · OAuth 2.0 PKCE · Upload-inbox path. Live — posts land in the creator’s TikTok inbox for them to confirm in the app.

Bluesky

AT Proto · App-password connect (no OAuth) · Text + media + first comment.

What’s the same everywhere

  • One request shape. POST /v1/posts with targets: [{ accountId, ... }], optional media, optional scheduledAt.
  • One error envelope. code + rule + platformResponse + remediation + docUrl + ruleUrl — no per-platform body: {} surprises.
  • Idempotency keys. Every write accepts Idempotency-Key; replays return the original response.
  • Preflight, not postflight. Documented platform rules run locally before the upstream call.
  • Multi-target fan-out. One request can publish to N targets in parallel with per-target overrides.

What’s different per platform

The per-platform pages above link to the exact constraints and the OAuth scope set.

Out of v1

Deliberately cut:
  • Reddit, Telegram, Discord, Snapchat, Google Business, WhatsApp — long-tail platforms with fewer than 1k accounts each in the dataset that drove platform priority decisions.
TikTok was originally cut for the same audit-complexity reason; it is now live on the upload-inbox track, where a post arrives as a draft the creator confirms in the TikTok app.

Build order

Platform priority was decided from the 90-day post-volume / failure-rate corpus (see PRODUCT.md for the data):
  1. Bluesky — first to ship. Simple AT Proto, no app review, minutes-long JWT lifecycle is a good forcing function for the token-refresh architecture.
  2. LinkedIn — the wedge platform. #1 complaint volume in the 150-citation research corpus, cleanest API of the major networks, no brutal approval gauntlet.
  3. Twitter / X — table-stakes for the automation-builder ICP.
  4. Instagram + Facebook + Threads — Meta Graph trio, built together because they share auth (well, Threads is its own).
  5. Pinterest — cheapest integration, fastest-growing network in the dataset (+1369% over 90 days).
Watch the changelog for live status flips.