---
title: "Search LinkedIn posts by keywords"
method: POST
path: "/v1/linkedin-live-fetch/posts/search"
tags: ["LinkedIn activity"]
---

# Search LinkedIn posts by keywords

`POST /v1/linkedin-live-fetch/posts/search`

Search LinkedIn posts using keyword-based queries. Returns a paginated list of posts matching the search criteria, up to 50 per page.

**Keyword Search Syntax:**
- **Exact phrase:** Wrap keywords in quotes for exact phrase matching. "head of sales" matches the exact phrase, not the individual words.
- **AND:** Use **AND** between keywords to require both terms. sales **AND** engineering matches posts containing both words.
- **OR:** Use **OR** between keywords to match posts containing any of the terms. sales **OR** marketing matches posts with either word.
- **NOT:** Use **NOT** before a keyword to exclude posts containing that term. sales **NOT** recruiter matches posts with "sales" but without "recruiter".
- **Parentheses:** Group terms to control operator precedence. (sales **OR** marketing) **AND** "series A" finds posts about either sales or marketing that also mention "series A".

**Order of precedence:**
1. **Quotes (" "):** Exact phrase match. Phrase matching occurs before any Boolean logic is applied.
2. **Parentheses (()):** Used to explicitly group Boolean logic. Grouped expressions are evaluated before ungrouped logic.
3. **NOT:** Applied after any parentheses or quoted phrases are resolved.
4. **AND:** Evaluated after **NOT** but before **OR**.
5. **OR:** Lowest precedence among Boolean operators.

<span>⚡ <strong>Rate limit:</strong> 300 requests per 1 minute</span>

<span>💰 <strong>Cost:</strong> 2 credits per page of results&nbsp;<span title="Pricing shown is default pricing. Actual pricing may vary.">ⓘ</span></span>

<span>⏱ <strong>Recommended timeout:</strong> 1 minute&nbsp;<span title="Recommended timeout: set your HTTP client timeout to at least 1 minute for this endpoint.">ⓘ</span></span>

## Request body

- object
  - `apiKey` string, required — Your Fiber API key
  - `keywords` string, required — Keywords to search for in LinkedIn posts (comma-separated)
  - `recency` 'Day' | 'Week' | 'Month' | 'Quarter' | 'HalfYear' | 'Year' | 'null', nullable — Filter by post age. Options: Day, Week, Month, Quarter, HalfYear, Year. Defaults to all time if omitted.
  - `cursor` string, nullable — Pagination cursor for fetching additional pages of posts

## Response `200`

Default Response

- object
  - `output` object, required
    - `posts` object[], required
      - `postId` string, required
      - `content` string, nullable
      - `postUrl` string, nullable
      - `author` object, nullable
        - `type` string, nullable
        - `name` string, nullable
        - `linkedinUrl` string, nullable
        - `headline` string, nullable
        - `website` string, nullable
        - `profilePicture` string, nullable
      - `publishedAt` string, nullable
      - `imageUrls` string[], nullable
      - `video` object, nullable
        - `videoUrl` string, nullable
        - `thumbnailUrl` string, nullable
      - `article` object, nullable
        - `title` string, nullable
        - `subtitle` string, nullable
        - `url` string, nullable
        - `description` string, nullable
        - `imageUrl` string, nullable
      - `originalPostId` string, nullable
      - `originalPost` object, nullable
      - `resharedBy` object, nullable
        - `name` string, nullable
        - `linkedinUrl` string, nullable
      - `newsletterUrl` string, nullable
      - `newsletterTitle` string, nullable
      - `engagement` object, nullable
        - `numComments` number, nullable
        - `numShares` number, nullable
        - `numLikes` number, nullable
        - `reactionsByType` object[], nullable
          - `numReactions` number, nullable
          - `reactionType` 'LIKE' | 'LOVE' | 'INSIGHTFUL' | 'CELEBRATE' | 'SUPPORT' | 'FUNNY' | 'null', nullable — One of LinkedIn's reaction types. These match the tooltips on each of LinkedIn's six reaction buttons; for instance, 'Like' is the blue thumbs-up.
    - `cursor` string, nullable
  - `chargeInfo` union, required
    - object — Credits were charged immediately for this operation
      - `method` 'charged-now', required
      - `creditsCharged` number, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits will be charged after the operation completes
      - `method` 'charging-later', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits that were charged for an asynchronous operation
      - `method` 'charged-for-async-process', required
      - `creditsCharged` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — No credits were charged for this operation
      - `method` 'free', required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
    - object — Credits were refunded for this operation
      - `method` 'credits-refunded', required
      - `creditsRefunded` number, required
      - `message` string, required
      - `lowCreditAlert` object, nullable — Contains a link to get more credits, a warning message, and the remaining credit count.
        - `getMoreCreditsUrl` string, uri, required — URL to top up credits or restart billing cycle to get fresh credits.
        - `message` string, required — Human-readable credits warning.
        - `availableCredits` number, required — Number of credits remaining in the current billing period.
  - `warnings` object[], nullable — Warnings about extraneous fields in request
    - `field` string, required — Full path to extraneous field (e.g., 'searchParams.ExtraField')
    - `message` string, required — Warning message
  - `advice` string[], nullable — Tips, recommendations, and suggestions for using this API effectively.

## Other responses

- `400` — Default Response
- `401` — Default Response
- `402` — Default Response
- `403` — Default Response
- `404` — Default Response
- `422` — Default Response
- `429` — Default Response
- `500` — Default Response
- `503` — Default Response

---

[API](https://skmtc.net/fiber/apis/fiber-ai-api.md) · [All operations](https://skmtc.net/fiber/apis/fiber-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fiber/fiber-ai-api/versions/0c537984b99f/schema)
