Platforms / Instagram
LivePlatform integration
Ship Your Integration
In Minutes, Not Weeks.
Meta App Review is the single biggest reason small teams cannot ship a social publishing API. Eleven weeks, three rejections, four re-shot demo videos. We did that once. Connect via our reviewed Meta app and publish through it. Read the postmortem →
In review · Meta App Review · read the docs →
{
"targets": [{ "platform": "instagram" }],
"accountId": "acc_ig_xyz",
"text": "Reel via letmepost.",
"media": [{ "mediaId": "med_reel_…" }]
}Why letmepost vs Meta Graph direct?
Instagram Direct
- You file Meta App Review (8–12 weeks across IG + FB + Threads)
- You record screen-recordings for every Advanced Access permission
- You complete Business Verification (5–15 days separately)
- You wrestle with OAuthException 2207052 for URL reachability
- You implement IG Business via Facebook Login fan-out
- You handle the 2-step publish (create container → finalize)
letmepost API
- Our reviewed Meta app covers hosted users; you publish through it
- Connect via Facebook Login for Business; lights up Pages + IG
- URL reachability checked in preflight; never a silent 2207052
- Container creation + finalize abstracted to one POST
- Reels + carousels through the same endpoint
- Self-host with your own Meta app to skip the queue entirely
✓ Meta App Review absorbed
Our hosted Meta app covers Instagram, Facebook Pages, and Threads through a single shared review. You inherit that work. Self-hosters can BYO Meta app if they need their own reviewer-of-record.
Playground
Connect, configure, post.
Facebook Login for Business. One consent grants Pages + IG Business + Threads access. Live the day Meta approval clears for hosted users.
CONNECT META →Content types
Every Instagram surface, one shape.
How it works
Three steps, under two minutes.
Get your API key
Sign up at dashboard.letmepost.dev.
Connect via Facebook Login
One OAuth grant. Lights up Pages + IG Business + Threads in a single consent. IG Business account required.
Post a Reel (or carousel)
One POST /v1/posts with platform: "instagram". We create the container, finalize, fire post.published when IG accepts.
Features
What we built so you don't.
Meta App Review absorbed
Our reviewed app covers IG + FB + Threads in one grant. You inherit weeks of paperwork, demo videos, and Business Verification.
FB Login fan-out
One OAuth consent grants Pages, IG Business, and Threads. Per-platform tokens generated server-side; you reference an accountId.
URL reachability preflight
IG silently rejects media URLs that aren't reachable from their servers (OAuthException 2207052). We HEAD-check before publish.
2–10 mixed-media carousels
Carousel children can mix photos and Reels. Pass an array of mediaIds; we create per-child containers and finalize the parent.
Code example
post a reel · typescript
import { Letmepost } from '@letmepost/sdk'; const lmp = new Letmepost({ apiKey: process.env.LMP_API_KEY }); const result = await lmp.posts.create({ targets: [{ platform: 'instagram', accountId: 'acc_ig_xyz' }], text: 'New Reel via letmepost. #buildinpublic', media: [{ type: 'video', mediaId: 'med_reel_xyz' }], options: { instagram: { kind: 'reel', coverImageUrl: 'https://your-thumbnail.jpg', }, }, });
Meta Graph error reference
Every OAuthException + Graph error code mapped to letmepost's stable envelope. Plus 18 IG-specific preflight rules.
Common questions
about meta app review & ig publishing
When does Instagram go live?
Publisher shipped; in Meta App Review. Typical 8–12 weeks. Read the postmortem for what that process looks like. Self-host with your own Meta app to use it today.
Do I need to file Meta App Review?
No for hosted users — you publish through our reviewed app. Yes for self-host users who want their own reviewer-of-record. The config switch is LMP_META_APP_MODE=byo.
What's OAuthException 2207052?
Instagram silently rejects media URLs that aren't reachable from their servers. We HEAD-check every media URL in preflight and surface instagram.media.url_reachable before Meta sees the request.
Can I post Stories?
No. Stories require a separate Meta surface that's not v1. Reels, feed posts, and carousels are supported.
Does it work for personal IG accounts?
No. Meta requires an Instagram Business or Creator account linked to a Facebook Page. The connect flow rejects personal accounts.
What about Threads?
Threads has a standalone OAuth at threads.net, not Facebook Login. See the Threads page.
One API · 8 platforms
Instagram is just one of them.
Learn more
Good to know
Notes from the integration.
Facebook Login for Business. One consent grants Pages + IG Business + Threads. IG Business account required.
2,200-char captions. JPEG-only photos. Reels ≤ 90s. Carousels 2–10 mixed children.
IG rejects unreachable media URLs silently (OAuthException 2207052). We HEAD-check in preflight.
We do it. You inherit it. Self-host with LMP_META_APP_MODE=byo for your own grant.
post.published fires within 5–30 seconds (Meta processing time, especially for video).
READY FOR INSTAGRAM?
Connect now, queue posts now, publish the day Meta approval clears. Or self-host with your own Meta app — that surface is live today.