# LinkedIn Public Company Posts Scraper

> LinkedIn Public Company Posts Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes and returns structured posts from public LinkedIn company and showcase pages, filterable by keyword phrases and time window

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/linkedin-posts?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/linkedin-public-company-posts-scraper-06c20fcc
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wkQZccjuXhhLFb7UNDqN8

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability linkedin-public-company-posts-scraper-06c20fcc -d '<json body>'
```

Example prompt: Pull up to 50 posts from the last month from OpenAI's LinkedIn company page (linkedin.com/company/openai) and filter for posts mentioning 'GPT' — skip reposts.

## When to prefer this

Choose this endpoint when you need structured, pay-per-result extraction of public LinkedIn company or showcase page posts, especially when filtering by keyword phrase or recency. It is ideal for competitive intelligence, brand monitoring, and content research on LinkedIn without requiring API credentials. Prefer this over general web scrapers when you need LinkedIn-specific structured fields like authorUrl, authorType, and linkedinUrl out of the box.

## Known failure modes

- Empty result if the company page has no public posts matching the query within the time window — not charged
- Error if a profile URL (not a company/showcase URL) is provided in authorUrls
- Rate-limited or blocked scrape if LinkedIn temporarily restricts anonymous access
- At most 7 pages (~70 posts) per company accessible anonymously; deeper history unavailable
- No access to private or member-only LinkedIn content

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched posts and an array of post items, each containing the post ID, type, full text content, author URL, author name, author type, direct LinkedIn post URL, and author profile image URL. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Hard cap across all queries and organization feeds. Zero removes this cap."
  },
  "maxPosts": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Stop collecting a query after this many matching posts. Zero removes this per-query cap."
  },
  "authorUrls": {
   "type": "array",
   "description": "LinkedIn /company/ or /showcase/ URLs whose public feeds will be searched. Profile URLs are not supported."
  },
  "postedLimit": {
   "enum": [
    "any",
    "1h",
    "24h",
    "week",
    "month",
    "3months",
    "6months",
    "year"
   ],
   "type": "string",
   "default": "any",
   "description": "Only keep posts newer than this rolling period."
  },
  "searchQueries": {
   "type": "array",
   "description": "Case-insensitive phrases matched against the text of posts on the selected public organization pages. Each entry is a literal phrase; global LinkedIn search is unavailable anonymously."
  },
  "includeReposts": {
   "type": "boolean",
   "default": true,
   "description": "Include organization posts that appear in another selected organization's public feed as reposts."
  },
  "postedLimitDate": {
   "type": "string",
   "description": "Only keep posts on or after this ISO date or millisecond timestamp. Applied together with postedLimit when both are set."
  },
  "maxPagesPerCompany": {
   "type": "integer",
   "default": 7,
   "maximum": 7,
   "minimum": 1,
   "description": "Read up to this many pages of public posts per organization. Each page has about ten cards; the anonymous feed exposes at most seven pages."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "type": null,
    "content": null,
    "authorUrl": null,
    "authorName": null,
    "authorType": null,
    "linkedinUrl": null,
    "authorImageUrl": null
   }
  ],
  "product": "linkedin-posts"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/linkedin-public-company-posts-scraper-06c20fcc/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
