Docs
Threads

Insights

Analytics and normalized metrics for Threads posts.

Fetch media analytics for a published Threads destination. Metrics are mapped into the shared Onepostly insights shape used across platforms.

Requires threads_manage_insights.

Request

curl "https://api.onepostly.com/v1/posts/POST_ID/insights" \
  -H "x-api-key: op_YOUR_KEY"

Optional: ?refresh=1 (or refresh=true) to bypass cache and refetch from Threads.

Response includes one entry per destination under insights.destinations.

Normalized fields

FieldNotes
impressionsViews
reachAlways null on Threads
likesLikes
commentsReplies
sharesShares, or reposts + quotes when available
savesAlways null
playsSame as views (convenience alias)
engagementlikes + comments + shares (null if all inputs are null)

Missing values are null (not 0), unless a composite field sums available siblings.

Example response shape

{
  "insights": {
    "postId": "…",
    "status": "ready",
    "destinations": [
      {
        "destinationId": "…",
        "platform": "threads",
        "status": "ready",
        "metrics": {
          "impressions": 1200,
          "reach": null,
          "likes": 40,
          "comments": 8,
          "shares": 3,
          "saves": null,
          "plays": 1200,
          "engagement": 51
        }
      }
    ]
  }
}

Errors / statuses

Code / statusMeaning
NOT_PUBLISHEDDestination not published yet
INSIGHTS_PERMISSIONMissing insights scope → reconnect
INSIGHTS_PENDINGMetrics not ready yet — retry later
INSIGHTS_FAILEDHard failure fetching metrics
MISSING_EXTERNAL_IDNo media id on the destination

See also