---
title: "Get the best times to post"
method: GET
path: "/v1/analytics/best-time"
tags: ["Analytics"]
---

# Get the best times to post

`GET /v1/analytics/best-time`

## Request

- Base URL: `https://api.postzen.dev`
- URL: `https://api.postzen.dev/v1/analytics/best-time`
- Auth: HTTP bearer

Returns historical engagement slots grouped by UTC day of week and hour, ordered by average engagement descending. Hours are UTC; day_of_week uses 0 = Sunday through 6 = Saturday.

## Query parameters

- `platform` 'x' | 'instagram' | 'tiktok' | 'linkedin' | 'facebook' | 'youtube' | 'threads' | 'pinterest' | 'bluesky' | 'telegram'
- `profileId` string
- `accountId` string
- `source` 'all' | 'postzen' | 'external'

## Response `200`

Best posting slots returned.

- BestTimeResponse
  - `slots` object[], required
    - `day_of_week` integer, required: UTC day of week, where 0 is Sunday.
    - `hour` integer, required: Hour of day in UTC (0–23).
    - `avg_engagement` number, required
    - `post_count` number, required
    - `day_name` 'Sunday' | 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday', required: UTC weekday name corresponding to day_of_week (0 = Sunday).
  - `timezone` 'UTC', required: Timezone used for every slot weekday and hour.

## Other responses

- `400`: Invalid request.
- `401`: Missing or invalid API key.
- `402`: Analytics entitlement required.
- `403`: The API key does not have sufficient permission or profile access.
- `404`: Resource not found.
- `429`: Rate limit exceeded. Retry after the interval indicated by the `Retry-After` header.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/postzen/apis/postzen-public-api.md) · [All operations](https://skmtc.dev/postzen/apis/postzen-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postzen/apis/postzen-public-api/revisions/40863e3710ec?raw)
