Instagram API Guide
Publish Instagram Feed Posts, Reels, Stories, and Trial Reels through a single API call. PostEverywhere handles media uploads, aspect ratio validation, and Instagram's content publishing API so you can focus on your content. For a general overview of all supported platforms, see the Introduction.
Supported Content Types
| Content Type | Media Required | Description |
|---|---|---|
| Post | Image(s) | Standard feed post. Default when an image is attached. Supports up to 10 images for carousels. |
| Reels | Video | Short-form video (up to 90 seconds). Default when a video is attached. |
| Story | Image or video | Disappears after 24 hours. Must be set explicitly via contentType. |
| Trial Reel | Video | Reel shared with a smaller audience first to test engagement. |
Platform-Specific Settings
Use the platform_content.instagram object to customise your Instagram post:
{
"platform_content": {
"instagram": {
"content": "Instagram-specific caption with #hashtags",
"contentType": "Story",
"settings": {
"altText": "Image description for accessibility",
"firstComment": "First comment posted automatically after publishing"
}
}
}
}
Settings Reference
| Setting | Type | Description |
|---|---|---|
content | string | Override the default caption with an Instagram-specific version. |
contentType | string | One of "Post", "Reels", "Story", or "Trial Reel". If omitted, images default to "Post" and videos default to "Reels". |
settings.altText | string | Accessibility description for the image. Max 100 characters. |
settings.firstComment | string | Text posted as the first comment after publishing. Useful for hashtag stacking. |
settings.coverPhotoTimestamp | number | Timestamp in seconds to use as the video cover photo. |
Example: Create a Post
Schedule an Instagram Reel
curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Check out our latest product walkthrough!",
"account_ids": [2280],
"media_ids": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
"scheduled_at": "2026-04-15T14:00:00Z",
"timezone": "America/New_York",
"platform_content": {
"instagram": {
"content": "New product walkthrough is live! Watch to the end for a surprise 🎁\n\n#productlaunch #tutorial #newfeature",
"contentType": "Reels",
"settings": {
"firstComment": "#socialmedia #marketing #contentcreator #smallbusiness #growthhacking",
"coverPhotoTimestamp": 3.5
}
}
}
}'
Schedule an Instagram Story
curl -X POST https://app.posteverywhere.ai/api/v1/posts \
-H "Authorization: Bearer $POSTEVERYWHERE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Behind the scenes today!",
"account_ids": [2280],
"media_ids": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"],
"platform_content": {
"instagram": {
"contentType": "Story"
}
}
}'
Requirements & Limits
| Requirement | Limit |
|---|---|
| Caption length | 2,200 characters |
| Hashtags per post | 30 maximum |
| Alt text length | 100 characters |
| Image formats | JPEG, PNG, WebP, HEIC |
| Image max file size | 20 MB |
| Video format | MP4 (H.264) |
| Video max file size | 500 MB |
| Video duration (Reels) | 3 - 90 seconds |
| Video duration (Story) | Up to 60 seconds |
| Carousel images | 2 - 10 images |
| Recommended image ratio | 1:1 (square), 4:5 (portrait), 1.91:1 (landscape) |
| Recommended Reels ratio | 9:16 (vertical) |
Tips
- Use
firstCommentfor hashtags. Moving hashtags to the first comment keeps your caption clean while maintaining discoverability. The comment is posted automatically within seconds of publishing. - Set
contentTypeexplicitly for Stories. Without it, images default to Feed Post and videos default to Reels. Stories must be requested via"contentType": "Story". - Test with Trial Reels first. Use
"contentType": "Trial Reel"to share a Reel with a smaller audience before committing to a full publish. This is useful for A/B testing content.
Frequently Asked Questions
Can I schedule Instagram Reels via the API?
Yes. Set contentType to "Reels" in the platform_content.instagram object when creating a post. Attach a video file (MP4, up to 90 seconds for Reels) using the Upload Media endpoint.
What image sizes does Instagram support?
Instagram supports images from 320x320 to 1440x1800 pixels. Square (1:1), landscape (1.91:1), and portrait (4:5) aspect ratios are accepted. Images are automatically resized if they fall outside these dimensions.
Can I post Instagram carousels via the API?
Yes. Attach multiple images (2 to 10) to your post using the media_ids array. Set contentType to "Post" or omit it -- images default to a feed post, and Instagram automatically creates a carousel when multiple images are attached.
How do I add hashtags without cluttering my caption?
Use the firstComment setting. PostEverywhere automatically posts your hashtags as the first comment within seconds of publishing, keeping your caption clean while maintaining full discoverability.
Related Platforms
- TikTok -- short-form vertical video, similar to Reels
- Facebook -- cross-post Reels and image content to Facebook Pages
- Threads -- text-first companion platform by Meta