> ## Documentation Index
> Fetch the complete documentation index at: https://docs.theswarm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Comments

> Pulls all comments for a given social media post.

<Note>
  This endpoint is in beta. Please report any issues to [support@theswarm.com](mailto:support@theswarm.com)
</Note>

## Endpoint

```text theme={null}
GET https://bee.theswarm.com/social/post/:postUrn/comments
```

## Parameters

| Parameter  | In    | Type    | Required | Description                                                |
| :--------- | :---- | :------ | :------- | :--------------------------------------------------------- |
| `:postUrn` | path  | string  | Yes      | URN of the post. Available in the [Get Posts](#) response. |
| `page`     | query | integer | No       | 1-indexed page number. Defaults to `1`.                    |
| `perPage`  | query | integer | No       | Number of items per page. Defaults to `10`, maximum `100`. |

## Pagination

Use `page` and `perPage` to walk through large comment threads. The response includes `pages` (total page count) and `totalCount` so you can stop when `page > pages`.

## Request Example

```text theme={null}
GET https://bee.theswarm.com/social/post/urn:li:ugcPost:7439318163827339265/comments
```

```text Paginated theme={null}
GET https://bee.theswarm.com/social/post/urn:li:ugcPost:7439318163827339265/comments?page=2&perPage=20
```

<RequestExample>
  ```text GET theme={null}
  https://bee.theswarm.com/social/post/urn:li:ugcPost:7439318163827339265/comments
  ```

  ```text GET (paginated) theme={null}
  https://bee.theswarm.com/social/post/urn:li:ugcPost:7439318163827339265/comments?page=2&perPage=20
  ```
</RequestExample>

<ResponseExample>
  ```text GET COMMENTS theme={null}
  {
      "comments": [
          {
              "commentary": "Watch it here! https://www.theswarm.com/go-to-network-academy-videos/jared-robin",
              "commenter": {
                  "image": "https://media.licdn.com/dms/image/v2/D5603AQE7PKvsHmvlzA/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1697662162523?e=1775692800&v=beta&t=VnD-jQQgXUJecfx7cwY-ekmChHfSWmNwy_ZR_yWwLLc",
                  "linkedin_url": "https://www.linkedin.com/in/olivier-roth",
                  "linkedin_id": "olivier-roth",
                  "name": "Olivier Roth"
              },
              "created_at": "2026-03-16T14:35:09.666Z",
              "num_reactions": 2,
              "num_comments": 0,
              "reaction_type_counts": [
                  {
                      "count": 2,
                      "reaction_type": "LIKE"
                  }
              ],
              "comments": []
          },
          {
              "commentary": "Couldn't agree more with the with first point. Most companies forget about culture and think it can be bought with foosball and ping-pong tables. \n\nScaling sales and keeping the growth happens when systems meet culture, creating sustainable growth!",
              "commenter": {
                  "image": "https://media.licdn.com/dms/image/v2/D5603AQHb1NjTdKL-Pg/profile-displayphoto-crop_800_800/B56Z0EiQnVHkAM-/0/1773897590791?e=1775692800&v=beta&t=v5xHfZ8mT6zG7FVhDl6wKFNWH8IzLScc2mkQkiO_-Tk",
                  "linkedin_url": "https://www.linkedin.com/in/semmie-onojaife",
                  "linkedin_id": "semmie-onojaife",
                  "name": "Semmie Onojaife"
              },
              "created_at": "2026-03-17T08:13:06.393Z",
              "num_reactions": 2,
              "num_comments": 1,
              "reaction_type_counts": [
                  {
                      "count": 2,
                      "reaction_type": "LIKE"
                  }
              ],
              "comments": [
                  {
                      "commentary": "Semmie, that's right. Culture is the make or break factor in tough times",
                      "commenter": {
                          "image": "https://media.licdn.com/dms/image/v2/D5603AQE7PKvsHmvlzA/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1697662162523?e=1775692800&v=beta&t=VnD-jQQgXUJecfx7cwY-ekmChHfSWmNwy_ZR_yWwLLc",
                          "linkedin_url": "https://www.linkedin.com/in/olivier-roth",
                          "linkedin_id": "olivier-roth",
                          "name": "Olivier Roth"
                      },
                      "created_at": "2026-03-20T04:19:30.725Z",
                      "num_reactions": 1,
                      "num_comments": 0,
                      "reaction_type_counts": [
                          {
                              "count": 1,
                              "reaction_type": "LIKE"
                          }
                      ],
                      "comments": []
                  }
              ]
          },
          {
              "commentary": "This hairstyle I'm testing out is called the 'bullet'. \npart bun + part mullet = bullet\nverdict is out.\n\nbut, loved this conversation and appreciate your time!",
              "commenter": {
                  "image": "https://media.licdn.com/dms/image/v2/C4D03AQGLqQWpRiByNg/profile-displayphoto-shrink_800_800/profile-displayphoto-shrink_800_800/0/1641498314211?e=1775692800&v=beta&t=28xBHAKd0J-w5n_EJnZyAdEzGIhJ8zFB2L7oWnzycY4",
                  "linkedin_url": "https://www.linkedin.com/in/jaredrobin",
                  "linkedin_id": "jaredrobin",
                  "name": "Jared Robin"
              },
              "created_at": "2026-03-16T16:55:45.703Z",
              "num_reactions": 4,
              "num_comments": 2,
              "reaction_type_counts": [
                  {
                      "count": 3,
                      "reaction_type": "LIKE"
                  },
                  {
                      "count": 1,
                      "reaction_type": "ENTERTAINMENT"
                  }
              ],
              "comments": [
                  {
                      "commentary": "Jared Robin Hansel, he is so hot right now, Hansel",
                      "commenter": {
                          "image": "",
                          "linkedin_url": "https://www.linkedin.com/in/adem-manderovic",
                          "linkedin_id": "adem-manderovic",
                          "name": "Adem Manderovic"
                      },
                      "created_at": "2026-03-23T00:20:46.265Z",
                      "num_reactions": 0,
                      "num_comments": 0,
                      "reaction_type_counts": [],
                      "comments": []
                  }
              ]
          }
      ],
      "totalCount": 3,
      "pages": 1,
      "paginationToken": "1644010843-1774278017734-76967b2702698df63fb20ce936437fa9"
  }
  ```
</ResponseExample>


## OpenAPI

````yaml openapi.json GET /social/post/{urn}/comments
openapi: 3.1.0
info:
  title: Swarm API
  version: 1.0.0
  contact:
    name: The Swarm
    url: https://theswarm.com
    email: hello@theswarm.com
servers:
  - url: https://bee.theswarm.com
security:
  - ApiKeyAuth: []
tags:
  - name: profiles
    description: Operations related to profiles
  - name: companies
    description: Operations related to companies
  - name: teams
    description: Operations for managing teams and connectors
  - name: social
    description: Operations related to social media posts and interactions
  - name: mcp
    description: Model Context Protocol endpoint for AI assistant integrations
  - name: credits
    description: Operations related to credit usage
  - name: network-mapper
    description: Operations for mapping connections and relationships across your network
paths:
  /social/post/{urn}/comments:
    get:
      tags:
        - social
      summary: Get post comments
      description: Fetch comments on a LinkedIn post
      operationId: getPostComments
      parameters:
        - name: urn
          in: path
          required: true
          description: LinkedIn post URN
          schema:
            type: string
        - name: page
          in: query
          required: false
          description: Page number (1-indexed). Optional.
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: perPage
          in: query
          required: false
          description: Number of items per page. Max 100. Optional.
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 10
      responses:
        '200':
          description: List of comments
          content:
            application/json:
              schema:
                type: object
                properties:
                  comments:
                    type: array
                    items:
                      $ref: '#/components/schemas/SocialComment'
                  totalCount:
                    type: integer
                  pages:
                    type: integer
                  paginationToken:
                    type: string
                required:
                  - comments
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        5XX:
          $ref: '#/components/responses/5XX'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    SocialComment:
      type: object
      properties:
        commentary:
          type: string
        commenter:
          $ref: '#/components/schemas/SocialCommenter'
        created_at:
          type: string
        num_reactions:
          type: integer
        num_comments:
          type: integer
        reaction_type_counts:
          type: array
          items:
            $ref: '#/components/schemas/SocialReactionTypeCount'
        comments:
          type: array
          items:
            $ref: '#/components/schemas/SocialComment'
          description: Nested reply comments
    SocialCommenter:
      type: object
      properties:
        image:
          type: string
        linkedin_url:
          type: string
        linkedin_id:
          type: string
        name:
          type: string
    SocialReactionTypeCount:
      type: object
      properties:
        count:
          type: integer
        reaction_type:
          type: string
    ErrorResponse:
      type: object
      properties:
        code:
          description: Error status code
          type: integer
        errors:
          type: array
          items:
            type:
              - string
              - object
      required:
        - code
  responses:
    '400':
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    '401':
      description: Unauthorized
    '403':
      description: Forbidden
    5XX:
      description: Unexpected error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````