Ship Instagram publishing without the Meta App Review.
One REST call posts Reels, Feed, Carousels, and Stories to Instagram. PostPulse owns the Meta audit, so you skip the months of paperwork and rejections. 10 free publications on signup. No card.
Two kinds of people land on this page.
You spent months wrestling with Meta for Developers. Or you're about to. Either way, we've seen this movie. Pick the panel that fits.
Then you know the drill. The Business Verification screen that wants utility bills. The publishing permission stuck in review for the third time. Reels and Feed in different doc trees. The Graph API version sunset email two months after you ship. Tokens that quietly expire and break overnight.
Your hell ends here. PostPulse holds the Meta audit. Scheduling is one field. Webhooks tell you when a post goes live. We catch broken media before Instagram does.
The 6 things you'd build yourself
Every line below is a real ticket the native Graph API hands to you on day one. PostPulse handles all of them.
Meta App Review
pages_manage_posts, instagram_content_publish, business verification, screencasts, privacy URLs, data deletion endpoints. Reviews routinely take 4–8 weeks and rejection feedback is famously sparse.
Long-lived token rotation
User tokens expire at 60 days. You implement the refresh flow, store the refresh state, handle revocation, replay failed posts after re-auth. Every connected user.
The container API
Reels, Feed, and Stories use container creation → status polling → publish. Containers can return ERROR or EXPIRED at any step. You write the retry/backoff.
Format chaos
8 MB images, 300 MB video, JPG/PNG only for images, MP4/MOV for video, captions ≤ 2,200 chars, carousel ≤ 10 media, feed aspect 1.91:1 → 4:5, Reels/Story 0.01:1 → 10:1. Miss one and Instagram throws the error after you've already promised the user the post is queued.
Graph API version churn
Meta deprecates Graph versions on a fixed cadence. Every couple of quarters you're migrating endpoints, scopes, and request shapes — even when nothing on your side changed.
Scheduling and observability
Instagram has no native "publish at" parameter. You build a queue, a cron, a retry ladder, alerting for failures, and a dashboard so you know what shipped.
scheduledTime is a field. 14 webhook events cover the rest.One API call. That's it.
Drop a public video URL into attachmentPaths. PostPulse downloads it, hands it to Instagram, and publishes it at the time you set. Prefer to upload bytes? Use a binary upload or a presigned URL — both work the same way.
curl -X POST https://api.post-pulse.com/v1/posts \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"scheduledTime": "2026-06-01T10:00:00Z",
"isDraft": false,
"publications": [{
"socialMediaAccountId": 123,
"platformSettings": {
"type": "INSTAGRAM",
"publicationType": "REELS"
},
"posts": [{
"content": "Shipped via API. No App Review. #buildinpublic",
"attachmentPaths": ["https://your-cdn.com/reel.mp4"]
}]
}]
}'publicationType to FEED / STORY, or attach up to 10 URLs for a carousel.Everything Instagram lets developers do — actually shipped.
Each capability below maps to a real field in the API. Click through to the API reference for the exact request shape.
Vertical short-form video. Set publicationType: REELS. Pass an optional cover_url to pin a specific cover frame; otherwise Instagram chooses its own.
One image, one video, or up to 10 mixed media in a carousel. Set publicationType: FEED and put the paths in attachmentPaths in the order you want them rendered.
24-hour ephemeral image or video. Set publicationType: STORY. Schedule them weeks ahead — PostPulse fires at the timestamp you set.
Pull likes, comments, shares, total interactions, profile visits, reach, and views. Metric set varies by post type — Reels and Stories return their platform-native metrics.
Image > 8 MB? Caption > 2,200 chars? Carousel > 10 items? PostPulse rejects the request with a clear error before Instagram ever sees it. See the Media Validation guide.
Per-post, per-publication, and per-schedule outcomes — plus media-import lifecycle events — fired straight to your URL the moment they happen. See the Webhooks reference.
What you ship over six weeks
Side-by-side, both columns assume you know your stack. Only one column has you doing undifferentiated platform plumbing.
- Day 1–3 · Register Meta developer account · configure app · wire OAuth redirect URLs
- Week 1 · Implement OAuth code exchange · long-lived token swap · 60-day refresh
- Week 2 · Build container API flow · poll for status · handle ERROR / EXPIRED
- Week 2–3 · Submit App Review · Business Verification · privacy / data-deletion URLs
- Week 4–6 · First rejection. Re-record screencast. Resubmit. Wait again.
- Week 6+ · Approved. Ship a queue, retry, scheduling, webhook receiver, alerts.
- Minute 0 · Sign up
- Minute 2 · 10 free credits land in your account
- Minute 5 · Connect an Instagram account via OAuth
- Minute 8 · First Reel live · webhook calls your URL the second it lands
- Day 2+ · Build the actual product. Stop thinking about Instagram.
Built for indie hackers. Scales for the rest.
Three private-label paths plus a white-label tier. Start free — pick a plan only when the product makes sense for you.
- 10 publications, free
- No credit card required
- Every feature unlocked
- Connect unlimited Instagram accounts
- One credit = one published post
- No subscription, no expiry
- All features included
- Buy credits anytime
- Unlimited publishing per seat
- 1 seat = 1 connected social account
- Add or remove seats anytime
- Annual billing also available
Capability matrix · PostPulse vs. native Instagram Graph API
What you'd build yourself vs. what's already shipped.
| Capability | PostPulse | Native Instagram Graph API |
|---|---|---|
| Meta App Review | ✓ Done by us | ✗ 4–8 weeks · resubmits common |
| OAuth + 60-day token refresh | ✓ Handled server-side | Implement + monitor per user |
| Reels / Feed / Stories | ✓ One endpoint, publicationType switch | Different flows + scopes per format |
| Carousels (up to 10 media) | ✓ Built-in | Multi-step container API |
| Pre-flight media validation | ✓ Size · format · aspect · caption · count | Errors only after you've taken the user's request |
| Scheduling | ✓ scheduledTime field | Build your own queue + cron |
| Real-time post status | ✓ 14 webhook events | Poll yourself |
| Instagram Insights | ✓ Likes / comments / shares / reach / views | Available — your own implementation |
| White-label / Connect for end users | ✓ Included | Build your own OAuth bridge |
| Same API for 8 other platforms | ✓ TikTok · YouTube · LinkedIn · X · Threads · FB · Telegram · Bluesky | 9 separate integrations |
Why developers ship Instagram with PostPulse
Reviewed on Product HuntI use PostPulse with an AI agent via their MCP server. My agent literally posts to social media on its own now. Didn’t expect that to work as smoothly as it did.
$5/month for what would otherwise require a full backend engineer to maintain? Easy yes. The REST API is clean and well-documented too, which is rare.
Tried to get TikTok API access myself. Three weeks, two rejections. Switched to PostPulse and was posting to TikTok the same day. Wish I hadn’t wasted that time.
I’m a Make.com power user and needed to post to 5 platforms from one scenario. The native PostPulse app for Make connected everything in one afternoon. Would’ve taken me weeks to do manually.
I built an n8n automation for a client and needed to add social publishing. The official PostPulse n8n node was literally drag and drop. No headache.
Saved me months of dev work. I was about to start integrating Instagram and TikTok APIs separately — then I found out Meta’s app review alone can take months. PostPulse just handled all of that. Shipped social posting in under a week.
The most flexible pricing model on the market!
I'm building an AI content factory as a side hustle. I'm still in the experimentation phase, so I don't have the budget for expensive tools — but I also needed to get everything up and running quickly, so I integrated with a ready-to-go API instead. PostPulse offers a flexible pay-as-you-go model that let me experiment first without commitment — and now that we have stable traffic, I’ve switched to their $5/month subscription.
Best support on the market — the founder personally emailed me when I hit a client error and walked me through the fix.
We optimized the posting to 20 twitter accounts. It was a problem to manage such a number, but through the platform everything works out perfectly. Very convenient dashboard for tracking errors. Great product.
Instagram API · FAQ
Stop fighting Meta. Start shipping Instagram.
10 free publications. No credit card. Connect an Instagram account, publish your first Reel, fire your first webhook — all under 10 minutes.