Skip to content
reelspanDocs

Media and analytics

Best times to post

Find the hours and weekdays when a profile's posts do best on each network, worked out from your own published posts, in any time zone.

GETapi.reelspan.com/v1/best-times/{profile_username}Try it →

Best times are worked out from your own results, not from general advice. For each network, Reelspan compares how your posts did by the hour and weekday they went out, and returns the hours and days that beat your usual post.

curl "https://api.reelspan.com/v1/best-times/my-brand?timezone=Europe/Berlin&platforms=tiktok,instagram" \
  -H "Authorization: Bearer $REELSPAN_API_KEY"

The response

{
  "success": true,
  "profile_username": "my-brand",
  "timezone": "Europe/Berlin",
  "best_times": {
    "instagram": {
      "posts": 23,
      "needed": 0,
      "hours": [
        { "hour": 18, "lift": 1.64, "posts": 4 },
        { "hour": 12, "lift": 1.31, "posts": 3 }
      ],
      "days": [{ "day": 3, "lift": 1.42, "posts": 5 }]
    },
    "tiktok": { "posts": 5, "needed": 3, "hours": [], "days": [] }
  }
}

For each network:

  • posts: how many of your posts with numbers were compared.
  • needed: how many more posts the network needs before anything is suggested. A network needs 8.
  • hours: up to 3 hours of the day (0 to 23), best first.
  • days: up to 2 weekdays, best first. 0 is Monday and 6 is Sunday.
  • lift: how posts at that time did against your usual post on the network. 1.64 means 64% better.

Only hours and days that did better than usual (a lift above 1) are listed, and only those with at least 2 posts. An empty list means nothing stood out yet.

How it works

  1. About two days after each post goes out, Reelspan reads its numbers once, so every post is compared at the same age.
  2. Each post gets one score: likes, saves and favorites count once, comments and replies twice, reposts, shares and quotes three times, and every 100 views or impressions add one.
  3. For each network, the posts of the last 120 days are grouped by hour and by weekday in your timezone, and each group is compared with the median post.

Posts made with a test key aren't counted. Only networks that share post numbers can have best times; see What each network shares.

Parameters

  • timezone: an IANA time zone such as America/New_York or Asia/Karachi. Default UTC. An unknown zone answers 400.
  • platforms: comma-separated network ids. A network you name that has no posts yet is still listed, with needed: 8. Leave it out for every network the profile posted to.

Use them

Feed the hours into your profile's posting queue so new posts take the best slots: see Queue.

The call needs a key with the analytics scope.

Parameters

  • profile_usernamestring · pathrequired
  • timezonestring · query

    IANA zone, default UTC

  • platformsstring · query

    Comma-separated

Responses

200 Best times

{
  "success": true,
  "profile_username": "string",
  "timezone": "string",
  "best_times": {}
}

400 Unknown time zone

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

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.