---
title: "Instagram"
description: "Publishing to Instagram with Dravo: scopes, the container flow, and media rules."
section: "Networks"
url: https://dravo.dev/docs/networks/instagram
---
# Instagram

## What you can post

Instagram requires media: a single image or a single video (published as a
Reel). Text only posts are not supported by the platform. The current MVP
publishes one media item per post.

## Scopes

Dravo uses the Instagram API with Instagram Login and requests:

| Scope | Why |
| --- | --- |
| `instagram_business_basic` | Read the connected professional account. |
| `instagram_business_content_publish` | Create and publish media. |

These are the current scope names (the older `business_*` names were retired in
January 2025).

## How it works

Behind the unified API, Dravo runs the official content publishing flow against
`graph.instagram.com`: create a media container, poll its status until it is
finished, then publish the container. Video processing can take a moment, which
is one reason publishing is [asynchronous](/docs/concepts/async-publishing).

## Media rules

| Type | Accepted |
| --- | --- |
| Image | JPEG |
| Video (Reel) | MP4 or MOV |

Provide a public URL or, better, [ingest the media first](/docs/concepts/media).

## App review

Because Instagram is connected through your own Meta app (BYOK), publishing to
accounts you administer works in development mode without full App Review. To
publish on behalf of third parties you need Advanced Access for
`instagram_business_content_publish` on your app. See [BYOK](/docs/concepts/byok).
