Instagram

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.

Get Started FreeNo credit card required

Instagram-specific API controls

Parameters that go beyond a plain caption-and-image post.

Reels publishinginstagram_media_type: REELS

Publish vertical video as Reels with instagram_share_to_feed to control whether it appears on the main grid.

Stories postinginstagram_media_type: STORIES

Schedule Stories via API — images or videos. Disappears after 24h just like native stories.

Collaborator tagsinstagram_collaborators

Add up to 3 collaborator usernames so the post appears on their profile too. Array of Instagram usernames.

Cover & user tagsinstagram_cover_url + instagram_user_tags

Set a custom Reels cover frame via URL and tag specific Instagram users within the media.

Location tagginginstagram_location_id

Attach a Facebook Place ID to geo-tag your post. Use the Facebook Pages API to find valid location IDs.

Alt text for accessibilityinstagram_alt_text

Add descriptive alt text to every image post — required for WCAG compliance in managed brand accounts.

API Example

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.

instagram-reel.sh
# 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.

Step 1

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.

Step 2

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.

Step 3

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.

Reels9:16, up to 90s

Vertical 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.

Feed Posts1:1 or 4:5

Square (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.

Carouselup to 10 slides

Multi-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.

Stories15s per slide, 24h lifespan

Ephemeral 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.

instagram-carousel.sh
# 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.

Get Started Free

Instagram API questions