---
title: "Get or search LinkedIn posts"
method: GET
path: "/linkedin/posts"
tags: ["LinkedIn"]
---

# Get or search LinkedIn posts

`GET /linkedin/posts`

## Request

- Base URL: `https://api.scrapefield.com/v1`
- URL: `https://api.scrapefield.com/v1/linkedin/posts`
- Auth: one of:
  - HTTP bearer
  - none

Fetch recent posts by one person or company, or with `query` every public post with those words: text, images, video, document or article, and published_at. A person's posts also carry reaction_count (with the breakdown by kind), comment_count and repost_count; a company's carry the text and the date, with the counts null, at a much lower price. For the counts on one of them, call linkedin/post.

Give exactly one of `url` or `company_url` or `query` to identify the author.

Costs 7 credits (3 with `company_url`), whether the answer is fetched or served from cache. A failed call is refunded automatically.

## Query parameters

- `url` string
- `company_url` string
- `query` string
- `posted_within` 'day' | 'week' | 'month'
- `limit` integer
- `cursor` string
- `fresh` boolean
- `demo` boolean

## Response `200`

The request succeeded.

- object
  - `data` LinkedinPost[], required
    - `urn` string, required: LinkedIn's id for the post, e.g. `urn:li:activity:7243…`.
    - `url` string, uri, required: The post.
    - `author` object, required: Who posted it: a person or a company page.
      - `name` string, nullable, required: `null` where the source names only the page.
      - `type` 'person' | 'company', required: Whether a person or a company page posted it.
      - `headline` string, nullable, required: The person's headline, or the company's follower line.
      - `url` string, uri, required: Their profile or company page.
    - `text` string, nullable, required: The post's text.
    - `published_at` string, date-time, nullable, required: `null` where the source does not say.
    - `reaction_count` integer, nullable, required: All reactions together. `null` where the source does not give the counts.
    - `reactions` object, nullable, required: By kind, where LinkedIn shows the breakdown.
      - `like` integer, required: Like reactions.
      - `celebrate` integer, required: Celebrate reactions.
      - `support` integer, required: Support reactions.
      - `love` integer, required: Love reactions.
      - `insightful` integer, required: Insightful reactions.
      - `funny` integer, required: Funny reactions.
    - `comment_count` integer, nullable, required: How many comments. `null` where the source does not give it.
    - `repost_count` integer, nullable, required: How many reposts. `null` where the source does not give it.
    - `images` string[], required: Image URLs, in order.
    - `video` object, nullable, required: A video in the post.
      - `url` string, uri, required: The video file.
      - `duration` integer, nullable, required: Seconds.
    - `document` object, nullable, required: An attached PDF or slide deck.
      - `title` string, required: The document's title.
      - `page_count` integer, nullable, required: How many pages it has.
    - `article` object, nullable, required: A shared link.
      - `title` string, nullable, required: The title the link's preview shows.
      - `url` string, uri, required: Where the link leads.
    - `is_repost` boolean, nullable, required: Whether this is someone else's post reposted without comment. `null` where the source does not say.
  - `meta` Meta, required
    - `request_id` string, required: Quote this if you contact support.
    - `credits_charged` integer, required: The endpoint's published cost. 0 for a demo answer, and for a list emptied because everyone in it asked not to be served. A failed call has no `meta`: it answers with an error, and is refunded.
    - `credits_remaining` integer
    - `cached` boolean, required
    - `fetched_at` string, date-time, required: When the data was actually fetched — the original time on a cache hit, so freshness is always visible.
    - `next_cursor` string, nullable, required: Pass as `cursor` for the next page. `null` on the last page. It lasts as long as the answer is cached.
    - `demo` boolean: Present, and true, on a demo answer (`?demo=true` with no key).
    - `note` string: On a demo answer: what it is, and what a live call costs.

## Other responses

- `400`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `401`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `403`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `404`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `429`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `500`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `501`: Something went wrong. `error.code` is stable; `error.message` says what to do next.
- `502`: Something went wrong. `error.code` is stable; `error.message` says what to do next.

---

[API](https://skmtc.dev/scrapefield/apis/scrapefield-api.md) · [All operations](https://skmtc.dev/scrapefield/apis/scrapefield-api/llms.txt) · [OpenAPI document](https://skmtc.dev/scrapefield/apis/scrapefield-api/revisions/cc5961ac63cf?raw)
