Instagram API for developers and AI agents

Instagram publishing without rebuilding account connection, media containers, format routing, queues, and webhook status handling.

No credit card required

import { KavenioClient } from "@kavenio/sdk";

const kavenio = new KavenioClient({
  authToken: process.env.KAVENIO_API_KEY,
});

// Send your user to this URL to connect their Instagram account.
const { authorizationUrl } = await kavenio.connect.begin({
  platform: "instagram",
});

// Publish to the connected Instagram account.
await kavenio.posts.create({
  content: "Behind the scenes from launch week.",
  publishNow: true,
  mediaItems: [{ type: "image", url: "https://cdn.example.com/launch.jpg" }],
  platforms: [
    {
      platform: "instagram",
      accountId: "acct_ig_123",
      platformSpecificData: { contentType: "feed" },
    },
  ],
});

How it works

Connect the account, publish to a selected Instagram profile, and run the workflow with REST, the CLI, or the SDK.
  1. kavenio.connect.begin(...)

    Create an Instagram connect URL and send the user through account authorization.

  2. kavenio.posts.create(...)

    Publish now or schedule an Instagram feed post, Story, Reel, or carousel with the selected connected account.

  3. kavenio.webhooks.create(...)

    Trigger your automation when Instagram publishing succeeds, fails, or needs attention instead of polling for state.

Formats

Publish the Instagram formats your product needs

Let customers choose feed, Story, Reel, carousel, and first-comment behavior without building a separate Instagram-only publishing path.
Feed posts
Carousel posts
Stories
Reels
First comments
Reel thumbnails
Developer workflow

Build Instagram publishing without media-container plumbing

Keep your product focused on the customer workflow while the API handles account connection, media publishing, and platform-specific options.

Instagram Login and tokens

Send users through Instagram connection once, then publish through the selected Business or Creator account.

Media container handling

Pass public media URLs and let the publish workflow create the right Instagram media container before publishing.

Feed, Stories, and Reels

Choose the Instagram content type in the request instead of branching your product workflow by format.

Status events

Use webhooks to trigger follow-up automation when an Instagram post publishes, fails, or needs attention.

App keys

Bring your own Instagram app when you need control

Use the Kavenio-managed Instagram app to get started, or connect through your own Instagram app when your team owns approvals, branding, and policy setup.

Use the Kavenio-managed Instagram app

Start testing Instagram connection and publishing without configuring your own Instagram app first.

Bring your own Instagram app

Use your Instagram app credentials when your team owns approvals, branding, and policy setup.

Build the Instagram publishing workflow once

Stop rebuilding Instagram connection, media container creation, format handling, retries, and status events for every product surface.

Reuse the same connect and publishing workflow for the next supported platform.

Instagram API questions

Practical details for building Instagram publishing into your product.

Can I publish Instagram posts through Kavenio?

Yes. Connect an Instagram Business or Creator account, pass the media URL, and publish through the same posts API used for other platforms.

Can I publish Instagram Reels?

Yes. Send a public video URL and set the Instagram content type for Reels when the post should publish as a Reel.

Can I publish Instagram Stories?

Yes. Use the Instagram content type for Stories and provide the story media URL in the request.

Can I add a first comment?

Yes. First comments are supported for Instagram feed posts, carousel posts, and Reels after the media publishes.