Você precisa de uma API para obter dados de postagens do Instagram—especificamente, para inserir uma URL de postagem pública e retornar a mídia, dimensões e identificadores que você pode enviar para seu aplicativo esta semana. Ao final deste guia, você será capaz de buscar dados de postagens/publicações do Instagram a partir de uma URL, puxar dados de conta pelo nome de usuário e obter métricas de reels pelo shortcode usando a API de Dados do Instagram no Zyla API Hub, com exemplos de curl e Python que podem ser copiados e colados.
O que esta API oferece e quando usá-la
A API de Dados do Instagram expõe três endpoints de leitura focados:
- Obter Dados da Postagem: forneça uma URL de postagem pública do Instagram e receba os dados da postagem/publicação, incluindo URLs de mídia, dimensões e identificadores.
- Obter Dados da Conta: forneça um nome de usuário e receba os dados da conta do Instagram, incluindo biografia e links da bio.
- Obter Dados do Reel: forneça um shortcode de postagem/reel e receba métricas de engajamento público como curtidas, comentários e contagem de visualizações de vídeo.
Usos típicos incluem pipelines de ingestão de conteúdo, desdobramento de links, geração de prévias de mídia, painéis de análise e filas de moderação. Você envia a URL ou shortcode exato que já possui; a API retorna os campos estruturados para alimentar sua interface ou fluxo de trabalho.
A API está disponível no Zyla API Hub, um marketplace com mais de 10.000 APIs públicas, unificadas sob uma conta, uma chave de API e um modelo de assinatura + cota (não pay-per-call). Para esta API, a primeira assinatura oferece um teste de 7 dias; verifique a lista para opções de acesso e preços atuais.
Começando no Zyla API Hub
- Abra a lista da API de Dados do Instagram: Inicie o teste de 7 dias na API de Dados do Instagram.
- Clique em Assinar (ou Iniciar Teste Gratuito quando disponível) e obtenha sua chave de API.
- Use a chave no cabeçalho de Autorização como: Authorization: Bearer YOUR_API_KEY.
Todos os pedidos neste artigo visam as URLs de endpoint do Zyla Hub. Nenhum host de origem, SDKs ou parâmetros de autenticação extras são necessários—basta enviar solicitações GET HTTPS com seu token bearer e os parâmetros de consulta documentados.
Endpoint: Obter Dados da Postagem (por URL)
Recupere dados de postagens/publicações do Instagram passando a URL de postagem pública. Útil quando seu sistema armazena ou recebe um link (por exemplo, de uma submissão de usuário) e você precisa de identificadores, URLs de mídia e dimensões para renderização ou processamento posterior.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/630/get-post-data
- Parâmetro de consulta obrigatório:
- link (string): uma URL de postagem pública do Instagram, por exemplo https://www.instagram.com/p/BsOGulcndj- (deve ser URL-encoded na string de consulta)
exemplo curl (copiar-colar)
curl -s -X GET "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data?link=https%3A%2F%2Fwww.instagram.com%2Fp%2FBsOGulcndj-" \
-H "Authorization: Bearer YOUR_API_KEY"
Resposta de exemplo oficial
{
"status": true,
"__typename": "GraphImage",
"id": "1949525278281554174",
"shortcode": "BsOGulcndj-",
"dimensions": {
"height": 584,
"width": 584
},
"gating_info": null,
"fact_check_overall_rating": null,
"fact_check_information": null,
"sensitivity_friction_info": null,
"sharing_friction_info": {
"should_have_sharing_friction": false,
"bloks_app_url": null
},
"media_overlay_info": null,
"media_preview": null,
"display_url": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=instagram.fbcn2-1.fna.fbcdn.net&_nc_cat=105&_nc_oc=Q6cZ2gHBlHY2RHKNTgCNzMelAyz56Toi4DI7VUNsrK7XJAsoGT6ka4w7PVJ6IEqS7PD9Ulw&_nc_ohc=jwkKyc7eqGAQ7kNvwHmuCEW&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&edm=AOmX9WgBAAAA&ccb=7-5&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&oh=00_AQONRzWv-s9IPALJK9qeJ5FVyMcHbwpYaGsJhb7fdlV1nA&oe=6ACE9A40&_nc_sid=bfaa47",
"display_resources": [
{
"src": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e35_s360x360_sh2.08_tt6&_nc_cat=104&_nc_map=urlgen_bucketless&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNTg0LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=53XaOqCZWBYQ7kNvwFfkQTV&_nc_oc=AdprbrBLkElSfmNNOrQHEYQuCIz8F8lIlYN7TENXKNGCcZVnybmvx0uXH6fzElyfwak&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=instagram.fbcn2-1.fna&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&_nc_ss=7a3ba&oh=00_AQNBRrpvxf3JGSktIaicSqaD4UtCuDo9I8feI6acpRs9Eg&oe=6ACE9A40",
"config_width": 360,
"config_height": 360
},
{
"src": "https://instagram.fbcn2-1.fna.fbcdn.net/v/t51.82787-15/625727639_18338153224242257_3827527793310630488_n.jpg?stp=dst-jpg_e35_tt6&_nc_cat=104&_nc_map=urlgen_bucketless&ig_cache_key=MTk0OTUyNTI3ODI4MTU1NDE3NA%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkZFRUQueHBpZHMuNTg0LnNkci5yZWd1bGFyX3Bob3RvLkMzIn0%3D&_nc_ohc=53XaOqCZWBYQ7kNvwFfkQTV&_nc_oc=AdprbrBLkElSfmNNOrQHEYQuCIz8F8lIlYN7TENXKNGCcZVnybmvx0uXH6fzElyfwak&_nc_ad=z-m&_nc_cid=0&_nc_zt=23&_nc_ht=instagram.fbcn2-1.fna&_nc_gid=BiA9YpCodvi1HtqMj6W-Vg&_nc_ss=7a3ba&oh=00_AQMhFQizLfIe4bAcskLHhT2nCDcjFGyldOq2Cp7IMLuVxg&oe=6ACE9A40",
"config_width": 584,
"config_height": 584
}
],
"accessibility_caption…
Campos principais que você normalmente usará:
- id e shortcode: identificadores estáveis para desduplicação e indexação.
- __typename: tipo de postagem (por exemplo, GraphImage).
- dimensions.height e dimensions.width: planejamento de renderização e dimensionamento responsivo.
- display_url: URL de mídia direta para prévias ou processamento.
- display_resources: tamanhos alternativos; escolha o mais próximo do seu viewport alvo.
exemplo Python
Este exemplo chama Obter Dados da Postagem com a URL exata e lê identificadores, dimensões e URL de mídia. Nota: o parâmetro link deve ser URL-encoded. O código abaixo usa a mesma URL codificada que o exemplo curl.
import requests
API_URL = "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data"
LINK_PARAM = "https%3A%2F%2Fwww.instagram.com%2Fp%2FBsOGulcndj-"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
resp = requests.get(f"{API_URL}?link={LINK_PARAM}", headers=HEADERS, timeout=30)
resp.raise_for_status()
data = resp.json()
# Extrair campos comumente usados em aplicativos
post_id = data.get("id")
shortcode = data.get("shortcode")
typename = data.get("__typename")
dims = data.get("dimensions") or {}
height = dims.get("height")
width = dims.get("width")
display_url = data.get("display_url")
print({
"id": post_id,
"shortcode": shortcode,
"type": typename,
"height": height,
"width": width,
"display_url": display_url
})
Notas de implementação que economizam tempo
- Codificação de URL: codifique o parâmetro link ao construir a consulta. Se você estiver construindo URLs dinamicamente, prefira codificadores de URL embutidos para evitar codificação dupla.
- Cache: armazene o id da postagem e o shortcode junto com o display_url para evitar buscar a mesma postagem repetidamente em visualizações de lista.
- Variações de mídia: escolha um tamanho de display_resources próximo às suas dimensões alvo para reduzir o redimensionamento do lado do cliente.
- Tratamento de erros: se uma postagem se tornar indisponível ou privada, antecipe nulos ou campos ausentes em seu pipeline de renderização.
Endpoint: Obter Dados da Conta (por nome de usuário)
Busque dados da conta do Instagram usando um nome de usuário. Útil para cartões de perfil, prévias de links e verificações de integração.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/631/get-account-data
- Parâmetro de consulta obrigatório:
- username (string): o nome de usuário do Instagram, por exemplo, leomessi
exemplo curl
Resposta de exemplo oficial (truncada)
Campos a serem considerados na UI:
- biografia: mostrar no cabeçalho do perfil ou hovercard.
- bio_links: renderizar uma lista verificada de links externos; prefira url para navegação direta.
Endpoint: Obter Dados do Reel (por shortcode)
Recupere métricas para uma postagem pública do Instagram ou reel usando seu shortcode. Ideal para painéis de análise, listas de classificação e monitoramento de KPI.
- Método: GET
- URL: https://zylalabs.com/api/855/instagram-data-api/32007/get-reel-data
- Parâmetro de consulta obrigatório:
- shortcode (string): por exemplo, DctYV2qt6S5
exemplo curl
Resposta de exemplo oficial
Notas práticas:
- Use video_view_count e play_count para impulsionar visualizações de engajamento; se presentes juntos, mantenha ambos para paridade com seus conjuntos de dados históricos.
- code é o mesmo valor que você passou como shortcode; armazene ao lado de sua chave de conteúdo para evitar resolvê-lo novamente mais tarde.
Projetando sua integração
Fluxo de ingestão mínimo para URLs de postagens
- Receba uma URL pública do Instagram de um usuário ou feed.
- Chame Obter Dados da Postagem com o link codificado em URL.
- Persista id, shortcode, dimensões e display_url em seu banco de dados.
- Renderize a partir de display_resources onde disponível para corresponder ao seu layout.
Resolvendo shortcodes desconhecidos
Se você tiver apenas uma URL e precisar do shortcode para análises posteriores (por exemplo, para chamar Obter Dados do Reel), primeiro chame Obter Dados da Postagem. A resposta contém o shortcode; armazene-o para que você possa buscar métricas usando Obter Dados do Reel quando necessário.
Tentativas e timeouts
- Timeouts do cliente: defina um timeout conservador (por exemplo, 30s como mostrado) e tente novamente GETs idempotentes uma vez se seu aplicativo tolerar latência.
- Backoff: implemente backoff exponencial para problemas de rede transitórios.
Segurança e prontidão para produção
- Autorização: sempre envie Authorization: Bearer YOUR_API_KEY via HTTPS.
- Gerenciamento de chave: mantenha sua chave em um gerenciador de segredos ou variável de ambiente. Não a envie para o cliente.
- Cota: a API usa um modelo de assinatura + cota (não pay-per-call). Monitore o uso em seu painel do Zyla e armazene resultados populares para reduzir chamadas repetidas.
Chamando esta API de um agente de IA (MCP)
Você pode chamar esses mesmos endpoints do Hub a partir de agentes de IA através do endpoint do Protocolo de Contexto do Modelo da Zyla. Isso funciona com clientes compatíveis com MCP como Claude Code, Cursor e Windsurf.
- Endpoint do servidor MCP: https://mcp.zylalabs.com/mcp?apikey=YOUR_API_KEY
- Dentro do seu agente, configure o servidor MCP e autorize-o com a mesma chave de API.
- Das ferramentas do agente, emita solicitações GET para as URLs do Hub mostradas neste artigo com os parâmetros de consulta necessários e o cabeçalho de Autorização.
Para mais informações sobre o uso do MCP, veja: MCP.
Casos de uso do mundo real
- Fila de moderação: quando um usuário envia um link do Instagram, chame Obter Dados da Postagem para buscar mídia e dimensões para uma interface de revisor sem captura de tela manual.
- Desdobramento de links: em chats ou comentários, detecte URLs do Instagram e enriqueça a prévia com display_url e dimensões para miniaturas nítidas.
- Painéis de criadores: armazene shortcode por reel e atualize periodicamente Obter Dados do Reel para atualizar curtidas, contagem de comentários e contagem de visualizações de vídeo.
- Integração de perfil: ao conectar a conta, chame Obter Dados da Conta pelo nome de usuário para hidratar um cartão de perfil com biografia e bio_links.
Lista de verificação de solução de problemas
- 401 Não autorizado: verifique o cabeçalho de Autorização exatamente como Authorization: Bearer YOUR_API_KEY.
- Campos vazios ou parciais: certifique-se de que o link ou shortcode é válido e público; conteúdo privado ou removido não retornará dados completos.
- Parâmetro de consulta inválido: confirme se você usou link para Obter Dados da Postagem, username para Obter Dados da Conta e shortcode para Obter Dados do Reel, com a codificação de URL adequada onde aplicável.
- Comportamento de excesso de cota: esta API usa assinatura + cota; verifique seu painel e a lista da API para alocação e opções atuais.
Snippet de ponta a ponta: link dentro, prévia fora
Combine o fluxo de link-para-postagem em um helper que você pode inserir em uma rota de backend. Isso usa o mesmo endpoint e parâmetros demonstrados acima.
import os
import urllib.parse
import requests
API_KEY = os.getenv("ZYLA_API_KEY")
BASE_URL = "https://zylalabs.com/api/855/instagram-data-api/630/get-post-data"
def fetch_instagram_post(link: str):
params = {"link": urllib.parse.quote(link, safe="")}
url = f'{BASE_URL}?link={params["link"]}'
headers = {"Authorization": f"Bearer {API_KEY}"}
r = requests.get(url, headers=headers, timeout=30)
r.raise_for_status()
data = r.json()
return {
"id": data.get("id"),
"shortcode": data.get("shortcode"),
"type": data.get("__typename"),
"width": (data.get("dimensions") or {}).get("width"),
"height": (data.get("dimensions") or {}).get("height"),
"display_url": data.get("display_url"),
}
# Exemplo de uso:
# preview = fetch_instagram_post("https://www.instagram.com/p/BsOGulcndj-")
# print(preview)
FAQ
Que autenticação é necessária?
Envie Authorization: Bearer YOUR_API_KEY com cada solicitação.
Preciso derivar um shortcode da URL?
Não. Para Obter Dados da Postagem, passe a URL completa da postagem em link. Se você precisar mais tarde de métricas que usam um shortcode, leia o shortcode da resposta de Obter Dados da Postagem e passe-o para Obter Dados do Reel.
Há um plano gratuito?
Não há plano gratuito. A API usa um modelo de assinatura + cota. A lista oferece um teste de 7 dias; verifique a página da API para opções de acesso e preços atuais.
Quais campos devo armazenar em cache?
Armazene em cache id, shortcode, dimensões e display_url para postagens; para reels, armazene shortcode com like_count, comment_count e video_view_count se você estiver construindo análises ou listas de tendências.
Posso chamar a API de ferramentas de codificação de IA?
Sim. Use o endpoint MCP com sua chave de API e faça com que o agente emita as mesmas solicitações GET para as URLs do Hub descritas aqui.
Pronto para enviar? Crie sua conta, obtenha uma chave de API e comece seu teste de 7 dias na API de Dados do Instagram aqui: Inicie o teste de 7 dias na API de Dados do Instagram. Explore mais APIs a qualquer momento em Zyla API Hub.