Get best times to post
Returns the best times to post based on historical engagement data. Groups all published posts by day of week and hour (UTC), calculating average engagement per slot. Use this to auto-schedule posts at optimal times. Requires the Analytics add-on.
API key authentication - use your Late API key as a Bearer token
In: header
Query Parameters
Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms.
Filter by profile ID. Omit for all profiles.
Response Body
application/json
application/json
application/json
curl -X GET "https://getlate.dev/api/v1/analytics/best-time"{
"slots": [
{
"day_of_week": 2,
"hour": 18,
"avg_engagement": 510.3,
"post_count": 15
},
{
"day_of_week": 0,
"hour": 9,
"avg_engagement": 342.5,
"post_count": 12
},
{
"day_of_week": 4,
"hour": 12,
"avg_engagement": 289.1,
"post_count": 8
}
]
}{
"error": "Unauthorized"
}{
"error": "Analytics add-on required",
"requiresAddon": true
}Get post analytics GET
Returns analytics for posts. With postId, returns a single post. Without it, returns a paginated list with overview stats. Accepts both Late Post IDs and External Post IDs (auto-resolved). Data is cached and refreshed at most once per hour. For follower stats, use /v1/accounts/follower-stats.
Get content performance decay GET
Returns how engagement accumulates over time after a post is published. Each bucket shows what percentage of the post's total engagement had been reached by that time window. Useful for understanding content lifespan (e.g. "posts reach 78% of total engagement within 24 hours"). Requires the Analytics add-on.