---
title: "Reels, Carousels, Stories: Instagram Posting API"
description: "Publish reels, 2-10 item carousels, feed images and video stories with one Instagram Posting API call. FEED, REEL or STORY via instagramConfigs.postType."
url: "https://adaptlypost.com/en/usages/instagram-posting-api"
---

# Ship Reels and Carousels Through One Instagram Posting API Call

One POST request to the Instagram Posting API publishes a feed image, a 2-10 item carousel, a reel, or a video story to a connected business account. Send text, platforms, timezone, your media URLs, and an instagramConfigs.postType of FEED, REEL or STORY.

[Get an API key](https://adaptlypost.com/en/signup)

![HTTP request creating an Instagram carousel post with instagramConfigs.postType, next to the per-platform publish result returning platformPostId](https://cdn.adaptlypost.com/public/adaptlypost_dashboard.png)

### Instagram publishing as a REST endpoint, not a browser session

POST https://post.adaptlypost.com/post/api/v1/social-posts with a Bearer adaptly\_ key. Publish now, pass scheduledAt with an IANA timezone, or save a draft and publish it later. A registered webhook receives every event we emit, post.published, post.scheduled, post.partially\_failed and post.failed, with no per-event filtering to configure.

[ManagePost to all your platforms at onceShare to Instagram, TikTok, YouTube, X, and more with one click. Each post auto-adapts to fit the platform.](https://adaptlypost.com/en/features/post-multiple-social-media-accounts-once)

[ScheduleVisual content calendarPlan your week at a glance and never miss your best posting times.](https://adaptlypost.com/en/features/social-media-content-calendar)

[IntegrateAPI access & OpenClaw skillConnect via API or let your OpenClaw AI agent manage posts for you. Automate social media with natural language commands.](https://adaptlypost.com/en/features/openclaw-integration)

[GenerateAI image generator for social mediaGenerate scroll-stopping images in seconds. Just describe your vision and let AI bring it to life.](https://adaptlypost.com/en/features/ai-social-media-image-generator)

[CreateAI caption generator for every platformGet caption ideas, rewrite for different platforms, and add trending hashtags, all with one prompt.](https://adaptlypost.com/en/features/ai-caption-writer)

[OrganizeSocial media content plannerSee drafts, scheduled posts, and published content in one place. Know exactly what's going live and when.](https://adaptlypost.com/en/features/ai-social-media-scheduler)

## Trusted by Creators and Teams

See how creators, marketers, and small businesses use AdaptlyPost to stay consistent and save hours every week.

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

[![Denys Zinych](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

[![Irena](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

[![Dorian Opacki](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

[![Denys Zinych](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

[![Irena](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

[![Dorian Opacki](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

I'm a software engineer, not a marketer. My partner runs a TikTok page, so I help out by scheduling her posts, I batch everything in one sitting and let the AI handle the captions. Takes me about 20 minutes a week now.

[![Denys Zinych](https://cdn.adaptlypost.com/public/denys.jpg)Denys ZinychSoftware Engineer](https://www.linkedin.com/in/denys-zinych-b75543287/)

I run my nail art page and a personal brand. Scheduling both from one dashboard changed everything, I actually post consistently now and my engagement went up pretty noticeably within a month.

[![Irena](https://cdn.adaptlypost.com/public/irena.jpg)IrenaContent Creator](https://www.instagram.com/iirennails/)

I'm an SWE and honestly terrible at posting consistently. I just line up a week of updates for my personal brand whenever I have a spare minute, and the AI drafts captions per platform so I'm not rewriting the same thing five different ways.

[![Dorian Opacki](https://cdn.adaptlypost.com/public/dorian.jpg)Dorian OpackiSoftware Engineer](https://www.linkedin.com/in/dorianopacki/)

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

[![Denys Kholin](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

[![Taras Shynkarenko](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

[![Denys Kholin](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

[![Taras Shynkarenko](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

I'm not a social media person but I need to post my work somewhere. The AI writer drafts something decent, I tweak it a bit, schedule it, done. Went from posting once a month to three times a week.

[![Denys Kholin](https://cdn.adaptlypost.com/public/denysK.jpg)Denys KholinFreelance Designer](https://www.linkedin.com/in/denys-kholin/)

We connected our OpenClaw agent to AdaptlyPost and now our AI posts product updates across all channels automatically. It sounds futuristic but honestly it just works. The API integration was straightforward.

[![Taras Shynkarenko](https://cdn.adaptlypost.com/public/taras.jpg)Taras ShynkarenkoStartup Founder](https://www.linkedin.com/in/taras-shynkarenko/)

## How It Works

Step 1

### Connect a business or creator account, then mint a key

Instagram's Graph API only publishes on behalf of a Business or Creator account, so that is the first thing to settle: a personal profile cannot be linked at all, and the OAuth handshake runs in the dashboard rather than over HTTP. Once the account is linked, Settings > API Tokens issues a key beginning with adaptly\_ that rides in the Authorization header as a Bearer credential on every request. GET /social-accounts echoes back the linked Instagram profile along with the id you pass in instagramConnectionIds. When the accounts belong to your own clients, POST /connect-links mints a white-label link they open once to finish the Business login themselves.

Step 2

### POST /social-posts with instagramConfigs

text (the caption, up to 2200 chars), platforms, and timezone are required on every call; there is no content field. contentType TEXT is rejected for Instagram, so every post needs media. Set contentType IMAGE, VIDEO or CAROUSEL, then instagramConfigs.postType = FEED | REEL | STORY. The postType switch is only read when contentType is VIDEO, so an IMAGE post with postType STORY silently publishes as a normal feed image: image stories are not possible. Carousels take 2-10 items, images must be jpeg, png or webp within Instagram's 8MB per-file ceiling, video must be mp4 or quicktime and 3-90 seconds. The request body is validated synchronously, so a caption past 2200 characters, a carousel outside the 2-10 range, contentType TEXT, or a second Instagram connection in the same call all come straight back as a 400 from this request. One Instagram account per call, so fan out one call per account. The same call can carry other networks alongside Instagram.

Step 3

### Read per-platform results and retry the Instagram entry

There are two failure modes and they surface in two different places. Anything wrong in the payload is caught while we validate the create call and returns a 400 immediately: caption length, carousel item count, an unsupported contentType, duplicate Instagram connections. No post record exists in that case, so there is nothing to retry, just fix the body and send it again. Files that are not jpeg, png, webp, mp4 or quicktime are refused earlier still, at POST /upload-urls. What GET /social-posts/:id/results reports is what happened after we accepted and dispatched the post: the Instagram Graph API refusing the media during its own ingest, an account switched back to Personal, a token the user revoked, or Instagram's own publishing limits. Each entry carries status, publishedAt, errorMessage and the native platformPostId, never a permalink to the live post, and POST /social-posts/:id/retry re-fires only the failed platformIds.

## Simple, transparent pricing

Choose the perfect plan for your needs

### Creator

Perfect for individuals and solopreneurs

## $19

/month

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 30 connected social accounts
* Unlimited scheduled posts
* 1 team member
* 3 workspaces
* 150 credits/month
* AI Captions
* AI Image Studio
* API access & OpenClaw integration
* Image, video & carousel posts

Most Popular

### Pro

For professionals and growing teams

## $39

/month

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 60 connected social accounts
* Unlimited scheduled posts
* 5 team members
* 15 workspaces
* 400 credits/month
* AI Captions
* AI Image Studio
* API access & OpenClaw integration
* Image, video & carousel posts

### Enterprise

For agencies and enterprises ready to scale

## $89

/month

[Start 7-day Trial](https://adaptlypost.com/en/signup)

* 100 connected social accounts
* Unlimited scheduled posts
* 20 team members
* 50 workspaces
* 1000 credits/month
* AI Captions
* AI Image Studio
* API access & OpenClaw integration
* Image, video & carousel posts

All plans include a 7-day free trial

Want to see the full feature comparison? [View pricing page](https://adaptlypost.com/en/pricing)

## What the API can publish to Instagram

### Feed images and 2-10 item carousels

contentType IMAGE for a single photo, CAROUSEL for 2 to 10 items in one post. Instagram takes stills as JPEG, PNG or WebP, with 8MB the ceiling on any one file. The caption field is text, capped at 2200 characters. Push files through POST /upload-urls (1-20 presigned URLs per call, each valid an hour) or pass your own hosted URLs.

### Reels

contentType VIDEO with instagramConfigs.postType REEL, mp4 or quicktime, 3 to 90 seconds. Instagram deprecated standalone feed video, so a plain VIDEO post lands as a reel regardless and REEL just makes it explicit. There is no cover-image, audio-track or collaborator field.

### Video stories

instagramConfigs.postType STORY with contentType VIDEO. Stories are video-only through the API: an IMAGE post carrying postType STORY does not error, it publishes to the feed instead. No stickers, polls, link stickers or mentions are exposed.

### Scheduled and bulk Instagram posts

Pass scheduledAt plus a timezone such as Europe/Berlin to schedule, or saveAsDraft and later POST /social-posts/:id/publish. POST /social-posts/bulk queues 1-100 posts that share the same Instagram connection, with scheduledAt required on each item. PATCH the post before it fires to swap the caption or the media.

## Publish your first reel over HTTP

Connect an Instagram Business or Creator account, generate an adaptly\_ key in Settings > API Tokens, and POST to /social-posts. The OpenAPI 3.0.3 spec is public at https://post.adaptlypost.com/post/api/v1/openapi.json and imports straight into Make, n8n, or any OpenAPI client.

[Get an API key](https://adaptlypost.com/en/signup)
