Como fazer / técnico

Como postar no Instagram via API

O passo a passo real: conectar a conta, criar o container de mídia e publicar — com um exemplo de requisição completo.

Postar no Instagram via API envolve três passos que não mudam, seja você um SaaS de agendamento ou um script interno: conectar a conta profissional, entregar a mídia e criar o post. A Graph API da Meta resolve isso internamente através de um container de mídia — um objeto intermediário que precisa ficar pronto antes da publicação sair do ar. O PostGate esconde essa etapa atrás de uma única chamada, mas entender o que acontece por baixo ajuda a debugar quando algo trava.

Este guia é o passo a passo técnico. Para uma visão geral da API do Instagram (requisitos, formatos suportados, sandbox), veja a landing da API para Instagram.

01

Conectar a conta profissional

A API de publicação do Instagram só funciona com contas Business ou Creator — contas pessoais não são suportadas pela Graph API da Meta, independente de qual produto você usa por cima dela. No PostGate, a conexão é hospedada: o cliente final autoriza pelo fluxo OAuth da própria Meta, e você recebe de volta um ID de perfil (pro_...) para usar em todas as chamadas seguintes. Você nunca precisa guardar, renovar ou rotacionar o token de acesso do Instagram manualmente.

02

O que acontece com o container de mídia

Ao criar um post com uma imagem ou vídeo, a Meta primeiro sobe a mídia para um container próprio, que passa por estados como processamento até ficar pronto para publicação. Isso é assíncrono — um vídeo maior pode levar mais tempo para ficar pronto do que uma foto. Se o container falhar a validação (por exemplo, um formato ou proporção não suportados), a publicação não sai, e o erro fica disponível no target daquele destino.

Você não precisa gerenciar esse container diretamente: basta passar a URL pública da mídia (ou um ID de mídia pré-enviado) no mesmo envelope da requisição de post, e o PostGate cuida da criação, validação e checagem de status do container do lado do Instagram.

03

Publicar com um único POST

Com a conta conectada, publicar é uma chamada só: o corpo do post, o array de perfis de destino e a mídia. O cabeçalho Idempotency-Key torna essa requisição segura para repetir — se sua aplicação tentar de novo depois de um timeout de rede, o PostGate devolve o resultado da primeira tentativa em vez de publicar duas vezes.

Publicar uma foto no InstagramAPI do PostGate
curl -X POST https://postgate.studio/api/posts \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: launch-post-001" \
  -d '{
    "post": { "body": "Lançamento hoje 🚀" },
    "profiles": ["pro_instagram123"],
    "media": ["https://cdn.example.com/launch.jpg"]
  }'
04

Ler o resultado por destino, não só o status geral

A resposta da criação é aceitação, não prova de publicação — o post entra em processamento e o estado final chega por destino, dentro do array targets: status, tentativas, erro (se houver), ID retornado pela própria plataforma e o link permanente do post publicado. Um post pode terminar como partial se publicar em um destino e falhar em outro — trate isso como resultado terminal válido, não como erro genérico.

Construa com o PostGate

Uma API para cada rede social que os seus clientes usam — com sandbox, documentado e pronto hoje.

Comece a construir Leia a documentação