Posting to Instagram through the API
Visual-first, and strict about it. The request shape is the same one every network here uses — only the limits on this page change.
Our business is verified with Meta and publishing works; Instagram still needs Meta to approve the permissions before we can post to your account. The status page tracks it.
Connecting a Instagram account
Needs a Meta app + Business/Creator account. Once connected, we hold the credential and keep it alive; your code only ever sends the API key.
The limits we enforce before publishing
Caption
2200 characters. Over the limit comes back as a 422 before anything publishes.
Media
Up to 10 per post. Media required — a post without any fails pre-flight.
Video
3s to 1m 30s, up to 1.0 GB. Posted as a Reel.
Cadence
5 posts a day per account — the ceiling that stays under Instagram's spam heuristics.
What pre-flight rejects, verbatim
A request that breaks a Instagram rule comes back as a 422 naming the network and the number — before anything is scheduled, not after the other networks published. The error strings are these:
2332 chars — Instagram allows 2200.12 attachments — Instagram allows 10.Instagram requires media.Video is 3m — Instagram allows 1m 30s.
The request
curl -X POST https://attentionpilot.com/api/v1/posts \
-H "Authorization: Bearer $PILOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"caption": "Written for Instagram, under 2200 characters.",
"accounts": ["instagram"]
}'Omit schedule for the next free queue slot, send "now" to publish immediately, or send an ISO timestamp.
When Instagram fails
Each network is delivered on its own. A revoked token or a rejected upload on Instagram never blocks your other targets: the post returns "partial", the Instagram target carries the error text, and you can retry just this delivery.
Worth knowing
- ✓2,200 characters
- ✓Carousels up to 10 items
- ✓Reels 3s to 90s
- ✓Needs a Business or Creator account
The same call reaches the rest
Posting to Instagram is an API call.
Start freeOne account free. No card.