# LinkedIn Buying Intent Leads: AI-qualified posts, pay per lead (`rich_minds/linkedin-intent-leads`) Actor

First 25 leads free. No cookies, no login. LinkedIn buying intent leads: people asking for a product like yours. A LinkedIn post search that returns buyers, not posts: vendors, job ads and duplicates dropped, each buyer scored against your offer with quoted evidence and a draft reply. Pay per lead.

- **URL**: https://apify.com/rich\_minds/linkedin-intent-leads.md
- **Developed by:** [Rich Minds](https://apify.com/rich_minds) (community)
- **Categories:** Lead generation, Social media, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## LinkedIn Buying Intent Leads: AI-qualified posts, pay per lead

**Find the people on LinkedIn who are asking for what you sell this week — founders asking for a CRM recommendation, teams switching away from your competitor — with the post as evidence and a reply ready to send.**

A LinkedIn post search that returns buyers of a product like yours, not posts — no cookies, no login, and you pay
only for the people who qualify.

⚡ First **25 leads free** · 💵 **$0.002** per qualified lead · 🤖 **$0.009** with AI assessment · 🔑 **No API key needed** on a plan that can run Store Actors (else bring your own key) · 🍪 no cookies, no login · ⏱️ demo in seconds · AI off: the search + < 1 min · AI on: + at most 5 min

![One row per qualified LinkedIn lead: who they are, what they are looking for, score, label and the next step](https://api.apify.com/v2/key-value-stores/RF4lh6JRSx5hS3waY/records/shortlist.svg)

> **Try it in 30 seconds, free.** Click **Try it** — the form is pre-filled with a **free demo**: 12 sample posts,
> 5 buyers among them, **nothing charged**. Then type your phrases **and what you sell**, set **Where do the posts
> come from?** to **Search LinkedIn** and press Start: 3 phrases × 50 posts ≈ $0.30 on your account (capped by **Max
> source spend**), and your first **25 real leads** here are free. The search needs an Apify
> plan that can run Store Actors; otherwise use **Existing Apify dataset**.
> → [What a run costs](#-pricing--what-a-run-really-costs) · [What the AI adds](#-what-the-ai-tier-adds) · [Run it weekly](#-run-it-weekly)

### ⚡ At a glance

| | |
|---|---|
| **What you get** | From a LinkedIn post search, a ranked list of authors with buying intent: who they are, what they need, a 0–100 score and a draft comment + DM |
| **You provide** | One sentence on what you sell (phrases are suggested from it), or your own phrases, a phrase pack, your competitors or target accounts |
| **Output** | JSON / CSV / Excel, best-first, with Shortlist, Leads, Outreach and Signals views, plus an `OUTPUT` funnel with the yield of every phrase |
| **Typical run** | 5 phrases × 50 posts = 250 posts scanned → 5–25 qualified leads (estimate from the research funnel; every run's `OUTPUT` reports the real numbers) |
| **Run time** | the LinkedIn search + under a minute for the rules; the AI pass stops after `aiTimeBudgetSecs` (5 min); `OUTPUT` records `runSeconds`. Set `.call()` timeouts to ≥ 15 min |
| **Cost of that run** | ≈ $0.50 source search on your account + 20 × $0.009 here + ≈ $0.12 AI tokens = **≈ $0.80** |
| **Free tier** | a free demo run on sample posts, then the first 25 qualified leads per account; no start fee on any run |
| **Keys / setup** | no API key and no LinkedIn cookies — but the search needs an Apify plan that can run Store Actors (the free plan's $5 credit covers ≈ 15 first searches), and so does Apify's built-in AI model access; on other plans use `dataset` mode and `llmProvider: "byok"` with your own model key |
| **Works with** | Schedules, webhooks, Slack, CRMs, Google Sheets, Make / n8n / Zapier, MCP & AI agents |

### 🎯 What this Actor does: LinkedIn intent signals → qualified leads

LinkedIn buying intent is public: people post "can anyone recommend…", "we're moving away from…", "looking to hire an
agency…". This Actor turns LinkedIn post leads into a short list of buyers. For every qualified lead you get:

- **Buyers, not vendors** — six intent types (buying, recommendation requests, competitor switching, evaluating, hiring a
  service, pain point) with the matching phrases quoted verbatim; vendor promotion, job ads and empty reposts are dropped free.
- **One lead per person** — all of an author's posts in the run fold into one lead, so you pay once per person, not per post.
- **Who they are, for free** — role, company and seniority parsed from the headline; decision-makers score higher.
- **Only new people, every run** — post and person memory across runs, a 30-day cool-down and a suppression list.
- **B2B lead qualification against your offer** — a rule score or an AI fit score with reasons, a helpful public comment and a DM opener.

Built for social selling at a daily or weekly rhythm; AI agents and n8n / Make / Zapier can call it as a tool.

### 🆚 Why this instead of a LinkedIn post search or LinkedIn post scraper?

A keyword search returns every post with the words — the vendor selling a CRM outnumbers the founder asking for one,
and the raw scraper bills both.

| | Linkedin Post Search Scraper (`harvestapi/linkedin-post-search`) | **LinkedIn Buying Intent Leads** |
|---|---|---|
| **What you pay for** | every post, **$0.002** each — vendors, job ads and duplicates included | only *qualified leads*; every rejected post costs **$0** here |
| **Start fee** | $0.00005 on every run | none — a daily monitor that finds nothing is free |
| **Buyer vs vendor** | no intent classification | intent type + verbatim evidence, 14 free noise rules |
| **Unit** | one row per post | one lead per person, other posts in `otherPostUrls` |
| **Who the author is** | profile look-up at $0.002 (main) / $0.004 (full) per author | role, company, seniority from the headline at no cost |
| **Repeat runs** | the same viral posts again | cross-run memory, 30-day cool-down, suppression list |
| **What to say** | nothing | draft public comment + DM opener, empty for cold leads |

We call that scraper for you, on your account, with comments, reactions and profile look-ups switched off. The rest of
the market charges per row too:

| Actor (Apify Store) | Users / 30 days | Price per row | Start fee | Intent, dedupe, replies |
|---|---|---|---|---|
| LinkedIn Profile Posts Scraper (`harvestapi/linkedin-profile-posts`) | 9,059 | $0.002 per post | $0.00005 | none |
| LinkedIn Company Employees Scraper (`harvestapi/linkedin-company-employees`) | 5,709 | $0.003–$0.012 per profile | $0.02 | scoring only |

### 💵 Pricing — what a run really costs

Pay per result: **one event per qualified lead, nothing else.**

| Event | When it is charged | Price |
|---|---|---|
| `demo` | the pre-filled free demo on the 12 built-in sample posts | **$0.00** |
| `free-tier` | your first 25 qualified leads on this Actor, in any mode (`billedAs` shows the tier they will cost afterwards) | **$0.00** |
| `qualified-lead-basic` | AI off — intent cues, role, company, seniority, flags, rule score, template replies | **$0.002** |
| `qualified-lead-ai` | AI on — everything above plus AI intent with evidence, need, urgency, fit score, reasons, comment + DM | **$0.009** |

**You are never charged for:** the demo, vendor posts, job ads, reposts, company pages, posts that fail your filters,
leads below `minScore`, leads the AI marks as "not intent", duplicates, people in the cool-down window or on your
suppression list. There is no start event, and a search that cannot run fails with the reason instead of charging.

**Worked example** — 5 phrases × 50 posts = 250 posts scanned → 20 qualified leads with AI on:

| Line | Where it is billed | Amount |
|---|---|---|
| Post search: 250 posts × $0.002 (+ $0.00005 start) | the source Actor, on your account | $0.50 |
| 20 qualified leads × $0.009 | this Actor | $0.18 |
| AI tokens, ≈ 2,450 per lead (measured) → ≈ $0.006 at Claude Haiku 4.5 prices | Apify model access, at cost | $0.12 |
| **Total** | | **≈ $0.80 → $0.040 per qualified lead** |

$0.009 per AI lead is the median unit price of the 10 closest Store Actors for "linkedin buying intent" (Store
audit, 2026-09-24) — but here a unit is a person who asked for what you sell; every other row is free.

The same run with AI off: **$0.54**. On your first real run the 25 free leads cover the $0.18. `OUTPUT.aiTokens`
holds the measured tokens, and `OUTPUT.yieldByQuery` the search dollars per lead of every phrase.

### 🚀 How to use it

1. **Click `Try it`, then Start** — the pre-filled form is the free demo: 12 sample posts, 5 buyers, nothing charged.
   The status line then tells you the next step.
2. **Type the phrases your buyers write** ("recommend a CRM") or pick a **ready phrase pack** (or leave both empty:
   phrases are suggested from your offer) — and **replace the example offer** with what *you* sell.
3. **Set "Where do the posts come from?" to Search LinkedIn**, add your competitors (**competitor watch** searches
   "alternative to X" for you) and press **Start**. The log names the cost first: "Searching 6 phrase(s) × up to 50
   posts ≈ $0.60 (cap $2.00)".
4. **Open the Shortlist view** — hot leads first, with the post link and the next step. Export or wire a webhook.

### 🤖 What the AI tier adds

The same lead from the demo sample, AI **off** (`qualified-lead-basic`, $0.002) — rule intent, cues, template replies:

```json
{
  "authorName": "Maya Lindqvist", "company": "Northwind Analytics", "seniority": "founder",
  "intentType": "recommendation_request", "intentEvidence": ["Can anyone recommend", "Who do you use for"],
  "need": "a CRM for a 20-person sales team", "urgency": "high", "ruleScore": 83, "score": 83, "label": "hot",
  "suggestedDm": "Hi Maya, saw your post about a CRM for a 20-person sales team. We sell a CRM with built-in sales sequences for B2B sales teams. Worth a quick look?"
}
```

AI **on** (`qualified-lead-ai`, $0.009) — the same post, judged against *your* offer:

```json
{
  "authorName": "Maya Lindqvist", "company": "Northwind Analytics", "seniority": "founder",
  "intentType": "recommendation_request",
  "intentEvidence": ["Can anyone recommend a CRM for a 20-person sales team?", "need something live by end of Q4"],
  "need": "CRM for a 20-person sales team, live by end of Q4", "urgency": "high",
  "fitScore": 88, "score": 88, "label": "hot",
  "scoreReasons": ["seniority: founder (decision-maker)", "quote: \"live by end of Q4\" gives a deadline"],
  "suggestedComment": "At 20 reps, pipeline views everyone actually updates matter more than features. Do you also need email sequences in the same tool?",
  "suggestedDm": "Hi Maya, saw your post about finding a CRM for your 20-person team before Q4. We build a CRM with sequences built in for teams that size. Happy to share how others moved off spreadsheets.",
  "recommendedNextStep": "Answer in the comments today while the thread is fresh, then send the DM tomorrow."
}
```

Every quote is checked against the post and cold leads get no text — five minutes of reading and writing saved per lead.

**Free AI preview:** with AI off, the top 2 leads of a real search still get the AI assessment at the basic price
(`aiTeaserLeads`, `aiTeaser: true`) — ≈ $0.006 of tokens on your account.

### ⚙️ Input

A real search (the pre-filled form is the free demo until `sourceMode` is `actor`):

```json
{
  "sourceMode": "actor",
  "intentKeywords": ["recommend a CRM", "alternative to Salesforce", "looking for a CRM"],
  "offerDescription": "We sell a lightweight CRM with built-in sequences for B2B sales teams of 10 to 200 people.",
  "competitorNames": ["HubSpot", "Salesforce", "Pipedrive"],
  "postedWithin": "week",
  "targetSeniority": ["founder", "c_level", "vp", "director", "head"],
  "minScore": 55,
  "maxQualifiedLeads": 50,
  "maxDiscoveryChargeUsd": 3,
  "enableAi": true
}
```

The fields a buyer decides on — all 52 options, with defaults, are in the **Input** tab:

| Field | Default | What it does |
|---|---|---|
| `intentKeywords` / `intentPacks` | — / `[]` | One post search per phrase; packs add 8 proven buyer phrases each (`crm_sales`, `saas_tool`, `agency_freelancer`, `dev_shop`, `recruiting`, `fractional_exec`, `planning_season`, `buyers_de` / `_fr` / `_es` / `_nl`) |
| `offerDescription` | `""` | What you sell and to whom — the score and the replies are written against it |
| `competitorNames` | `[]` | Their employees are dropped; competitor watch adds 5 switching searches per competitor |
| `sourceMode` | `actor` (the form starts on the free demo) | `actor` searches LinkedIn, `dataset` reads an existing HarvestAPI posts dataset, `list` qualifies pasted posts |
| `postedWithin` / `postsPerKeyword` | `week` / `50` | Search window; posts per phrase ($0.002 each on your account) |
| `watchAuthors` / `watchCompanies` | `[]` | Restrict the search to these people / companies — [account intent monitoring](#-account-intent-monitor-abm) |
| `targetIntents` / `targetSeniority` | all but `pain_point` / `[]` | Which intents and seniorities count; the rest is never charged |
| `minScore` / `maxQualifiedLeads` | `55` / `50` | Below the score = not delivered, not charged (70+ hot); hard cap on output and on what you pay |
| `enableAi` / `llmProvider` | `true` / `apify` | AI assessment on/off; Apify model access or your own key (`byok` + `llmApiKey`) |
| `aiTeaserLeads` | `2` | AI off: the top N leads get a free AI preview at the basic price (0 = off) |
| `maxDiscoveryChargeUsd` | `2` (the form suggests `0.3`) | Hard cap on the search's spend on your account — API and MCP calls without it are capped at $2 |
| `webhookUrl` / `notifyEmail` | — | Each lead (and a run digest) to Slack / your endpoint; the digest by e-mail |

**Fine-tuning:** phrases — `suggestPhrases`, `expandCompetitorPhrases`; filters — `targetRoles`, `mustMentionKeywords`,
`excludeKeywords`, `excludeAuthorKeywords`, `includeCompanyPages`, `authorCooldownDays`; replies — `replyTone`,
`replyLanguage`; limits — `maxToProcess`, `aiCandidateMultiplier`; plumbing — `dedupeStoreName`, `webhookHeaders`, `webhookBatchSize`.

### 📤 Output

One dataset item per qualified lead — JSON, CSV, Excel or a webhook. Abridged AI-assessed row:

```json
{
  "itemId": "lead:5d0c3a9e41b2",
  "url": "https://www.linkedin.com/posts/daniel-okafor-example_activity-7243870011122334455",
  "authorName": "Daniel Okafor", "authorHeadline": "VP Sales at Brightpath Logistics",
  "role": "VP Sales", "company": "Brightpath Logistics", "seniority": "vp", "isDecisionMaker": true,
  "postText": "We're moving away from Salesforce. It's way too heavy for a team of 12 reps and nobody updates it. …",
  "postedAt": "2026-09-22T15:00:00+00:00", "likes": 18, "comments": 34, "matchedQuery": "alternative to Salesforce",
  "intentType": "switching", "intentEvidence": ["We're moving away from Salesforce"],
  "need": "a lighter CRM for 12 sales reps", "urgency": "medium", "mentionedTools": ["Salesforce", "Pipedrive", "HubSpot"],
  "contactEmail": null, "contactChannel": "comment",
  "flags": ["decision_maker", "mentions_competitor", "fresh_24h"],
  "ruleScore": 80, "fitScore": 84, "score": 84, "label": "hot",
  "recommendedNextStep": "Comment on the thread today; DM after he replies.",
  "chargedEvent": "qualified-lead-ai", "billedAs": "qualified-lead-ai", "aiTeaser": false,
  "dedupeKey": "linkedin:daniel-okafor-example"
}
```

| Field | Description |
|---|---|
| `itemId`, `dedupeKey`, `url` | Identity of the lead — stable across runs, safe as primary keys |
| `authorName`, `authorHeadline`, `role`, `company`, `seniority`, `isDecisionMaker` | The author card, parsed from the headline |
| `postUrl`, `postText`, `postedAt`, `likes`, `comments`, `matchedQuery` | The primary post and the phrase that found it |
| `intentType`, `intentEvidence`, `need`, `urgency`, `mentionedTools` | What they want, quoted from the post |
| `flags` | 15 free signals, e.g. `decision_maker`, `mentions_competitor`, `fresh_24h` |
| `score`, `label`, `scoreReasons` | The ranking score (AI fit score, else rule score), hot / warm / cold, and why |
| `suggestedComment`, `suggestedDm`, `recommendedNextStep` | Reply drafts (empty for cold leads) and the next action |
| `chargedEvent`, `billedAs`, `aiTeaser` | What was charged (`qualified-lead-basic`, `-ai`, `free-tier`, `demo`), the price tier, and the free AI preview marker |

Views: **Shortlist**, **Leads** (CRM import), **Outreach** (comment, DM) and **Signals** (why it qualified). `OUTPUT`
holds the funnel, the charged events, `yieldByQuery`, `aiTokens`, `history` and `sourceError` / `aiError` — see
[Run outcomes](#run-outcomes--what-your-integration-sees).

![Outreach view: channel, a helpful public comment and a DM opener for each lead](https://api.apify.com/v2/key-value-stores/RF4lh6JRSx5hS3waY/records/outreach.svg)

⭐ **Found it useful? A review on the Store helps others find it** — and tell us in an issue what to build next.

### 🔁 Run it weekly

1. **Actions → Schedule** in the Console — daily with `postedWithin: "24h"`, or weekly with `"week"`.
2. Leave `dedupeAcrossRuns: true` — each run delivers and charges **only new leads**.
3. Add `webhookUrl` (Slack works as is) or `notifyEmail` — one **digest** per run: "7 new leads this run (2 hot) …".
4. `pausePhrasesAfterEmptyRuns: 3` drops phrases that keep finding nobody; `outcomes` (`<dedupeKey> = meeting`) makes
   every run report "3 meetings, 1 deal won from 41 leads; best phrase: recommend a CRM".

Weekly cost of a 5-phrase monitor: $0.50 of search + ≈ 15 new leads × $0.009 + ≈ $0.09 tokens → **≈ $0.73 per week**.
**Q4 is planning season** — add the `planning_season` pack from October to December.

#### Ready-made monitors — copy, save as a Task, schedule

Paste an input into the JSON tab, replace the offer, **Save as a new task** and schedule it. All 7 (DACH buyers,
offer-only starter and the hourly alert too) are in `storage-example/tasks/`.

| Monitor | Schedule | Input |
|---|---|---|
| CRM buyers — daily | every morning | `{"sourceMode": "actor", "intentPacks": ["crm_sales"], "offerDescription": "<what you sell>", "postedWithin": "24h", "maxDiscoveryChargeUsd": 1}` |
| Agency & freelancer buyers | Mondays | `{"sourceMode": "actor", "intentPacks": ["agency_freelancer"], "offerDescription": "<what you sell>", "targetIntents": ["hiring_service", "recommendation_request"]}` |
| Competitor switchers — HubSpot | daily | `{"sourceMode": "actor", "competitorNames": ["HubSpot"], "offerDescription": "<what you sell>", "postedWithin": "24h", "targetIntents": ["switching", "evaluating"]}` |
| Target accounts (ABM) | Mondays | `{"sourceMode": "actor", "watchCompanies": ["<company URL>", "…"], "offerDescription": "<what you sell>"}` |

### 🚨 Instant hot-lead alert

The first helpful reply wins the thread. Run a small monitor **every hour** and send only hot, fresh buyers to Slack:

```json
{
  "sourceMode": "actor",
  "intentPacks": ["crm_sales"],
  "offerDescription": "<what you sell>",
  "postedWithin": "24h",
  "postsPerKeyword": 20,
  "targetFlags": ["fresh_24h"],
  "minScore": 70,
  "webhookUrl": "https://hooks.slack.com/services/…",
  "webhookDigest": false,
  "maxDiscoveryChargeUsd": 0.4
}
```

Each post is alerted once; an hour without a new hot buyer costs only the search (8 phrases × 20 posts = $0.32).

### 🎯 Account intent monitor (ABM)

ABM teams know *who* they want to sell to — they need to know *when*. Put company URLs into `watchCompanies` (or
people into `watchAuthors`) for LinkedIn account monitoring: every post in which someone there asks for a
recommendation or plans to switch.

### 🔌 Integrations, automation and API

- **Slack** — point `webhookUrl` at an incoming webhook; each payload carries a line such as
  `[HOT 88] Maya Lindqvist (Co-founder & CEO at Northwind Analytics): CRM for a 20-person sales team <post link>`.
- **Webhook / Zapier / Make / n8n** — `{"event": "lead.qualified", "lead": {…}}` per lead (or batches), then one
  `{"event": "run.digest", …}` per run; custom headers carry your API key.
- **HubSpot / any CRM** — map the **Leads** view or the webhook fields; `dedupeKey` is a stable external id.
- **Google Sheets** — one click from the **Integrations** tab.
- **AI agents / MCP** — every input is a plain typed field. The first call is the free trial: `{"sourceMode": "list"}`.

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

## 1. the free demo — 12 built-in sample posts, nothing charged
demo = client.actor("rich_minds/linkedin-intent-leads").call(run_input={"sourceMode": "list"})

## 2. a real search on your account, its spend capped
run = client.actor("rich_minds/linkedin-intent-leads").call(run_input={
    "sourceMode": "actor",
    "intentKeywords": ["recommend a CRM", "alternative to HubSpot"],
    "offerDescription": "We sell a CRM with built-in sequences for B2B sales teams of 10-200 people.",
    "competitorNames": ["HubSpot", "Salesforce"],
    "postedWithin": "24h",
    "maxQualifiedLeads": 25,
    "maxDiscoveryChargeUsd": 1.5,  # 12 searches (2 phrases + 2 competitors × 5) × 50 posts ≈ $1.20
})
for lead in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(lead["score"], lead["label"], lead["authorName"], lead["need"], lead["postUrl"])
```

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });

// 1. the free demo — 12 built-in sample posts, nothing charged
const demo = await client.actor('rich_minds/linkedin-intent-leads').call({ sourceMode: 'list' });

// 2. a real search on your account, its spend capped
const run = await client.actor('rich_minds/linkedin-intent-leads').call({
    sourceMode: 'actor',
    intentKeywords: ['recommend a CRM', 'alternative to HubSpot'],
    offerDescription: 'We sell a CRM with built-in sequences for B2B sales teams of 10-200 people.',
    competitorNames: ['HubSpot', 'Salesforce'],
    postedWithin: '24h',
    maxQualifiedLeads: 25,
    maxDiscoveryChargeUsd: 1.5, // 12 searches × 50 posts ≈ $1.20
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((l) => [l.score, l.label, l.authorName, l.need, l.postUrl]));
```

**MCP prompt** (server `https://mcp.apify.com/?actors=rich_minds/linkedin-intent-leads`): *"Run
rich\_minds/linkedin-intent-leads with sourceMode actor, intentKeywords \["recommend a CRM"], offerDescription "<what I
sell>", maxDiscoveryChargeUsd 1, and show the hot leads as a table with the post link and suggested comment."*

#### Run outcomes — what your integration sees

| Outcome | Run status | Dataset | `OUTPUT` | Charged? | What to do |
|---|---|---|---|---|---|
| Free demo (the pre-filled sample) | SUCCEEDED | sample leads, `chargedEvent: demo` | `demo: true` | no | switch the source, type your phrases and offer |
| Success | SUCCEEDED | qualified leads, best first | funnel, `chargedEvents`, `yieldByQuery` | per qualified lead | — |
| Nothing matched | SUCCEEDED | empty | `qualified: 0`, the funnel | no | loosen `minScore` / filters, check `yieldByQuery` |
| Invalid input | FAILED | empty | — | no | fix the field the status message names |
| Source failed | FAILED | empty | `sourceError` | no | follow the reason (plan, timeout, dataset access) |
| AI unavailable | SUCCEEDED | rule-scored leads | `aiError` | basic price | set **AI model access** to **My own API key** (`llmProvider: "byok"`) |

### 👥 Who is it for?

| You are… | You run it to… | Start with |
|---|---|---|
| A B2B SaaS founder or SDR team doing social selling | get every morning the decision-makers who asked for a tool like yours, with a reply to post | `intentKeywords: ["recommend a CRM"]`, `postedWithin: "24h"`, `targetSeniority: ["founder", "c_level", "vp"]` |
| An agency or freelancer (dev shop, SEO, fractional CFO) | find who is asking for a provider like you this week | `intentPacks: ["agency_freelancer"]`, `targetIntents: ["hiring_service", "recommendation_request"]` |
| A competitive-displacement team | catch competitor switching: people complaining about a rival or asking for an alternative | `competitorNames: ["HubSpot"]`, `targetIntents: ["switching", "evaluating"]` |
| A growth / RevOps builder | feed a scored, de-duplicated intent stream into the CRM or Slack | a daily schedule + `webhookUrl` + `dedupeAcrossRuns: true` |
| An account-based team | watch 200 target accounts for LinkedIn intent signals | `watchCompanies` / `watchAuthors` |

### 🧠 How the AI works

- **One typed call per lead.** The model (default Claude Haiku 4.5) sees the post, headline, rule cues and your offer.
- **Grounded.** Evidence must appear verbatim in the post, "high" urgency needs a deadline in the text, "not intent"
  caps the score at 20, and a reply with a pitch, a link or a placeholder is replaced by the template.
- **Tokens only where they matter.** Only the best rule-scored leads get the AI pass; "not intent" is dropped **uncharged**.
- **Keys:** none on a plan that can run Store Actors; else `llmProvider: "byok"` (OpenAI, Anthropic, Gemini, Groq).
- **Visible fallback.** Without the model, leads keep the rule score at the basic price; the status says "AI unavailable: <reason>".

### 🔒 Data, compliance and limits

- **Public data only, no cookies, no login.** Public LinkedIn posts and their author cards, searched by
  `harvestapi/linkedin-post-search` — no private profiles, no e-mail guessing, no messages sent.
- **Limits.** Rule cues cover English, German, French, Spanish and Dutch (the AI reads any language); the yield
  figures are estimates until the first public live run is published; post text is cut at 1,500 characters.
- Keep your outreach within LinkedIn's terms and the privacy law that applies to you (GDPR, CCPA); honour opt-outs
  with `suppressionList`.

### ❓ FAQ

**Is this a LinkedIn post scraper?**
It is built on one: the LinkedIn post search runs on your account and finds the posts, then this Actor drops vendors, job ads and duplicates, folds each author into one lead and scores it against your offer. You pay only for the buyers.

**How much will one run cost me?**
A 250-post search is ≈ $0.50 on your account. Here you pay $0.002 per qualified lead, or $0.009 with AI, plus ≈ $0.006 of tokens per AI lead — about $0.80 for 20 AI leads. The demo is free and your first 25 real leads are free.

**What does the pre-filled "Try it" run do?**
A free demo on 12 built-in sample posts: 5 buyers among vendors, a job ad, a repost and a duplicate. Nothing is charged and LinkedIn is not called. From the API, `{"sourceMode": "list"}` is the same demo.

**Which Apify plan do I need?**
The demo runs on any plan. A real search runs `harvestapi/linkedin-post-search` on your account, so it needs a plan that can run Store Actors (the free plan's $5 credit covers ≈ 15 first searches); so does Apify's AI model access — else set **AI model access** to **My own API key**.

**Do I need LinkedIn cookies or a login?**
No. The search reads public posts without cookies or a login, so your LinkedIn account is never used or at risk.

**How long does a run take?**
The demo takes seconds; a real run, the search + under a minute + at most 5 min of AI. From the API, wait ≥ 15 min.

**I don't know which phrases buyers write. Where do I start?**
Just describe what you sell: phrases are suggested from your offer. Or pick a ready phrase pack, or type only your competitors — competitor watch searches the switching phrases for each. `OUTPUT.yieldByQuery` then shows which phrases find buyers.

**What counts as a "qualified lead"?**
One LinkedIn author whose post shows one of your target intents, who passed every free noise rule and your filters, and scored at least `minScore`. Several posts by the same person are one lead.

**What happens if nothing matches, or the search cannot run?**
Nothing matched: the run succeeds with 0 rows and charges nothing; the `OUTPUT` funnel shows where the posts were dropped. A search that cannot run fails with the reason in `sourceError` — see [Run outcomes](#run-outcomes--what-your-integration-sees).

**Can I monitor a list of target accounts (ABM)?**
Yes — see [Account intent monitor](#-account-intent-monitor-abm): `watchCompanies` or `watchAuthors`, scheduled weekly.

**Is this LinkedIn account monitoring for ABM intent?**
Yes, priced per person who posted a buying signal ($0.002–$0.009), not per account per year.

**Does it catch recommendation requests and competitor switching?**
Both, plus buying, evaluating and hiring a service, with the triggering phrases quoted. `competitorNames` adds five switching searches per rival.

**Is it for social selling or B2B lead qualification?**
Both: free rules, one lead per person, a score against your offer, and a comment + DM to post — empty for cold leads.

**How are LinkedIn post leads different from other LinkedIn lead generation tools?**
Title lists leave you guessing who buys; each lead here is the author of a public post asking for it this week.

**Does it work for posts in other languages?**
Yes: the `buyers_de` / `_fr` / `_es` / `_nl` packs, and the AI replies in the post's language. Posts you already scraped work too (`sourceMode: "dataset"`).

### 🧩 More Actors from the same developer

Not selling on LinkedIn? The same pay-per-qualified-lead model, for other lead sources:

- **[AI Local Business Lead Gen](https://apify.com/rich_minds/local-business-lead-gen-ai)** — local businesses with
  verified contacts, for agencies selling websites, SEO or ads.
- **[Instagram Creator Qualifier](https://apify.com/rich_minds/instagram-creator-qualifier)** — AI-scored creators for
  influencer and UGC campaigns.
- **[Google Reviews AI Insights](https://apify.com/rich_minds/google-reviews-insights)** — complaints, contacts and an
  opener per business, for local-service sellers.

### 🆘 Support

Something missing or wrong? Open an issue on the Actor's page — requests from buyers are shipped first. Roadmap:
"+1" commenters under hot posts, a work e-mail look-up, a native HubSpot / Pipedrive push, Reddit as a second source.

### 📝 Changelog

- **0.5** — a free AI preview on AI-off runs; a default $2 search cap; "Run outcomes" table; MCP / n8n recipes.
- **0.4** — phrases from your offer; DE / FR / ES / NL packs; an AI time budget; outcome feedback; ABM section.
- **0.1–0.3** — post search, free noise rules, intent types, one lead per author, cross-run memory, AI replies, demo.

# Actor input Schema

## `intentKeywords` (type: `array`):

One LinkedIn post search per phrase. Write what a buyer would post, not your product name: <code>recommend a CRM</code>, <code>alternative to Salesforce</code>, <code>looking for an SEO agency</code>. Every post found costs $0.002 on your account (the source Actor's price). Only searched when <b>Where do the posts come from?</b> is <i>Search LinkedIn</i>.

## `intentPacks` (type: `array`):

Proven buyer phrases per offer type (8 each), merged with your own phrases. <b>Q4 planning season</b> catches the October–December posts about next year's tools and budget; the <b>German / French / Spanish / Dutch</b> packs search the same buyer questions in those markets (the AI replies in the post's language). Each pack adds 8 searches, so 8 × <b>Posts per phrase</b> posts at $0.002 on your account.

## `offerDescription` (type: `string`):

One or two sentences about <b>your</b> product. The rule score matches its words against each post, and the AI scores fit and writes the comment and DM against it. The pre-filled text is the demo's example (a CRM): a paid search that still carries it stops before anything is charged, so replace it. Example: <i>We run a Shopify development studio for DTC brands with 1–20 staff.</i>

## `suggestPhrases` (type: `string`):

<b>Only when I typed none</b> (default): with no phrases, pack or watched accounts, 8–10 buyer phrases are written from <b>What you sell</b> (by the AI when it is on, else from templates such as <code>recommend a \<your category></code>) and searched. <b>Always add them</b>: merged with your own phrases (more searches, more cost). <b>Off</b>: search only your phrases. Every phrase's posts, leads and search $ per lead are in <code>OUTPUT.yieldByQuery</code>.

## `sourceMode` (type: `string`):

<b>Free demo</b> (pre-filled): 12 sample posts, 5 buyers among them, nothing charged and no LinkedIn call — see what a lead looks like. <b>Search LinkedIn</b>: run <code>harvestapi/linkedin-post-search</code> on your account with the phrases above (its usage is billed by that Actor). <b>Existing dataset</b>: a dataset from harvestapi/linkedin-post-search, linkedin-profile-posts or linkedin-company-posts. <b>Paste posts</b> uses the JSON in <b>Post items</b> (the demo sample until you replace it).

## `postedWithin` (type: `string`):

Only posts from this window are searched and kept. Use <b>Last 24 hours</b> for a daily schedule.

## `postsPerKeyword` (type: `integer`):

How many posts the search returns per phrase. 5 phrases × 50 posts ≈ $0.50 of source usage on your account.

## `targetIntents` (type: `array`):

Posts whose intent is not in this list score 0 for intent and are never charged. Default: everything except plain complaints.

## `competitorNames` (type: `array`):

People who work there are dropped as vendors; posts that name them get the <code>mentions\_competitor</code> flag and a higher switching score. With <b>Competitor watch</b> on, each name also adds 5 searches.

## `expandCompetitorPhrases` (type: `boolean`):

On: every competitor above adds the phrases switchers write — <code>alternative to X</code>, <code>moving away from X</code>, <code>X is too expensive</code>, <code>X vs</code>, <code>replacing X</code> — to the search (5 × <b>Posts per phrase</b> posts at $0.002 each on your account per competitor). Off: competitors only filter and flag.

## `targetSeniority` (type: `array`):

Keep only authors whose headline shows this seniority. Empty = everyone, decision-makers still score higher.

## `targetRoles` (type: `array`):

Keep only authors whose headline contains one of these, e.g. <code>sales</code>, <code>revenue</code>, <code>marketing</code>.

## `excludeKeywords` (type: `array`):

Words or phrases that disqualify a post, e.g. <code>webinar</code>, <code>giveaway</code>.

## `mustMentionKeywords` (type: `array`):

Keep only posts containing at least one of these words.

## `excludeAuthorKeywords` (type: `array`):

E.g. <code>recruiter</code>, <code>consultant</code>, <code>coach</code>.

## `includeCompanyPages` (type: `boolean`):

Company pages are usually vendors, so they are dropped by default.

## `language` (type: `string`):

Two-letter code such as <code>en</code> or <code>de</code>. Posts detected in another language are dropped. Empty = any language.

## `targetFlags` (type: `array`):

Only deliver leads with at least one of these flags. The flags are explained in the README.

## `minScore` (type: `integer`):

Leads scoring below this are dropped and <b>not charged</b>. 70+ is hot, 45–69 warm.

## `suppressionList` (type: `array`):

Existing customers or people you already contacted: profile URLs, <code>/in/\<id></code> identifiers or full names. They are skipped before anything else and never charged.

## `authorCooldownDays` (type: `integer`):

A person delivered in an earlier run is skipped for this many days, even with a new post. 0 = only new posts are de-duplicated.

## `enableAi` (type: `boolean`):

Classifies each lead's intent with verbatim evidence, extracts the need and urgency, scores fit against your offer with reasons, and drafts a helpful public comment and a DM opener. Off = rule-based intent, score and template replies only (cheaper).

## `replyTone` (type: `string`):

Tone of the drafted comment and DM.

## `replyLanguage` (type: `string`):

<code>auto</code> writes the comment and DM in the post's language; or a two-letter code such as <code>en</code>.

## `llmProvider` (type: `string`):

<b>Apify (no keys)</b>: the AI runs through Apify's built-in OpenRouter proxy; tokens are billed to your Apify account at OpenRouter's rates. It needs an Apify plan that can run public Store Actors — on a plan that cannot, the run says "AI unavailable" and delivers at the basic price. <b>My own key</b>: use your OpenAI / Anthropic / Gemini / Groq key instead (works on every plan).

## `llmModel` (type: `string`):

Leave empty for the default (<code>anthropic/claude-haiku-4.5</code>). Apify mode takes an OpenRouter slug such as <code>openai/gpt-4.1-mini</code>; own-key mode takes <code>provider:model</code>, e.g. <code>anthropic:claude-haiku-4-5-20251001</code>.

## `llmApiKey` (type: `string`):

Required when <b>AI model access</b> is <i>My own API key</i>. Stored encrypted by Apify, never logged.

## `aiCandidateMultiplier` (type: `integer`):

How many of the best rule-scored leads get the AI pass, as a multiple of <b>Max qualified leads</b>. Higher = more thorough, more tokens.

## `aiTimeBudgetSecs` (type: `integer`):

The AI pass stops starting new assessments after this long; the remaining leads are delivered with their rule score at the <b>basic</b> price. One assessment takes ≈ 10–25 s and 8 run in parallel, so 300 s covers ≈ 100 leads. 0 = no limit.

## `aiTeaserLeads` (type: `integer`):

With <b>AI assessment</b> off, this many top leads of a real search still get the full AI assessment (fit score, reasons, tailored comment and DM) as a preview — charged at the <b>basic</b> price, marked <code>aiTeaser: true</code>. Costs ≈ $0.003 of model tokens per lead on your account (Apify model access or your own key). Never runs in the free demo. 0 = off.

## `maxQualifiedLeads` (type: `integer`):

Hard cap on results, and therefore on what you pay. The best-scoring leads are delivered first.

## `maxToProcess` (type: `integer`):

Upper bound on posts kept after the free noise rules (controls run time and AI tokens).

## `maxDiscoveryChargeUsd` (type: `number`):

Hard cap on what the LinkedIn post search may charge your account in this run. Pre-filled with $0.30 = a first search of 3 phrases × 50 posts; raise it when you add packs or competitors (competitor watch adds up to 5 phrases per competitor). API and MCP calls that leave it out are capped at the default $2 (≈ 1,000 posts).

## `dedupeAcrossRuns` (type: `boolean`):

Remembers every delivered post and person in a named key-value store on your account. Scheduled runs deliver, and charge, only new leads.

## `dedupeStoreName` (type: `string`):

Key-value store for the cross-run memory. Use different names for different campaigns.

## `webhookUrl` (type: `string`):

Each qualified lead is POSTed here as JSON with a Slack-ready <code>text</code> line: a Slack incoming webhook, Zapier, Make, n8n or your CRM.

## `webhookHeaders` (type: `object`):

Extra HTTP headers for the webhook, e.g. <code>{"Authorization": "Bearer …"}</code>.

## `webhookBatchSize` (type: `integer`):

1 = one POST per lead the moment it is ready. Higher = one POST per N leads.

## `webhookDigest` (type: `boolean`):

With a webhook URL: one extra message at the end of every run — "7 new buyers, 2 hot, top 3 with links" and the change versus the previous run. Ideal for a Slack channel on a schedule.

## `notifyEmail` (type: `string`):

One e-mail per run with the new leads, the hot count and the top 3 with post links — sent only when the run found at least one new lead, through the Store's <code>apify/send-mail</code> Actor on your account. For founders without Slack or Zapier.

## `pausePhrasesAfterEmptyRuns` (type: `integer`):

For scheduled monitors: a phrase that found no lead in this many runs in a row is left out of the next searches, so it stops costing search money (every run's <code>OUTPUT.yieldByQuery</code> shows posts, leads and search $ per lead for each phrase). 0 = never pause; set it back to 0 to search paused phrases again.

## `outcomes` (type: `array`):

One line per lead you worked: <code>\<dedupeKey, itemId or profile URL> = replied | meeting | won | lost</code>, e.g. <code>linkedin:maya-lindqvist = meeting</code>. Stored in the memory store; every run then reports the pipeline per phrase in <code>OUTPUT.outcomes</code> and the digest ("3 meetings, 1 deal won from 41 leads; best phrase: recommend a CRM"). Free.

## `watchAuthors` (type: `array`):

LinkedIn profile URLs. Restricts the search to these authors — "watch my 200 target accounts for buying signals". Leave the phrases empty to get every buying-intent post they write.

## `watchCompanies` (type: `array`):

LinkedIn company URLs or names, passed to the search as author companies: paste your target-account list and get the buying-intent posts of their employees.

## `authorKeywords` (type: `string`):

A free, source-side filter on the author, e.g. <code>founder OR CEO</code>.

## `sortBy` (type: `string`):

<b>Date</b> finds the newest posts first (best for monitoring); <b>Relevance</b> uses LinkedIn's ranking.

## `fetchAuthorProfiles` (type: `boolean`):

Off: leads are qualified from the author card inside each post, at no extra cost. On: the source also fetches each author's profile (location, current company, followers), billed by the source at $0.002 per author on your account.

## `discoveryActorId` (type: `string`):

<code>harvestapi/linkedin-post-search</code> by default. <code>harvestapi/linkedin-profile-posts</code> or <code>harvestapi/linkedin-company-posts</code> also work, with their input in <b>Source Actor input</b>.

## `discoveryInput` (type: `object`):

Merged last into the source Actor's input, for power users (e.g. <code>{"contentType": "videos"}</code>).

## `discoveryTimeoutSecs` (type: `integer`):

The source run is stopped after this long; the leads it already found are still processed.

## `datasetId` (type: `string`):

Only for <b>Existing dataset</b>. Pick the dataset so the Actor is granted read access to it.

## `itemsList` (type: `array`):

For <b>Free demo / paste post items</b>. Pre-filled with the 12 demo posts (never charged); replace them with your own JSON array of post items in the HarvestAPI shape (<code>id</code>, <code>linkedinUrl</code>, <code>content</code>, <code>author</code>, <code>postedAt</code>, <code>engagement</code>) to qualify those. Left empty in this mode, the run is the free demo on the sample posts (API / MCP: send <code>{"sourceMode": "list"}</code>).

## Actor input object example

```json
{
  "intentKeywords": [
    "recommend a CRM",
    "alternative to Salesforce",
    "looking for a CRM"
  ],
  "intentPacks": [],
  "offerDescription": "We sell a CRM with built-in sales sequences for B2B sales teams of 10 to 200 people.",
  "suggestPhrases": "auto",
  "sourceMode": "list",
  "postedWithin": "week",
  "postsPerKeyword": 50,
  "targetIntents": [
    "buying",
    "recommendation_request",
    "switching",
    "evaluating",
    "hiring_service"
  ],
  "expandCompetitorPhrases": true,
  "includeCompanyPages": false,
  "language": "",
  "minScore": 55,
  "authorCooldownDays": 30,
  "enableAi": true,
  "replyTone": "helpful",
  "replyLanguage": "auto",
  "llmProvider": "apify",
  "llmModel": "",
  "aiCandidateMultiplier": 2,
  "aiTimeBudgetSecs": 300,
  "aiTeaserLeads": 2,
  "maxQualifiedLeads": 50,
  "maxToProcess": 300,
  "maxDiscoveryChargeUsd": 0.3,
  "dedupeAcrossRuns": true,
  "dedupeStoreName": "linkedin-intent-leads-seen",
  "webhookBatchSize": 1,
  "webhookDigest": true,
  "notifyEmail": "",
  "pausePhrasesAfterEmptyRuns": 0,
  "authorKeywords": "",
  "sortBy": "date",
  "fetchAuthorProfiles": false,
  "discoveryActorId": "harvestapi/linkedin-post-search",
  "discoveryInput": {},
  "discoveryTimeoutSecs": 1800,
  "itemsList": [
    {
      "type": "post",
      "id": "7243981127765409792",
      "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
      "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
      "author": {
        "publicIdentifier": "maya-lindqvist-example",
        "type": "profile",
        "name": "Maya Lindqvist",
        "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
        "info": "Co-founder & CEO at Northwind Analytics | ex-Google",
        "website": "https://northwind-analytics.example"
      },
      "postedAt": {
        "postedAgoShort": "3h",
        "postedAgoText": "3 hours ago"
      },
      "engagement": {
        "likes": 41,
        "comments": 27,
        "shares": 2
      },
      "query": {
        "search": "recommend a CRM"
      }
    },
    {
      "type": "post",
      "id": "7243870011122334455",
      "linkedinUrl": "https://www.linkedin.com/posts/daniel-okafor-example_activity-7243870011122334455",
      "content": "We're moving away from Salesforce. It's way too heavy for a team of 12 reps and nobody updates it. Looking for an alternative to Salesforce that our reps will actually use. Thoughts on Pipedrive vs HubSpot?",
      "author": {
        "publicIdentifier": "daniel-okafor-example",
        "type": "profile",
        "name": "Daniel Okafor",
        "linkedinUrl": "https://www.linkedin.com/in/daniel-okafor-example",
        "info": "VP Sales at Brightpath Logistics"
      },
      "postedAt": {
        "postedAgoShort": "20h",
        "postedAgoText": "20 hours ago"
      },
      "numLikes": 18,
      "numComments": 34,
      "numShares": 1,
      "query": "alternative to Salesforce"
    },
    {
      "type": "post",
      "id": "7243500099887766554",
      "linkedinUrl": "https://www.linkedin.com/posts/priya-raman-example_activity-7243500099887766554",
      "content": "Evaluating sales engagement tools this month. Comparing Outreach, Apollo and a couple of newer options for our SDR team. Anyone tried running sequences and the CRM in one place? Would love honest pros and cons.",
      "author": {
        "publicIdentifier": "priya-raman-example",
        "type": "profile",
        "name": "Priya Raman",
        "linkedinUrl": "https://www.linkedin.com/in/priya-raman-example",
        "info": "Head of Revenue Operations @ Loomstack"
      },
      "postedAt": {
        "postedAgoShort": "2d",
        "postedAgoText": "2 days ago"
      },
      "engagement": {
        "likes": 9,
        "comments": 14,
        "shares": 0
      },
      "query": {
        "search": "comparing sales engagement tools"
      }
    },
    {
      "type": "post",
      "id": "7243700055544433322",
      "linkedinUrl": "https://www.linkedin.com/posts/tom-becker-example_activity-7243700055544433322",
      "content": "Looking to hire an agency to set up our CRM and automate follow-ups. We are 8 people with lots of inbound calls and nothing is tracked. Any recommendations? Email me at tom@beckerco.example",
      "author": {
        "publicIdentifier": "tom-becker-example",
        "type": "profile",
        "name": "Tom Becker",
        "linkedinUrl": "https://www.linkedin.com/in/tom-becker-example",
        "info": "Founder | Becker & Co. Roofing"
      },
      "postedAt": {
        "postedAgoShort": "1d",
        "postedAgoText": "1 day ago"
      },
      "engagement": {
        "likes": 6,
        "comments": 11,
        "shares": 0
      },
      "query": {
        "search": "looking for an agency CRM"
      }
    },
    {
      "type": "post",
      "id": "7242900044433322211",
      "linkedinUrl": "https://www.linkedin.com/posts/sofia-marques-example_activity-7242900044433322211",
      "content": "In the market for a new sales CRM for our clinic network. It must integrate with Outlook and have decent reporting for 30 sales reps. Happy to hear what has worked for other healthcare teams.",
      "author": {
        "publicIdentifier": "sofia-marques-example",
        "type": "profile",
        "name": "Sofia Marques",
        "linkedinUrl": "https://www.linkedin.com/in/sofia-marques-example",
        "info": "Sales Manager at Clearwater Health"
      },
      "postedAt": {
        "postedAgoShort": "4d",
        "postedAgoText": "4 days ago"
      },
      "engagement": {
        "likes": 12,
        "comments": 8,
        "shares": 1
      },
      "query": {
        "search": "in the market for a CRM"
      }
    },
    {
      "type": "post",
      "id": "7242800033322211100",
      "linkedinUrl": "https://www.linkedin.com/posts/alex-chen-example_activity-7242800033322211100",
      "content": "Struggling with how our sales team logs calls. Every deal update is a Slack message and reporting at month end is a nightmare for everyone involved.",
      "author": {
        "publicIdentifier": "alex-chen-example",
        "type": "profile",
        "name": "Alex Chen",
        "linkedinUrl": "https://www.linkedin.com/in/alex-chen-example",
        "info": "Software Engineer at Finbase"
      },
      "postedAt": {
        "postedAgoShort": "5d",
        "postedAgoText": "5 days ago"
      },
      "engagement": {
        "likes": 3,
        "comments": 2,
        "shares": 0
      }
    },
    {
      "type": "post",
      "id": "7243600022211100099",
      "linkedinUrl": "https://www.linkedin.com/posts/jordan-pike-example_activity-7243600022211100099",
      "content": "🚀 Excited to announce RevBoost 2.0! Our platform now writes your sequences for you and books meetings on autopilot. Book a demo this week, link in comments.",
      "author": {
        "publicIdentifier": "jordan-pike-example",
        "type": "profile",
        "name": "Jordan Pike",
        "linkedinUrl": "https://www.linkedin.com/in/jordan-pike-example",
        "info": "Founder at RevBoost | We help SDR teams book 3x more meetings"
      },
      "postedAt": {
        "postedAgoShort": "6h",
        "postedAgoText": "6 hours ago"
      },
      "engagement": {
        "likes": 88,
        "comments": 12,
        "shares": 4
      }
    },
    {
      "type": "post",
      "id": "7243400011100099988",
      "linkedinUrl": "https://www.linkedin.com/posts/lena-fischer-example_activity-7243400011100099988",
      "content": "We're hiring! Looking for a Senior Account Executive to join our team in Berlin. Great CRM stack, great people. Apply now via the careers page. #hiring #sales",
      "author": {
        "publicIdentifier": "lena-fischer-example",
        "type": "profile",
        "name": "Lena Fischer",
        "linkedinUrl": "https://www.linkedin.com/in/lena-fischer-example",
        "info": "Talent Partner at Northwind Analytics"
      },
      "postedAt": {
        "postedAgoShort": "10h",
        "postedAgoText": "10 hours ago"
      },
      "engagement": {
        "likes": 25,
        "comments": 3,
        "shares": 5
      }
    },
    {
      "type": "post",
      "id": "7243300000099988877",
      "linkedinUrl": "https://www.linkedin.com/posts/sam-ortiz-example_activity-7243300000099988877",
      "content": "Worth a read 👇",
      "repost": {
        "id": "7243000000000000001",
        "content": "Can anyone recommend a CRM for startups?"
      },
      "author": {
        "publicIdentifier": "sam-ortiz-example",
        "type": "profile",
        "name": "Sam Ortiz",
        "linkedinUrl": "https://www.linkedin.com/in/sam-ortiz-example",
        "info": "Account Manager at Tidewell"
      },
      "postedAt": {
        "postedAgoShort": "8h",
        "postedAgoText": "8 hours ago"
      },
      "engagement": {
        "likes": 2,
        "comments": 0,
        "shares": 0
      }
    },
    {
      "type": "post",
      "id": "7243200099988877766",
      "linkedinUrl": "https://www.linkedin.com/posts/pipeline-pros-example_activity-7243200099988877766",
      "content": "Looking for a better way to track deals? Our CRM templates for small teams are free this week. Grab yours and tell us what you think.",
      "author": {
        "universalName": "pipeline-pros-example",
        "type": "company",
        "name": "Pipeline Pros",
        "linkedinUrl": "https://www.linkedin.com/company/pipeline-pros-example/",
        "info": "1,204 followers"
      },
      "postedAt": {
        "postedAgoShort": "12h",
        "postedAgoText": "12 hours ago"
      },
      "engagement": {
        "likes": 14,
        "comments": 1,
        "shares": 2
      }
    },
    {
      "type": "post",
      "id": "7243981127765409792",
      "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
      "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
      "author": {
        "publicIdentifier": "maya-lindqvist-example",
        "type": "profile",
        "name": "Maya Lindqvist",
        "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
        "info": "Co-founder & CEO at Northwind Analytics | ex-Google"
      },
      "postedAt": {
        "postedAgoShort": "3h",
        "postedAgoText": "3 hours ago"
      },
      "engagement": {
        "likes": 41,
        "comments": 27,
        "shares": 2
      },
      "query": {
        "search": "who do you use for CRM"
      }
    },
    {
      "type": "post",
      "id": "7243100088877766655",
      "linkedinUrl": "https://www.linkedin.com/posts/rachel-stone-example_activity-7243100088877766655",
      "content": "Anyone looking for a CRM for a small team this quarter? Happy to walk you through what the smallest plans include and how teams of 5 to 50 get started.",
      "author": {
        "publicIdentifier": "rachel-stone-example",
        "type": "profile",
        "name": "Rachel Stone",
        "linkedinUrl": "https://www.linkedin.com/in/rachel-stone-example",
        "info": "Account Executive at HubSpot"
      },
      "postedAt": {
        "postedAgoShort": "1d",
        "postedAgoText": "1 day ago"
      },
      "engagement": {
        "likes": 7,
        "comments": 4,
        "shares": 0
      }
    }
  ]
}
```

# Actor output Schema

## `qualified` (type: `string`):

All qualified leads as JSON, best-scoring first.

## `sheet` (type: `string`):

The same leads as a spreadsheet.

## `runSummary` (type: `string`):

Posts loaded, skipped per reason, rejected per noise rule, authors aggregated, AI-assessed, AI-rejected, AI fallbacks, qualified, charged basic / AI / free, the estimated source cost, per-phrase yield (yieldByQuery: posts, leads, hot, search $ per lead), paused phrases, measured AI tokens per lead, webhook and e-mail deliveries and the memory store size.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "intentKeywords": [
        "recommend a CRM",
        "alternative to Salesforce",
        "looking for a CRM"
    ],
    "offerDescription": "We sell a CRM with built-in sales sequences for B2B sales teams of 10 to 200 people.",
    "sourceMode": "list",
    "maxDiscoveryChargeUsd": 0.3,
    "discoveryInput": {},
    "itemsList": [
        {
            "type": "post",
            "id": "7243981127765409792",
            "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
            "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
            "author": {
                "publicIdentifier": "maya-lindqvist-example",
                "type": "profile",
                "name": "Maya Lindqvist",
                "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
                "info": "Co-founder & CEO at Northwind Analytics | ex-Google",
                "website": "https://northwind-analytics.example"
            },
            "postedAt": {
                "postedAgoShort": "3h",
                "postedAgoText": "3 hours ago"
            },
            "engagement": {
                "likes": 41,
                "comments": 27,
                "shares": 2
            },
            "query": {
                "search": "recommend a CRM"
            }
        },
        {
            "type": "post",
            "id": "7243870011122334455",
            "linkedinUrl": "https://www.linkedin.com/posts/daniel-okafor-example_activity-7243870011122334455",
            "content": "We're moving away from Salesforce. It's way too heavy for a team of 12 reps and nobody updates it. Looking for an alternative to Salesforce that our reps will actually use. Thoughts on Pipedrive vs HubSpot?",
            "author": {
                "publicIdentifier": "daniel-okafor-example",
                "type": "profile",
                "name": "Daniel Okafor",
                "linkedinUrl": "https://www.linkedin.com/in/daniel-okafor-example",
                "info": "VP Sales at Brightpath Logistics"
            },
            "postedAt": {
                "postedAgoShort": "20h",
                "postedAgoText": "20 hours ago"
            },
            "numLikes": 18,
            "numComments": 34,
            "numShares": 1,
            "query": "alternative to Salesforce"
        },
        {
            "type": "post",
            "id": "7243500099887766554",
            "linkedinUrl": "https://www.linkedin.com/posts/priya-raman-example_activity-7243500099887766554",
            "content": "Evaluating sales engagement tools this month. Comparing Outreach, Apollo and a couple of newer options for our SDR team. Anyone tried running sequences and the CRM in one place? Would love honest pros and cons.",
            "author": {
                "publicIdentifier": "priya-raman-example",
                "type": "profile",
                "name": "Priya Raman",
                "linkedinUrl": "https://www.linkedin.com/in/priya-raman-example",
                "info": "Head of Revenue Operations @ Loomstack"
            },
            "postedAt": {
                "postedAgoShort": "2d",
                "postedAgoText": "2 days ago"
            },
            "engagement": {
                "likes": 9,
                "comments": 14,
                "shares": 0
            },
            "query": {
                "search": "comparing sales engagement tools"
            }
        },
        {
            "type": "post",
            "id": "7243700055544433322",
            "linkedinUrl": "https://www.linkedin.com/posts/tom-becker-example_activity-7243700055544433322",
            "content": "Looking to hire an agency to set up our CRM and automate follow-ups. We are 8 people with lots of inbound calls and nothing is tracked. Any recommendations? Email me at tom@beckerco.example",
            "author": {
                "publicIdentifier": "tom-becker-example",
                "type": "profile",
                "name": "Tom Becker",
                "linkedinUrl": "https://www.linkedin.com/in/tom-becker-example",
                "info": "Founder | Becker & Co. Roofing"
            },
            "postedAt": {
                "postedAgoShort": "1d",
                "postedAgoText": "1 day ago"
            },
            "engagement": {
                "likes": 6,
                "comments": 11,
                "shares": 0
            },
            "query": {
                "search": "looking for an agency CRM"
            }
        },
        {
            "type": "post",
            "id": "7242900044433322211",
            "linkedinUrl": "https://www.linkedin.com/posts/sofia-marques-example_activity-7242900044433322211",
            "content": "In the market for a new sales CRM for our clinic network. It must integrate with Outlook and have decent reporting for 30 sales reps. Happy to hear what has worked for other healthcare teams.",
            "author": {
                "publicIdentifier": "sofia-marques-example",
                "type": "profile",
                "name": "Sofia Marques",
                "linkedinUrl": "https://www.linkedin.com/in/sofia-marques-example",
                "info": "Sales Manager at Clearwater Health"
            },
            "postedAt": {
                "postedAgoShort": "4d",
                "postedAgoText": "4 days ago"
            },
            "engagement": {
                "likes": 12,
                "comments": 8,
                "shares": 1
            },
            "query": {
                "search": "in the market for a CRM"
            }
        },
        {
            "type": "post",
            "id": "7242800033322211100",
            "linkedinUrl": "https://www.linkedin.com/posts/alex-chen-example_activity-7242800033322211100",
            "content": "Struggling with how our sales team logs calls. Every deal update is a Slack message and reporting at month end is a nightmare for everyone involved.",
            "author": {
                "publicIdentifier": "alex-chen-example",
                "type": "profile",
                "name": "Alex Chen",
                "linkedinUrl": "https://www.linkedin.com/in/alex-chen-example",
                "info": "Software Engineer at Finbase"
            },
            "postedAt": {
                "postedAgoShort": "5d",
                "postedAgoText": "5 days ago"
            },
            "engagement": {
                "likes": 3,
                "comments": 2,
                "shares": 0
            }
        },
        {
            "type": "post",
            "id": "7243600022211100099",
            "linkedinUrl": "https://www.linkedin.com/posts/jordan-pike-example_activity-7243600022211100099",
            "content": "🚀 Excited to announce RevBoost 2.0! Our platform now writes your sequences for you and books meetings on autopilot. Book a demo this week, link in comments.",
            "author": {
                "publicIdentifier": "jordan-pike-example",
                "type": "profile",
                "name": "Jordan Pike",
                "linkedinUrl": "https://www.linkedin.com/in/jordan-pike-example",
                "info": "Founder at RevBoost | We help SDR teams book 3x more meetings"
            },
            "postedAt": {
                "postedAgoShort": "6h",
                "postedAgoText": "6 hours ago"
            },
            "engagement": {
                "likes": 88,
                "comments": 12,
                "shares": 4
            }
        },
        {
            "type": "post",
            "id": "7243400011100099988",
            "linkedinUrl": "https://www.linkedin.com/posts/lena-fischer-example_activity-7243400011100099988",
            "content": "We're hiring! Looking for a Senior Account Executive to join our team in Berlin. Great CRM stack, great people. Apply now via the careers page. #hiring #sales",
            "author": {
                "publicIdentifier": "lena-fischer-example",
                "type": "profile",
                "name": "Lena Fischer",
                "linkedinUrl": "https://www.linkedin.com/in/lena-fischer-example",
                "info": "Talent Partner at Northwind Analytics"
            },
            "postedAt": {
                "postedAgoShort": "10h",
                "postedAgoText": "10 hours ago"
            },
            "engagement": {
                "likes": 25,
                "comments": 3,
                "shares": 5
            }
        },
        {
            "type": "post",
            "id": "7243300000099988877",
            "linkedinUrl": "https://www.linkedin.com/posts/sam-ortiz-example_activity-7243300000099988877",
            "content": "Worth a read 👇",
            "repost": {
                "id": "7243000000000000001",
                "content": "Can anyone recommend a CRM for startups?"
            },
            "author": {
                "publicIdentifier": "sam-ortiz-example",
                "type": "profile",
                "name": "Sam Ortiz",
                "linkedinUrl": "https://www.linkedin.com/in/sam-ortiz-example",
                "info": "Account Manager at Tidewell"
            },
            "postedAt": {
                "postedAgoShort": "8h",
                "postedAgoText": "8 hours ago"
            },
            "engagement": {
                "likes": 2,
                "comments": 0,
                "shares": 0
            }
        },
        {
            "type": "post",
            "id": "7243200099988877766",
            "linkedinUrl": "https://www.linkedin.com/posts/pipeline-pros-example_activity-7243200099988877766",
            "content": "Looking for a better way to track deals? Our CRM templates for small teams are free this week. Grab yours and tell us what you think.",
            "author": {
                "universalName": "pipeline-pros-example",
                "type": "company",
                "name": "Pipeline Pros",
                "linkedinUrl": "https://www.linkedin.com/company/pipeline-pros-example/",
                "info": "1,204 followers"
            },
            "postedAt": {
                "postedAgoShort": "12h",
                "postedAgoText": "12 hours ago"
            },
            "engagement": {
                "likes": 14,
                "comments": 1,
                "shares": 2
            }
        },
        {
            "type": "post",
            "id": "7243981127765409792",
            "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
            "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
            "author": {
                "publicIdentifier": "maya-lindqvist-example",
                "type": "profile",
                "name": "Maya Lindqvist",
                "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
                "info": "Co-founder & CEO at Northwind Analytics | ex-Google"
            },
            "postedAt": {
                "postedAgoShort": "3h",
                "postedAgoText": "3 hours ago"
            },
            "engagement": {
                "likes": 41,
                "comments": 27,
                "shares": 2
            },
            "query": {
                "search": "who do you use for CRM"
            }
        },
        {
            "type": "post",
            "id": "7243100088877766655",
            "linkedinUrl": "https://www.linkedin.com/posts/rachel-stone-example_activity-7243100088877766655",
            "content": "Anyone looking for a CRM for a small team this quarter? Happy to walk you through what the smallest plans include and how teams of 5 to 50 get started.",
            "author": {
                "publicIdentifier": "rachel-stone-example",
                "type": "profile",
                "name": "Rachel Stone",
                "linkedinUrl": "https://www.linkedin.com/in/rachel-stone-example",
                "info": "Account Executive at HubSpot"
            },
            "postedAt": {
                "postedAgoShort": "1d",
                "postedAgoText": "1 day ago"
            },
            "engagement": {
                "likes": 7,
                "comments": 4,
                "shares": 0
            }
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rich_minds/linkedin-intent-leads").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "intentKeywords": [
        "recommend a CRM",
        "alternative to Salesforce",
        "looking for a CRM",
    ],
    "offerDescription": "We sell a CRM with built-in sales sequences for B2B sales teams of 10 to 200 people.",
    "sourceMode": "list",
    "maxDiscoveryChargeUsd": 0.3,
    "discoveryInput": {},
    "itemsList": [
        {
            "type": "post",
            "id": "7243981127765409792",
            "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
            "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
            "author": {
                "publicIdentifier": "maya-lindqvist-example",
                "type": "profile",
                "name": "Maya Lindqvist",
                "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
                "info": "Co-founder & CEO at Northwind Analytics | ex-Google",
                "website": "https://northwind-analytics.example",
            },
            "postedAt": {
                "postedAgoShort": "3h",
                "postedAgoText": "3 hours ago",
            },
            "engagement": {
                "likes": 41,
                "comments": 27,
                "shares": 2,
            },
            "query": { "search": "recommend a CRM" },
        },
        {
            "type": "post",
            "id": "7243870011122334455",
            "linkedinUrl": "https://www.linkedin.com/posts/daniel-okafor-example_activity-7243870011122334455",
            "content": "We're moving away from Salesforce. It's way too heavy for a team of 12 reps and nobody updates it. Looking for an alternative to Salesforce that our reps will actually use. Thoughts on Pipedrive vs HubSpot?",
            "author": {
                "publicIdentifier": "daniel-okafor-example",
                "type": "profile",
                "name": "Daniel Okafor",
                "linkedinUrl": "https://www.linkedin.com/in/daniel-okafor-example",
                "info": "VP Sales at Brightpath Logistics",
            },
            "postedAt": {
                "postedAgoShort": "20h",
                "postedAgoText": "20 hours ago",
            },
            "numLikes": 18,
            "numComments": 34,
            "numShares": 1,
            "query": "alternative to Salesforce",
        },
        {
            "type": "post",
            "id": "7243500099887766554",
            "linkedinUrl": "https://www.linkedin.com/posts/priya-raman-example_activity-7243500099887766554",
            "content": "Evaluating sales engagement tools this month. Comparing Outreach, Apollo and a couple of newer options for our SDR team. Anyone tried running sequences and the CRM in one place? Would love honest pros and cons.",
            "author": {
                "publicIdentifier": "priya-raman-example",
                "type": "profile",
                "name": "Priya Raman",
                "linkedinUrl": "https://www.linkedin.com/in/priya-raman-example",
                "info": "Head of Revenue Operations @ Loomstack",
            },
            "postedAt": {
                "postedAgoShort": "2d",
                "postedAgoText": "2 days ago",
            },
            "engagement": {
                "likes": 9,
                "comments": 14,
                "shares": 0,
            },
            "query": { "search": "comparing sales engagement tools" },
        },
        {
            "type": "post",
            "id": "7243700055544433322",
            "linkedinUrl": "https://www.linkedin.com/posts/tom-becker-example_activity-7243700055544433322",
            "content": "Looking to hire an agency to set up our CRM and automate follow-ups. We are 8 people with lots of inbound calls and nothing is tracked. Any recommendations? Email me at tom@beckerco.example",
            "author": {
                "publicIdentifier": "tom-becker-example",
                "type": "profile",
                "name": "Tom Becker",
                "linkedinUrl": "https://www.linkedin.com/in/tom-becker-example",
                "info": "Founder | Becker & Co. Roofing",
            },
            "postedAt": {
                "postedAgoShort": "1d",
                "postedAgoText": "1 day ago",
            },
            "engagement": {
                "likes": 6,
                "comments": 11,
                "shares": 0,
            },
            "query": { "search": "looking for an agency CRM" },
        },
        {
            "type": "post",
            "id": "7242900044433322211",
            "linkedinUrl": "https://www.linkedin.com/posts/sofia-marques-example_activity-7242900044433322211",
            "content": "In the market for a new sales CRM for our clinic network. It must integrate with Outlook and have decent reporting for 30 sales reps. Happy to hear what has worked for other healthcare teams.",
            "author": {
                "publicIdentifier": "sofia-marques-example",
                "type": "profile",
                "name": "Sofia Marques",
                "linkedinUrl": "https://www.linkedin.com/in/sofia-marques-example",
                "info": "Sales Manager at Clearwater Health",
            },
            "postedAt": {
                "postedAgoShort": "4d",
                "postedAgoText": "4 days ago",
            },
            "engagement": {
                "likes": 12,
                "comments": 8,
                "shares": 1,
            },
            "query": { "search": "in the market for a CRM" },
        },
        {
            "type": "post",
            "id": "7242800033322211100",
            "linkedinUrl": "https://www.linkedin.com/posts/alex-chen-example_activity-7242800033322211100",
            "content": "Struggling with how our sales team logs calls. Every deal update is a Slack message and reporting at month end is a nightmare for everyone involved.",
            "author": {
                "publicIdentifier": "alex-chen-example",
                "type": "profile",
                "name": "Alex Chen",
                "linkedinUrl": "https://www.linkedin.com/in/alex-chen-example",
                "info": "Software Engineer at Finbase",
            },
            "postedAt": {
                "postedAgoShort": "5d",
                "postedAgoText": "5 days ago",
            },
            "engagement": {
                "likes": 3,
                "comments": 2,
                "shares": 0,
            },
        },
        {
            "type": "post",
            "id": "7243600022211100099",
            "linkedinUrl": "https://www.linkedin.com/posts/jordan-pike-example_activity-7243600022211100099",
            "content": "🚀 Excited to announce RevBoost 2.0! Our platform now writes your sequences for you and books meetings on autopilot. Book a demo this week, link in comments.",
            "author": {
                "publicIdentifier": "jordan-pike-example",
                "type": "profile",
                "name": "Jordan Pike",
                "linkedinUrl": "https://www.linkedin.com/in/jordan-pike-example",
                "info": "Founder at RevBoost | We help SDR teams book 3x more meetings",
            },
            "postedAt": {
                "postedAgoShort": "6h",
                "postedAgoText": "6 hours ago",
            },
            "engagement": {
                "likes": 88,
                "comments": 12,
                "shares": 4,
            },
        },
        {
            "type": "post",
            "id": "7243400011100099988",
            "linkedinUrl": "https://www.linkedin.com/posts/lena-fischer-example_activity-7243400011100099988",
            "content": "We're hiring! Looking for a Senior Account Executive to join our team in Berlin. Great CRM stack, great people. Apply now via the careers page. #hiring #sales",
            "author": {
                "publicIdentifier": "lena-fischer-example",
                "type": "profile",
                "name": "Lena Fischer",
                "linkedinUrl": "https://www.linkedin.com/in/lena-fischer-example",
                "info": "Talent Partner at Northwind Analytics",
            },
            "postedAt": {
                "postedAgoShort": "10h",
                "postedAgoText": "10 hours ago",
            },
            "engagement": {
                "likes": 25,
                "comments": 3,
                "shares": 5,
            },
        },
        {
            "type": "post",
            "id": "7243300000099988877",
            "linkedinUrl": "https://www.linkedin.com/posts/sam-ortiz-example_activity-7243300000099988877",
            "content": "Worth a read 👇",
            "repost": {
                "id": "7243000000000000001",
                "content": "Can anyone recommend a CRM for startups?",
            },
            "author": {
                "publicIdentifier": "sam-ortiz-example",
                "type": "profile",
                "name": "Sam Ortiz",
                "linkedinUrl": "https://www.linkedin.com/in/sam-ortiz-example",
                "info": "Account Manager at Tidewell",
            },
            "postedAt": {
                "postedAgoShort": "8h",
                "postedAgoText": "8 hours ago",
            },
            "engagement": {
                "likes": 2,
                "comments": 0,
                "shares": 0,
            },
        },
        {
            "type": "post",
            "id": "7243200099988877766",
            "linkedinUrl": "https://www.linkedin.com/posts/pipeline-pros-example_activity-7243200099988877766",
            "content": "Looking for a better way to track deals? Our CRM templates for small teams are free this week. Grab yours and tell us what you think.",
            "author": {
                "universalName": "pipeline-pros-example",
                "type": "company",
                "name": "Pipeline Pros",
                "linkedinUrl": "https://www.linkedin.com/company/pipeline-pros-example/",
                "info": "1,204 followers",
            },
            "postedAt": {
                "postedAgoShort": "12h",
                "postedAgoText": "12 hours ago",
            },
            "engagement": {
                "likes": 14,
                "comments": 1,
                "shares": 2,
            },
        },
        {
            "type": "post",
            "id": "7243981127765409792",
            "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
            "content": "Can anyone recommend a CRM for a 20-person sales team? We've outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
            "author": {
                "publicIdentifier": "maya-lindqvist-example",
                "type": "profile",
                "name": "Maya Lindqvist",
                "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
                "info": "Co-founder & CEO at Northwind Analytics | ex-Google",
            },
            "postedAt": {
                "postedAgoShort": "3h",
                "postedAgoText": "3 hours ago",
            },
            "engagement": {
                "likes": 41,
                "comments": 27,
                "shares": 2,
            },
            "query": { "search": "who do you use for CRM" },
        },
        {
            "type": "post",
            "id": "7243100088877766655",
            "linkedinUrl": "https://www.linkedin.com/posts/rachel-stone-example_activity-7243100088877766655",
            "content": "Anyone looking for a CRM for a small team this quarter? Happy to walk you through what the smallest plans include and how teams of 5 to 50 get started.",
            "author": {
                "publicIdentifier": "rachel-stone-example",
                "type": "profile",
                "name": "Rachel Stone",
                "linkedinUrl": "https://www.linkedin.com/in/rachel-stone-example",
                "info": "Account Executive at HubSpot",
            },
            "postedAt": {
                "postedAgoShort": "1d",
                "postedAgoText": "1 day ago",
            },
            "engagement": {
                "likes": 7,
                "comments": 4,
                "shares": 0,
            },
        },
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("rich_minds/linkedin-intent-leads").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "intentKeywords": [
    "recommend a CRM",
    "alternative to Salesforce",
    "looking for a CRM"
  ],
  "offerDescription": "We sell a CRM with built-in sales sequences for B2B sales teams of 10 to 200 people.",
  "sourceMode": "list",
  "maxDiscoveryChargeUsd": 0.3,
  "discoveryInput": {},
  "itemsList": [
    {
      "type": "post",
      "id": "7243981127765409792",
      "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
      "content": "Can anyone recommend a CRM for a 20-person sales team? We'\''ve outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
      "author": {
        "publicIdentifier": "maya-lindqvist-example",
        "type": "profile",
        "name": "Maya Lindqvist",
        "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
        "info": "Co-founder & CEO at Northwind Analytics | ex-Google",
        "website": "https://northwind-analytics.example"
      },
      "postedAt": {
        "postedAgoShort": "3h",
        "postedAgoText": "3 hours ago"
      },
      "engagement": {
        "likes": 41,
        "comments": 27,
        "shares": 2
      },
      "query": {
        "search": "recommend a CRM"
      }
    },
    {
      "type": "post",
      "id": "7243870011122334455",
      "linkedinUrl": "https://www.linkedin.com/posts/daniel-okafor-example_activity-7243870011122334455",
      "content": "We'\''re moving away from Salesforce. It'\''s way too heavy for a team of 12 reps and nobody updates it. Looking for an alternative to Salesforce that our reps will actually use. Thoughts on Pipedrive vs HubSpot?",
      "author": {
        "publicIdentifier": "daniel-okafor-example",
        "type": "profile",
        "name": "Daniel Okafor",
        "linkedinUrl": "https://www.linkedin.com/in/daniel-okafor-example",
        "info": "VP Sales at Brightpath Logistics"
      },
      "postedAt": {
        "postedAgoShort": "20h",
        "postedAgoText": "20 hours ago"
      },
      "numLikes": 18,
      "numComments": 34,
      "numShares": 1,
      "query": "alternative to Salesforce"
    },
    {
      "type": "post",
      "id": "7243500099887766554",
      "linkedinUrl": "https://www.linkedin.com/posts/priya-raman-example_activity-7243500099887766554",
      "content": "Evaluating sales engagement tools this month. Comparing Outreach, Apollo and a couple of newer options for our SDR team. Anyone tried running sequences and the CRM in one place? Would love honest pros and cons.",
      "author": {
        "publicIdentifier": "priya-raman-example",
        "type": "profile",
        "name": "Priya Raman",
        "linkedinUrl": "https://www.linkedin.com/in/priya-raman-example",
        "info": "Head of Revenue Operations @ Loomstack"
      },
      "postedAt": {
        "postedAgoShort": "2d",
        "postedAgoText": "2 days ago"
      },
      "engagement": {
        "likes": 9,
        "comments": 14,
        "shares": 0
      },
      "query": {
        "search": "comparing sales engagement tools"
      }
    },
    {
      "type": "post",
      "id": "7243700055544433322",
      "linkedinUrl": "https://www.linkedin.com/posts/tom-becker-example_activity-7243700055544433322",
      "content": "Looking to hire an agency to set up our CRM and automate follow-ups. We are 8 people with lots of inbound calls and nothing is tracked. Any recommendations? Email me at tom@beckerco.example",
      "author": {
        "publicIdentifier": "tom-becker-example",
        "type": "profile",
        "name": "Tom Becker",
        "linkedinUrl": "https://www.linkedin.com/in/tom-becker-example",
        "info": "Founder | Becker & Co. Roofing"
      },
      "postedAt": {
        "postedAgoShort": "1d",
        "postedAgoText": "1 day ago"
      },
      "engagement": {
        "likes": 6,
        "comments": 11,
        "shares": 0
      },
      "query": {
        "search": "looking for an agency CRM"
      }
    },
    {
      "type": "post",
      "id": "7242900044433322211",
      "linkedinUrl": "https://www.linkedin.com/posts/sofia-marques-example_activity-7242900044433322211",
      "content": "In the market for a new sales CRM for our clinic network. It must integrate with Outlook and have decent reporting for 30 sales reps. Happy to hear what has worked for other healthcare teams.",
      "author": {
        "publicIdentifier": "sofia-marques-example",
        "type": "profile",
        "name": "Sofia Marques",
        "linkedinUrl": "https://www.linkedin.com/in/sofia-marques-example",
        "info": "Sales Manager at Clearwater Health"
      },
      "postedAt": {
        "postedAgoShort": "4d",
        "postedAgoText": "4 days ago"
      },
      "engagement": {
        "likes": 12,
        "comments": 8,
        "shares": 1
      },
      "query": {
        "search": "in the market for a CRM"
      }
    },
    {
      "type": "post",
      "id": "7242800033322211100",
      "linkedinUrl": "https://www.linkedin.com/posts/alex-chen-example_activity-7242800033322211100",
      "content": "Struggling with how our sales team logs calls. Every deal update is a Slack message and reporting at month end is a nightmare for everyone involved.",
      "author": {
        "publicIdentifier": "alex-chen-example",
        "type": "profile",
        "name": "Alex Chen",
        "linkedinUrl": "https://www.linkedin.com/in/alex-chen-example",
        "info": "Software Engineer at Finbase"
      },
      "postedAt": {
        "postedAgoShort": "5d",
        "postedAgoText": "5 days ago"
      },
      "engagement": {
        "likes": 3,
        "comments": 2,
        "shares": 0
      }
    },
    {
      "type": "post",
      "id": "7243600022211100099",
      "linkedinUrl": "https://www.linkedin.com/posts/jordan-pike-example_activity-7243600022211100099",
      "content": "🚀 Excited to announce RevBoost 2.0! Our platform now writes your sequences for you and books meetings on autopilot. Book a demo this week, link in comments.",
      "author": {
        "publicIdentifier": "jordan-pike-example",
        "type": "profile",
        "name": "Jordan Pike",
        "linkedinUrl": "https://www.linkedin.com/in/jordan-pike-example",
        "info": "Founder at RevBoost | We help SDR teams book 3x more meetings"
      },
      "postedAt": {
        "postedAgoShort": "6h",
        "postedAgoText": "6 hours ago"
      },
      "engagement": {
        "likes": 88,
        "comments": 12,
        "shares": 4
      }
    },
    {
      "type": "post",
      "id": "7243400011100099988",
      "linkedinUrl": "https://www.linkedin.com/posts/lena-fischer-example_activity-7243400011100099988",
      "content": "We'\''re hiring! Looking for a Senior Account Executive to join our team in Berlin. Great CRM stack, great people. Apply now via the careers page. #hiring #sales",
      "author": {
        "publicIdentifier": "lena-fischer-example",
        "type": "profile",
        "name": "Lena Fischer",
        "linkedinUrl": "https://www.linkedin.com/in/lena-fischer-example",
        "info": "Talent Partner at Northwind Analytics"
      },
      "postedAt": {
        "postedAgoShort": "10h",
        "postedAgoText": "10 hours ago"
      },
      "engagement": {
        "likes": 25,
        "comments": 3,
        "shares": 5
      }
    },
    {
      "type": "post",
      "id": "7243300000099988877",
      "linkedinUrl": "https://www.linkedin.com/posts/sam-ortiz-example_activity-7243300000099988877",
      "content": "Worth a read 👇",
      "repost": {
        "id": "7243000000000000001",
        "content": "Can anyone recommend a CRM for startups?"
      },
      "author": {
        "publicIdentifier": "sam-ortiz-example",
        "type": "profile",
        "name": "Sam Ortiz",
        "linkedinUrl": "https://www.linkedin.com/in/sam-ortiz-example",
        "info": "Account Manager at Tidewell"
      },
      "postedAt": {
        "postedAgoShort": "8h",
        "postedAgoText": "8 hours ago"
      },
      "engagement": {
        "likes": 2,
        "comments": 0,
        "shares": 0
      }
    },
    {
      "type": "post",
      "id": "7243200099988877766",
      "linkedinUrl": "https://www.linkedin.com/posts/pipeline-pros-example_activity-7243200099988877766",
      "content": "Looking for a better way to track deals? Our CRM templates for small teams are free this week. Grab yours and tell us what you think.",
      "author": {
        "universalName": "pipeline-pros-example",
        "type": "company",
        "name": "Pipeline Pros",
        "linkedinUrl": "https://www.linkedin.com/company/pipeline-pros-example/",
        "info": "1,204 followers"
      },
      "postedAt": {
        "postedAgoShort": "12h",
        "postedAgoText": "12 hours ago"
      },
      "engagement": {
        "likes": 14,
        "comments": 1,
        "shares": 2
      }
    },
    {
      "type": "post",
      "id": "7243981127765409792",
      "linkedinUrl": "https://www.linkedin.com/posts/maya-lindqvist-example_activity-7243981127765409792",
      "content": "Can anyone recommend a CRM for a 20-person sales team? We'\''ve outgrown spreadsheets and need something live by end of Q4. Budget is flexible for the right fit. Who do you use for pipeline tracking?",
      "author": {
        "publicIdentifier": "maya-lindqvist-example",
        "type": "profile",
        "name": "Maya Lindqvist",
        "linkedinUrl": "https://www.linkedin.com/in/maya-lindqvist-example",
        "info": "Co-founder & CEO at Northwind Analytics | ex-Google"
      },
      "postedAt": {
        "postedAgoShort": "3h",
        "postedAgoText": "3 hours ago"
      },
      "engagement": {
        "likes": 41,
        "comments": 27,
        "shares": 2
      },
      "query": {
        "search": "who do you use for CRM"
      }
    },
    {
      "type": "post",
      "id": "7243100088877766655",
      "linkedinUrl": "https://www.linkedin.com/posts/rachel-stone-example_activity-7243100088877766655",
      "content": "Anyone looking for a CRM for a small team this quarter? Happy to walk you through what the smallest plans include and how teams of 5 to 50 get started.",
      "author": {
        "publicIdentifier": "rachel-stone-example",
        "type": "profile",
        "name": "Rachel Stone",
        "linkedinUrl": "https://www.linkedin.com/in/rachel-stone-example",
        "info": "Account Executive at HubSpot"
      },
      "postedAt": {
        "postedAgoShort": "1d",
        "postedAgoText": "1 day ago"
      },
      "engagement": {
        "likes": 7,
        "comments": 4,
        "shares": 0
      }
    }
  ]
}' |
apify call rich_minds/linkedin-intent-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rich_minds/linkedin-intent-leads"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/jOR0ckkB0X9jdXQ1z/builds/SbI755mfqZUfb7PjW/openapi.json
