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

# Profile Posts API

> Retrieve paginated public posts for a LinkedIn profile.

## Get profile posts

```http theme={null}
GET https://api.superdata.so/v1/profile/posts
```

The Profile Posts API returns public posts and engagement data for a person. Every request requires a [Bearer API key](/reference/authentication).

## Query parameters

Provide at least one identifier. If you send more than one, Superdata uses `url`, then `person.id`, then `profile_id`.

| Parameter    | Type             | Default  | Description                                                                    |
| ------------ | ---------------- | -------- | ------------------------------------------------------------------------------ |
| `url`        | URL              | —        | Public LinkedIn `/in/` or `/pub/` profile URL                                  |
| `person.id`  | positive integer | —        | Numeric person ID accepted by Superdata; the dot is part of the parameter name |
| `profile_id` | positive integer | —        | LinkedIn profile ID                                                            |
| `strategy`   | enum             | `cached` | `cached` or `fetch`                                                            |
| `sort_field` | enum             | `id`     | Sort by `id` or `post_date`                                                    |
| `offset`     | integer          | `0`      | Result offset; minimum `0`                                                     |
| `page_size`  | integer          | `10`     | Results per page; minimum `1`, maximum `100`                                   |

## Example request

```bash theme={null}
curl --request GET \
  --url 'https://api.superdata.so/v1/profile/posts' \
  --get \
  --data-urlencode 'url=https://www.linkedin.com/in/satyanadella' \
  --data-urlencode 'strategy=cached' \
  --data-urlencode 'sort_field=post_date' \
  --data-urlencode 'offset=0' \
  --data-urlencode 'page_size=10' \
  --header 'Authorization: Bearer YOUR_API_KEY' \
  --header 'Accept: application/json'
```

## Example response

Post fields depend on what is publicly available from the source.

```json theme={null}
{
  "request_id": "req_01J...",
  "data": {
    "posts": [
      {
        "id": "post_123",
        "post_date": "2026-09-01T10:00:00Z",
        "text": "Post content",
        "reactions_count": 120,
        "comments_count": 14
      }
    ]
  },
  "meta": {
    "source": "linkedin",
    "cached": true,
    "credits_used": 1,
    "pagination": {
      "offset": 0,
      "page_size": 10,
      "next_offset": null,
      "has_more": false
    }
  }
}
```

## Pagination

When `has_more` is `true`, send the returned `next_offset` as the next request's `offset`. A `null` `next_offset` means there is no additional page.

See [errors and limits](/reference/errors-and-limits) for status codes and retry guidance.
