Post to Instagram via API — Schedule, Publish, Analyze
Publish Reels, Stories, and feed images with collaborators, location tags, alt text, and user tags — from a single REST API call.
Instagram-specific API controls
Parameters that go beyond a plain caption-and-image post.
instagram_media_type: REELSPublish vertical video as Reels with instagram_share_to_feed to control whether it appears on the main grid.
instagram_media_type: STORIESSchedule Stories via API — images or videos. Disappears after 24h just like native stories.
instagram_collaboratorsAdd up to 3 collaborator usernames so the post appears on their profile too. Array of Instagram usernames.
instagram_cover_url + instagram_user_tagsSet a custom Reels cover frame via URL and tag specific Instagram users within the media.
instagram_location_idAttach a Facebook Place ID to geo-tag your post. Use the Facebook Pages API to find valid location IDs.
instagram_alt_textAdd descriptive alt text to every image post — required for WCAG compliance in managed brand accounts.
Reel with collaborator + location
Tag a collaborator and location in the same request that publishes the Reel. The collaborator receives an invite and the post appears on their profile once accepted.
# Reel with collaborator + location tag
curl -X POST \
https://api.codivupload.com/v1/posts \
-H 'Authorization: Bearer YOUR_API_KEY' \
-d '{
"profile_name": "mybrand",
"platforms": ["instagram"],
"post_type": "video",
"description": "New collection drop 🎬",
"media_urls": ["https://cdn.example.com/reel.mp4"],
"instagram_media_type": "REELS",
"instagram_share_to_feed": true,
"instagram_collaborators": ["partner_handle"],
"instagram_location_id": "110622692322460",
"instagram_alt_text": "Model wearing new spring jacket" }'Getting Started with Instagram
From connecting your account to your first scheduled Reel in three steps.
Connect via OAuth
Go to Integrations in the CodivUpload dashboard and click Connect Instagram. You will be redirected to Facebook's OAuth screen to authorize your Professional account (Creator or Business). CodivUpload links your Instagram account through the connected Facebook Page and handles token refresh automatically.
Choose Reels, Feed, or Carousel
In the composer, select your content type. Upload a video for Reels, a single image for feed posts, or multiple images for a carousel. Set the instagram_media_type field to REELS, STORIES, or leave it blank for a standard feed image. Add collaborators, location tags, and alt text as needed.
Schedule or publish now
Hit Publish to post immediately, or set a scheduled_date for a future release. CodivUpload queues the job, handles media processing, and publishes at the exact time you specified. You receive a real-time status update in the dashboard.
Instagram Content Types
Each format has its own specs and reach characteristics. Here is what works for each.
9:16, up to 90sVertical video at 1080 x 1920. Instagram gives Reels the widest organic reach of any format. Keep videos under 90 seconds for full Reels distribution. Use instagram_share_to_feed: true to show the Reel on your main grid alongside regular posts. Add a custom cover image via instagram_cover_url to maintain a consistent profile aesthetic.
1:1 or 4:5Square (1080 x 1080) or portrait (1080 x 1350 at 4:5) images. Feed posts anchor your grid and remain permanently visible on your profile. Use 4:5 to take up more screen space in the feed, which increases time-on-post. Add instagram_alt_text for accessibility and SEO benefits.
up to 10 slidesMulti-image posts that users swipe through. Carousels consistently generate the highest save rates on Instagram because viewers bookmark them as reference material. Pass up to 10 URLs in the media_urls array and CodivUpload assembles the carousel automatically.
15s per slide, 24h lifespanEphemeral content that disappears after 24 hours. Stories appear at the top of the Instagram feed and have high visibility for existing followers. Set instagram_media_type: "STORIES" to publish an image or video as a Story instead of a permanent post.
Instagram via API
Publish any Instagram content type with a single POST request.
# Carousel post with location + alt text
curl -X POST \
https://api.codivupload.com/v1/posts \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{
"profile_name": "mybrand",
"platforms": ["instagram"],
"post_type": "image",
"description": "Product lookbook — swipe for all colors",
"media_urls": [
"https://cdn.example.com/look-1.jpg",
"https://cdn.example.com/look-2.jpg",
"https://cdn.example.com/look-3.jpg"
],
"instagram_location_id": "110622692322460",
"instagram_alt_text": "Three product variants in blue, red, and green",
"instagram_collaborators": ["partner_brand"] }'When you pass multiple URLs in media_urls, CodivUpload automatically creates a carousel. For Reels, add instagram_media_type: "REELS" and a video URL. The instagram_location_id accepts any valid Facebook Place ID, which you can look up via the Facebook Pages Search API or the CodivUpload dashboard.
Start posting to Instagram for free
2 profiles, 10 uploads/mo on the free plan. Upgrade for unlimited.