Skip to content
reelspanDocs

Media and analytics

Reports

Get a profile's report for a period, with posts published and failed, interactions and views per network, follower growth, and the top five posts.

GETapi.reelspan.com/v1/reports/{profile_username}Try it →

A report sums up how a profile did over a period: what went out, how it did, and how each account grew. It returns the same numbers the dashboard's branded PDF report shows, so you can build your own client reports.

curl "https://api.reelspan.com/v1/reports/my-brand?days=30" \
  -H "Authorization: Bearer $REELSPAN_API_KEY"

days is 1 to 365, 30 by default. The period ends now.

The response

{
  "success": true,
  "profile_username": "my-brand",
  "report": {
    "from": "2026-10-08T12:00:00.000Z",
    "to": "2026-11-07T12:00:00.000Z",
    "posts": {
      "published": 41,
      "failed": 2,
      "by_platform": {
        "youtube": { "published": 14, "failed": 0 },
        "instagram": { "published": 14, "failed": 1 },
        "x": { "published": 13, "failed": 1 }
      }
    },
    "engagement": {
      "interactions": 4970,
      "views": 182340,
      "by_platform": {
        "youtube": { "views": 150210, "likes": 3302, "comments": 214, "favorites": 0 },
        "x": { "impressions": 32130, "likes": 1201, "reposts": 133, "replies": 70, "quotes": 9, "saves": 41 }
      }
    },
    "followers": [
      { "platform": "youtube", "start": 11920, "end": 12840, "change": 920, "series": [{ "day": "2026-10-08", "value": 11920 }, { "day": "2026-11-07", "value": 12840 }] }
    ],
    "top_posts": [
      {
        "request_id": "9b1f6c2e8a3d4f50b7e1c9a2d6f3e8b1",
        "platform": "youtube",
        "title": "How we ship",
        "url": "https://youtube.com/shorts/aB3xYz12Q",
        "published_at": "2026-10-21T16:02:11.000Z",
        "score": 1508,
        "stats": { "views": 48100, "likes": 905, "comments": 61, "favorites": 0 }
      }
    ]
  }
}

posts

How many posts went live (published) and how many failed in the period, in total and per network. A post sent to three networks counts once per network.

engagement

The numbers of the period's posts, added up per network in by_platform. interactions adds likes, favorites, comments, replies, reposts, shares, quotes and saves across every network. views adds views, or impressions where a network gives those instead.

A post's numbers are read about two days after it goes out, so the last two days of a period have little or no engagement yet. Networks that share no post numbers don't appear here; see What each network shares.

followers

Per network, from the daily account readings (see History):

  • start and end: the first and last follower count in the period. start is null when there is only one reading.
  • change: end minus start, or null without a start.
  • series: every daily reading, for a chart.

Networks are sorted by end, biggest first.

top_posts

The five posts with the highest score in the period. The score counts likes, saves and favorites once, comments and replies twice, reposts, shares and quotes three times, and adds one for every 100 views. stats has the post's numbers as read.

Posts made with a test key are left out of reports.

The call needs a key with the analytics scope.

Parameters

  • profile_usernamestring · pathrequired
  • daysstring · query

    1 to 365, default 30

Responses

200 Report

{
  "success": true,
  "profile_username": "string",
  "report": {}
}

404 Profile not found

{
  "success": false,
  "message": "string",
  "error": "string",
  "error_code": "string"
}

Something unclear or missing? Write to [email protected] and we’ll fix the page.