---
title: "List profile comments"
method: GET
path: "/api/profiles/{profile_id}/comments"
tags: ["Profile Comments"]
---

# List profile comments

`GET /api/profiles/{profile_id}/comments`

## Request

- Base URL: `https://api.postproxy.dev`
- URL: `https://api.postproxy.dev/api/profiles/{profile_id}/comments`
- Auth: HTTP bearer

Retrieves a paginated list of top-level profile-scoped comments (Google Business Profile reviews and Facebook Page recommendations). Each top-level comment includes a replies array containing all nested replies sorted by created_at ascending; results are sorted by posted_at descending.

## Query parameters

- `profile_group_id` string
- `placement_id` string
- `page` integer
- `per_page` integer

## Response `200`

Paginated list of top-level comments, each with a replies array. Pagination applies to top-level comments only. Google Business reviews can be star-only: body is null while platform_data.star_rating is populated.

- ProfileCommentListResponse: Paginated list of top-level profile comments.
  - `total` integer: Total number of top-level comments
  - `page` integer: Current page number
  - `per_page` integer: Items per page
  - `data` ProfileComment[]: Array of top-level comment objects, each with a replies array
    - `id` string: Postproxy comment ID (hashid)
    - `external_id` string, nullable: Platform's native resource ID (null while a reply is pending publication)
    - `parent_external_id` string, nullable: External ID of parent review (null for top-level reviews)
    - `placement_id` string: Location path (e.g. accounts/X/locations/Y)
    - `body` string, nullable: Comment/review text. Google Business reviews can be star-only: body is null while platform_data.star_rating is still populated.
    - `status` 'synced' | 'pending' | 'published' | 'failed' | 'failed_waiting_for_retry' | 'deleted'
    - `error` string, nullable: Error summary if an outgoing reply failed (null otherwise)
    - `error_details` PlatformErrorDetails, nullable: Structured platform error (omitted when no platform error info is available).
      - `platform_error_code` string, nullable: Error code returned by the platform API
      - `platform_error_subcode` string, nullable: Error subcode returned by the platform API
      - `platform_error_message` string, nullable: Error message returned by the platform API
      - `postproxy_note` string, nullable: Additional context from Postproxy about the error
    - `author_username` string, nullable: Display name of reviewer (null for your own replies)
    - `author_avatar_url` string, nullable: Profile image URL
    - `platform_data` object, nullable: Platform-specific metadata (e.g. star_rating, update_time for Google reviews; recommendation_type for Facebook recommendations)
    - `permalink` string, nullable: URL to the comment on the platform (the location's reviews page on Google or the Page's reviews tab on Facebook — shared by all reviews and replies on that location / Page; null if unavailable)
    - `posted_at` string, nullable: ISO 8601 timestamp of platform posting
    - `created_at` string: ISO 8601 timestamp of record creation
    - `replies` ProfileComment[]: Nested replies to this comment, sorted by created_at ascending (present on list/get responses)

## Other responses

- `400`: Missing required parameters.
- `401`: Invalid, missing, or insufficient API key permissions.
- `404`: Resource does not exist or is not accessible.

---

[API](https://skmtc.dev/postproxy/apis/postproxy-social-media-api.md) - [All operations](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/llms.txt) - [OpenAPI document](https://skmtc.dev/postproxy/apis/postproxy-social-media-api/revisions/d54482ac4ce7?raw)
