---
title: "List comments"
method: GET
path: "/comments"
tags: ["Comments"]
---

# List comments

`GET /comments`

## Request

- Base URL: `https://api.postplanify.com/api/v1`
- URL: `https://api.postplanify.com/api/v1/comments`
- Auth: HTTP bearer

Returns a paginated list of top-level comments across all connected inbox-capable accounts in a workspace. Inbox is available for **Instagram, Facebook, LinkedIn, and Google Business**.

Comments are synced in the background as your social accounts are polled: results reflect the last synced state. Replies to other comments are not included; use `GET /comments/{id}/replies` to fetch those.

## Ordering

Comments are returned newest first (by platform `timestamp`).

## Subscription

This endpoint requires the workspace owner to have an active Growth, Premium, or Scale subscription.

## Query parameters

- `workspaceId` string, uuid, required
- `socialAccountId` string, uuid
- `platform` 'INSTAGRAM' | 'FACEBOOK' | 'LINKEDIN' | 'GOOGLE_BUSINESS'
- `unreadOnly` boolean
- `page` integer
- `limit` integer

## Response `200`

Paginated list of comments

- object
  - `ok` boolean
  - `data` Comment[]
    - `id` string: Platform-native comment identifier. For Instagram, Facebook and Google Business this is a numeric string. For LinkedIn it is a URN (e.g. `urn:li:comment:(activity:12345,67890)`): **always URL-encode it** when placing it in a path parameter.
    - `workspaceId` string, uuid
    - `parentCommentId` string, nullable: ID of the comment this one is a reply to, or `null` for top-level comments.
    - `text` string
    - `username` string: Commenter's username. LinkedIn does not expose commenter names through its Comments API: LinkedIn comments return `"LinkedIn User"` unless the commenter is the connected account itself.
    - `platformUserId` string, nullable
    - `profilePictureUrl` string, nullable
    - `timestamp` string, date-time: When the comment was posted on the platform.
    - `likeCount` integer
    - `replyCount` integer: Number of direct replies (nested comments).
    - `isHidden` boolean: Whether the comment is hidden on the platform. Only Instagram and Facebook support hiding.
    - `isRead` boolean: Internal read state in PostPlanify. Not reflected on the platform.
    - `brandReplied` boolean: True if you have already replied to this comment through PostPlanify.
    - `rating` integer, nullable: Star rating (1–5). Only set for Google Business reviews; `null` for other platforms.
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `socialAccount` object, nullable
      - `id` string, uuid
      - `platform` 'FACEBOOK' | 'INSTAGRAM' | 'X' | 'LINKEDIN' | 'TIKTOK' | 'YOUTUBE' | 'THREADS' | 'BLUESKY' | 'PINTEREST' | 'GOOGLE_BUSINESS'
      - `accountName` string
      - `profilePictureUrl` string, nullable
    - `post` object, nullable: The post (or review target) this comment is attached to.
      - `id` string: Platform-native post ID.
      - `platform` 'FACEBOOK' | 'INSTAGRAM' | 'X' | 'LINKEDIN' | 'TIKTOK' | 'YOUTUBE' | 'THREADS' | 'BLUESKY' | 'PINTEREST' | 'GOOGLE_BUSINESS'
      - `mediaType` string, nullable
      - `permalink` string, nullable
      - `mediaUrl` string, nullable
      - `caption` string, nullable
      - `postedAt` string, date-time, nullable
  - `pagination` Pagination
    - `page` integer
    - `limit` integer
    - `total` integer
    - `has_more` boolean

## Other responses

- `400`: Missing `workspaceId` or invalid `platform`
- `403`: Workspace requires an active subscription
- `404`: Workspace not found

---

[API](https://skmtc.dev/postplanify/apis/postplanify-api.md) · [All operations](https://skmtc.dev/postplanify/apis/postplanify-api/llms.txt) · [OpenAPI document](https://skmtc.dev/postplanify/apis/postplanify-api/revisions/9eae5f1faa56?raw)
