# LinkedIn posts API - Veezee

Read the recent LinkedIn posts of one person or one company: what they're announcing, hiring for, and talking about, as structured JSON with a cursor for older pages. The identifier is a profile or company URL, a slug, or a company website domain; the entity type is detected automatically.

Each page costs 4 credits; a domain identifier quotes 8 credits with the surcharge refunded for known domains, exactly like the [company API](https://veezee.io/linkedin-company-api).

## Try it now

No account, no card: mint a free key in one call, then call the endpoint.

```
curl -s -X POST https://api.veezee.io/v1/keys/mint
```

```
curl "https://api.veezee.io/v1/linkedin/posts?identifier=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2Fmicrosoft%2F" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"
```

## Over MCP

Point an MCP client at `https://mcp.veezee.io/linkedin` (streamable-http; `https://mcp.veezee.io/all` serves every platform over one connection) and call `linkedin_get_posts`:

```json
{
  "method": "tools/call",
  "params": {
    "name": "linkedin_get_posts",
    "arguments": {
      "identifier": "https://www.linkedin.com/company/microsoft/"
    }
  }
}
```

## Parameters

| Param | Required | Type | Description |
| --- | --- | --- | --- |
| `identifier` | yes | `string` | Person or company URL, slug, URN, or company website domain. |
| `cursor` | no | `string` | Cursor from a previous page for older posts. |
| `freshness` | no | `string` | recent (default) serves cached data from the last few hours when available; realtime forces a live fetch for +2 credits (refunded if we fall back to cached data). Trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED; paying upgrades this same key to unlock it. |
| `max_credits` | no | `integer` | Spend ceiling for this one call. The call is rejected (nothing charged) if its quote exceeds this. Only the quote is ever reserved, never this ceiling. |

Returns a `posts` envelope. Full field list: https://veezee.io/docs/fields#posts

## Pricing

`linkedin_get_posts` costs 4 credits base per call (surcharges for optional sections, cursor pages, and batches: https://veezee.io/docs/tools/linkedin_get_posts). Every key starts with a free budget of 200 credits per IP per day, no account, no card; past that, credits are $2.00 per 1,000 with no subscription required.

## FAQ

**Can I keyword-search across all LinkedIn posts?**

No: this reads one entity's recent posts. There is no cross-LinkedIn post search in v1.

**Can I fetch one specific post by URL?**

There is no single-post fetch. [linkedin_resolve_url](https://veezee.io/docs/tools/linkedin_resolve_url) identifies a post URL, and reading the author's recent posts usually surfaces it.

**How far back does it go?**

One page per call; keep following the cursor, each page a new 4 credits call.

## Read next

- [linkedin_get_posts: the full reference](https://veezee.io/docs/tools/linkedin_get_posts)
- [LinkedIn API for AI agents](https://veezee.io/linkedin-api-for-ai-agents)
- [Pricing](https://veezee.io/pricing)
