Métricas e comentários
Métricas de post e de conta direto da Meta, e gestão de comentários dos posts publicados. Exige permissões extras na conta conectada.
Tudo nesta página é lido ao vivo da Meta, com cache de 5 minutos. Nada é guardado pela Postmatic.
Permissões
As contas precisam ter sido conectadas com instagram_business_manage_insights (métricas) e instagram_business_manage_comments (comentários). Contas conectadas antes dessas permissões existirem respondem 403 PERMISSION_REQUIRED com details.scope: peça ao usuário para reconectar pelo mesmo fluxo de Contas. GET /v1/connect/integrations mostra as permissões em scopes.
Métricas de um post
curl "https://api.uat.postmatic.dev/v1/analytics?postId=post_…" -H "x-access-key: pm_live_…"{
"success": true,
"post": {
"source": "postmatic", "postId": "post_…", "content": "Novidade no ar.", "publishedAt": "2026-09-09T12:00:00.000Z",
"aggregated": { "impressions": null, "reach": 80, "likes": 10, "comments": 2, "shares": 1, "saves": 3, "clicks": null, "views": 120, "engagementRate": null },
"platforms": [{ "platform": "instagram", "accountId": "int_…", "platformPostId": "1790…", "platformPostUrl": "https://www.instagram.com/p/…/", "productType": "REELS",
"metrics": { "likes": 10, "comments": 2, "shares": 1, "saves": 3, "reach": 80, "views": 120, "totalInteractions": 16, "avgWatchTimeMs": 4500, "totalWatchTimeMs": 540000 }, "fetchedAt": "…" }]
}
}impressions, clicks e engagementRate são sempre nulos no Instagram (a Meta não expõe). avgWatchTimeMs e totalWatchTimeMs só existem em Reels. force=true ignora o cache.
Sem postId, a resposta é posts paginado (limit até 20, offset) com os posts publicados do projeto. source=platform&accountId=int_… lista as mídias recentes da conta, inclusive as publicadas fora da Postmatic (postId: null).
Métricas da conta
| Rota | O que devolve |
|---|---|
GET /v1/analytics/instagram/follower-stats?accountId= | currentFollowers e mediaCount de agora; sem histórico. |
GET /v1/analytics/instagram/account-insights?accountId=&metrics=&since=&until=&metricType= | reach, views, accounts_engaged, total_interactions (padrão) e outras; até 90 dias; metricType=time_series dá a série diária de reach. |
GET /v1/analytics/instagram/demographics?accountId=&metric=&breakdown=&timeframe= | Idade, cidade, país e gênero da audiência; a Meta exige audiência mínima e atrasa até 48 h. |
Curtidas
A Meta não expõe quem curtiu um post — só a contagem. Não há como obter essa lista pela API, com nenhuma permissão.
Comentários
curl "https://api.uat.postmatic.dev/v1/posts/post_…/comments?limit=25" -H "x-access-key: pm_live_…"{
"success": true, "accountId": "int_…", "platformPostId": "1790…",
"comments": [{ "id": "1795…", "text": "lindo!", "username": "ana", "timestamp": "2026-09-09T12:00:00+0000", "likeCount": 2, "hidden": false,
"replies": [{ "id": "1796…", "text": "obrigado!", "username": "acme.brand", "timestamp": "…", "likeCount": 0 }] }],
"nextCursor": "QVFIU…"
}username é quem comentou. Passe cursor=<nextCursor> para a próxima página; nextCursor: null é o fim. Post com mais de um destino publicado exige accountId na query.
| Ação | Rota |
|---|---|
| Comentar | POST /v1/posts/:id/comments com { "text": "…" } |
| Responder | POST /v1/posts/:id/comments com { "text": "…", "replyToCommentId": "…" } (só comentários de primeiro nível) |
| Apagar | DELETE /v1/posts/:id/comments/:commentId |
| Ocultar / reexibir | PATCH /v1/posts/:id/comments/:commentId com { "hidden": true } ou false |
Comentários só existem em posts published; em outro estado a API responde 409. Não há webhook de comentário novo: consulte a lista quando precisar.