# LinkedIn

Measured LinkedIn data, one operation per call. /in/ handles come from evidence (web search, a pasted URL, a prior answer) — never typed from a name: first-last slugs often name a DIFFERENT person, and the fetch bills. ops: profiles (batch of /in/ handles or URLs; fields=\["positions"\] adds the work history, include.posts adds each person's recent posts in the same call), posts (one person, deep — includes the author's profile card when held), companies (company pages), searchPeople (a company's people filtered by title/seniority/function, or GLOBAL with query and no company), searchCompanies (query + size/industry/ location), jobs (listings by title + filters), searchPosts (find POSTS by keyword — the content itself, not people/companies; narrow by mention, content type, recency), postComments (a post's comment thread by URL), profileComments (a person's OWN commenting activity by /in/ handle), postReactions (who reacted to a post, filterable by reaction), profileReactions (what a person reacted to), adsLibrary (an advertiser's public ads from an Ad Library URL), history (stored series, free). A person's work email and mobile number are the `contacts` tool's job — find the /in/ here first. Ops are independent — issue several as PARALLEL tool calls for faster answers.

`POST https://api.zomler.com/api/v1/platforms/linkedin`

-   [profiles](#profiles)
-   [posts](#posts)
-   [companies](#companies)
-   [searchPeople](#searchPeople)
-   [searchCompanies](#searchCompanies)
-   [jobs](#jobs)
-   [searchPosts](#searchPosts)
-   [postComments](#postComments)
-   [profileComments](#profileComments)
-   [postReactions](#postReactions)
-   [profileReactions](#profileReactions)
-   [adsLibrary](#adsLibrary)
-   [history](#history)

## profiles

from 4 credits · fresh for 7 days

Profile cards for up to ten people, by /in/<slug> vanity handle (a full profile URL is accepted and reduced to its slug). `include.posts` adds each person's recent posts to the same answer.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |
| `fields` | list of enum | `—` | `profile`, `positions` |
| `include` | object | `—` | — |
| `include.posts` | object | `—` | — |
| `include.posts.limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "profiles",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "profiles",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "profiles",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## posts

from 20 credits for 10 · fresh for 3 days

A person's recent posts with engagement. (Company-page posts are not served yet — asking today is declined with a reason, never guessed at.)

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subject` (required) | string | — | ≤400 chars |
| `limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "posts",
    "subject": "example"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "posts",
      "subject": "example"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "posts",
        "subject": "example"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## companies

from 4 credits · fresh for 14 days

Company pages for up to ten /company/<slug> handles or URLs.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "companies",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "companies",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "companies",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## searchPeople

from 39 credits for 10

People search. With `company`: that company's people, filtered (employees-of-X). Without it: a GLOBAL search — give `query` (e.g. "fintech founder") and/or titles. Find founders/leadership via titles (free text: "Founder", "CEO") and/or seniority bands (cxo, owner\_partner); functions and tenure narrow further.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `company`◆ | string | `—` | ≤400 chars |
| `query` | string | `—` | ≤300 chars |
| `titles`◆ | list of string | `—` | — |
| `pastTitles`◆ | list of string | `—` | — |
| `pastCompanies`◆ | list of string | `—` | — |
| `schools`◆ | list of string | `—` | — |
| `locations` | list of string | `—` | — |
| `industries`◆ | list of string | `—` | — |
| `companySizes`◆ | list of enum | `—` | `1-10`, `11-50`, `51-200`, `201-500`, `501-1000`, `1001-5000`, `5001-10000`, `10001+` |
| `seniority`◆ | list of enum | `—` | `in_training`, `entry`, `senior`, `strategic`, `entry_manager`, `experienced_manager`, `director`, `vice_president`, `cxo`, `owner_partner` |
| `functions`◆ | list of enum | `—` | `accounting`, `administrative`, `arts_and_design`, `business_development`, `community_and_social_services`, `consulting`, `education`, `engineering`, `entrepreneurship`, `finance`, `healthcare_services`, `human_resources`, `information_technology`, `legal`, `marketing`, `media_and_communication`, `military_and_protective_services`, `operations`, `product_management`, `program_and_project_management`, `purchasing`, `quality_assurance`, `real_estate`, `research`, `sales` |
| `yearsAtCompany`◆ | list of enum | `—` | `lt_1y`, `1_2y`, `3_5y`, `6_10y`, `gt_10y` |
| `yearsOfExperience`◆ | list of enum | `—` | `lt_1y`, `1_2y`, `3_5y`, `6_10y`, `gt_10y` |
| `recentlyChangedJobs`◆ | boolean | `—` | — |
| `recentlyPosted`◆ | boolean | `—` | — |
| `personNames`◆ | list of string | `—` | — |
| `currentCompanies`◆ | list of string | `—` | — |
| `companyHqLocations`◆ | list of string | `—` | — |
| `profileLanguages`◆ | list of string | `—` | — |
| `limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "searchPeople"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "searchPeople"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "searchPeople"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## searchCompanies

from 21 credits for 10

Company search by keyword and structured filters.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `query` | string | `—` | ≤300 chars |
| `locations` | list of string | `—` | — |
| `companySizes`◆ | list of enum | `—` | `1-10`, `11-50`, `51-200`, `201-500`, `501-1000`, `1001-5000`, `5001-10000`, `10001+` |
| `industries`◆ | list of string | `—` | — |
| `limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "searchCompanies"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "searchCompanies"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "searchCompanies"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## jobs

from 10 credits for 10

Job listings search: `query` is the job-title anchor, the rest narrow it.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `query` (required) | string | — | ≤300 chars |
| `locations` | list of string | `—` | — |
| `companies`◆ | list of string | `—` | — |
| `industries`◆ | list of string | `—` | — |
| `workplace` | list of enum | `—` | `remote`, `hybrid`, `onsite` |
| `employmentType` | list of enum | `—` | `full_time`, `part_time`, `contract`, `internship`, `temporary` |
| `experienceLevel` | list of enum | `—` | `internship`, `entry`, `associate`, `mid_senior`, `director`, `executive` |
| `postedWithin` | enum | `—` | `1h`, `1d`, `7d`, `30d` |
| `salaryMin` | integer | `—` | 40-1000 |
| `easyApply`◆ | boolean | `—` | — |
| `under10Applicants`◆ | boolean | `—` | — |
| `sort` | enum | `—` | `relevance`, `newest` |
| `limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "jobs",
    "query": "example"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "jobs",
      "query": "example"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "jobs",
        "query": "example"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## searchPosts

from 20 credits for 10

Search LinkedIn POSTS by keyword — the content itself, not people or companies. `query` is the search ("layoffs fintech", a product name, a hashtag). Narrow by who is mentioned, the content type (videos, images, documents…), how recent, and sort by relevance or date.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `query` (required) | string | — | ≤300 chars |
| `mentioning`◆ | list of string | `—` | — |
| `contentType`◆ | enum | `—` | `all`, `videos`, `images`, `jobs`, `live_videos`, `documents`, `collaborative_articles` |
| `postedWithin` | enum | `—` | `any`, `1h`, `1d`, `7d`, `30d`, `3m`, `6m`, `1y` |
| `sort` | enum | `—` | `relevance`, `newest` |
| `includeReposts`◆ | boolean | `—` | — |
| `includeQuotePosts`◆ | boolean | `—` | — |
| `limit` | integer | `10` | 1-50 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "searchPosts",
    "query": "example"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "searchPosts",
      "query": "example"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "searchPosts",
        "query": "example"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## postComments

from 49 credits for 25

Comments on up to ten LinkedIn POSTS, by post URL. `includeReplies` pulls nested replies; `postedWithin` limits how far back to read.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |
| `includeReplies` | boolean | `—` | — |
| `postedWithin` | enum | `—` | `any`, `1d`, `7d`, `30d` |
| `limit` | integer | `25` | 1-100 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "postComments",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "postComments",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "postComments",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## profileComments

from 49 credits for 25

A profile's OWN commenting activity — the comments up to ten people left across LinkedIn, by /in/<slug> handle, newest first.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |
| `postedWithin` | enum | `—` | `any`, `1d`, `7d`, `30d` |
| `limit` | integer | `25` | 1-100 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "profileComments",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "profileComments",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "profileComments",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## postReactions

from 49 credits for 25

Reactions on up to ten LinkedIn POSTS, by post URL — who reacted and how. `reactionTypes` filters to specific reactions (Like, Celebrate…).

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |
| `reactionTypes`◆ | list of enum | `—` | `like`, `celebrate`, `support`, `love`, `insightful`, `funny` |
| `limit` | integer | `25` | 1-100 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "postReactions",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "postReactions",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "postReactions",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## profileReactions

from 49 credits for 25

A profile's OWN reactions — what up to ten people reacted to across LinkedIn, by /in/<slug> handle, newest first.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subjects` (required) | list of string | — | 1-10 items |
| `postedWithin` | enum | `—` | `any`, `1d`, `7d`, `30d` |
| `limit` | integer | `25` | 1-100 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "profileReactions",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "profileReactions",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "profileReactions",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## adsLibrary

from 49 credits for 25

Ads from the LinkedIn Ad Library, by Ad Library URL — an advertiser's page (all their live ads) or a single ad's detail URL.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `subject` (required) | string | — | ≤400 chars |
| `limit` | integer | `25` | 1-100 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "adsLibrary",
    "subject": "example"
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "adsLibrary",
      "subject": "example"
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "adsLibrary",
        "subject": "example"
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

## history

free · reads what is held

The stored time series — free, reads what captures already wrote.

### Request fields

| Field | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `entity`◆ | enum | `people` | `people`, `companies` |
| `subjects` (required) | list of string | — | 1-10 items |
| `metric` | string | `followers` | — |
| `days` | integer | `90` | 1-730 |

### Example

```bash
curl -X POST https://api.zomler.com/api/v1/platforms/linkedin \
  -H "X-API-Key: zk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
  "request": {
    "op": "history",
    "subjects": [
      "example"
    ]
  },
  "estimateOnly": false
}'
```

```js
const res = await fetch("https://api.zomler.com/api/v1/platforms/linkedin", {
  method: "POST",
  headers: {
    "X-API-Key": process.env.ZOMLER_API_KEY,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "request": {
      "op": "history",
      "subjects": [
        "example"
      ]
    },
    "estimateOnly": false
  }),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);
```

```python
import os, httpx

res = httpx.post(
    "https://api.zomler.com/api/v1/platforms/linkedin",
    headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
    json={
      "request": {
        "op": "history",
        "subjects": [
          "example"
        ]
      },
      "estimateOnly": False
    },
    timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])
```

---

Source: https://zomler.com/docs/api/platforms/linkedin
