Practical Tools
linkedincompetitive-intelligenceweb-scrapingb2b

How to Monitor LinkedIn Posts from Competitors

Track competitor LinkedIn thought leadership posts at scale. Scrape author, reactions, and content from public posts without cookies or login.

To monitor LinkedIn thought leadership posts from competitors, run a scheduled scraper against their company page and key executives' profile URLs, then pipe the structured output (post text, reactions, comments count, timestamp) into a spreadsheet or BI tool. The cheapest reliable way is a no-cookie Apify actor that pulls public posts at roughly $0.004 per event — about $4 to track 1,000 posts per month across your whole competitor set.

Quick Answer

To monitor LinkedIn posts competitors publish, use a public-data scraper that pulls posts from their company page and executive profiles on a daily or weekly schedule. The LinkedIn Post Scraper (no cookies) extracts author, text, media, date, and reaction counts without requiring an account. Store results in Google Sheets, BigQuery, or Airtable and diff each run against the previous one to surface new posts. Sort by reactions and comments to identify which topics are driving engagement. Most B2B teams can cover 10–15 competitors for under $20/month.

Why monitor competitor LinkedIn posts at all?

LinkedIn is where 80%+ of B2B thought leadership now happens. Earnings calls and press releases are lagging indicators — LinkedIn posts from a CEO, VP of Product, or Head of Marketing are leading indicators of:

  • Product launches (founders tease features 2–6 weeks before GA)
  • Positioning shifts (new messaging tested on personal profiles before website copy changes)
  • Hiring signals ("We're growing the AI team" posts predict hiring sprints)
  • Customer wins (logo-drop posts reveal new accounts before case studies ship)
  • Market narratives (which themes a competitor is doubling down on)

Manually checking 15 competitor profiles every Monday morning takes 45 minutes and you'll still miss the posts that went up Friday night. Automation reduces this to a scheduled job and a Slack notification.

What data should you actually capture?

Don't just grab the post text. Useful competitive intel comes from joining text with engagement signals:

FieldWhy it matters
Author name + headlineDistinguishes CEO posts from intern reposts
Post textCore content for keyword/topic analysis
Post URLPermalink for citation in reports
Posted dateFrequency and timing analysis
Reactions countProxy for resonance
Comments countProxy for controversy or community pull
Image/video URLsCatches product screenshots, demo videos
HashtagsTopic tagging without NLP

The LinkedIn Post Scraper (no cookies) returns all of these in a single JSON output per post, which means you can pipe straight to a database without a transform step.

How do you scrape LinkedIn posts without getting blocked?

Three approaches exist, with very different risk and cost profiles:

1. Manual copy-paste. Free. Doesn't scale past 2–3 competitors. You'll quit by week three.

2. Cookie-based scrapers. These log in with your LinkedIn session cookie. They access more data but burn accounts — LinkedIn detects automation and suspends profiles within days to weeks. Replacing a warmed-up account costs time and sometimes money.

3. No-cookie public scrapers. These hit only publicly indexable post pages, the same URLs Google crawls. No account risk because no account is used. The trade-off: you only get public posts (which is fine — thought leadership posts are public by definition).

For competitive monitoring, option 3 is the right call. The no-cookie route at $0.004 per post is cheaper than the engineer-hours required to maintain account rotation infrastructure.

How do you set up a competitor monitoring pipeline?

Here's a concrete pipeline that runs on a $20/month budget:

Step 1: Build your target list. Create a CSV with three columns: competitor, entity_type (company / profile / hashtag), url. Aim for 10–20 entries. Include each competitor's company page plus 2–3 key executives (CEO, CMO, VP of Product).

competitor,entity_type,url
acme-corp,company,https://www.linkedin.com/company/acme-corp/
acme-ceo,profile,https://www.linkedin.com/in/jane-acme/
acme-cmo,profile,https://www.linkedin.com/in/john-acme/

Step 2: Schedule the actor. On Apify, set the LinkedIn Post Scraper to run daily at 6am. Pass the URLs from your CSV as input. For 15 competitors averaging 4 posts per week each, expect ~60 posts/week → ~$0.24/week → under $13/month all-in.

Step 3: Pipe results to storage. Apify actors push directly to:

  • Google Sheets (via the Apify-to-Sheets integration)
  • BigQuery / Postgres (via webhook → ETL)
  • Airtable (native integration)

Step 4: Deduplicate on post URL. Each run will re-fetch recent posts. Use post URL as the unique key.

Step 5: Diff and alert. Run a daily SQL query: WHERE first_seen > NOW() - INTERVAL '1 day'. Pipe new posts to a Slack channel via webhook. Format: 🆕 [Author] posted: "[first 100 chars]" — 👍 234 💬 18 → [link].

Step 6: Weekly digest. Every Monday, generate a top-10-by-reactions report. This is your "what's actually working in our category" feed.

What can you learn from this data?

Three weeks of scraped competitor posts typically reveals:

  • Topic clusters. Group posts by hashtag and TF-IDF on body text. You'll see which themes each competitor owns. If three competitors are suddenly posting about "agentic workflows," that's a signal worth investigating.
  • Posting cadence. Most B2B execs post 1–3x/week. A jump to daily posting usually precedes a funding round, launch, or conference.
  • Engagement benchmarks. Median reactions per post for your category. If your CEO's post gets 40 reactions and the category median is 180, you have a distribution problem, not a content problem.
  • Format winners. Compare reactions on text-only vs. image vs. video posts. In most B2B categories in 2026, carousels and short native videos outperform text by 2–4x.
  • Comment patterns. High comment-to-reaction ratios (>15%) indicate posts that sparked debate — usually the strongest signal of a position worth borrowing or rebutting.

How often should you scrape competitor LinkedIn posts?

Daily for active monitoring of 10–20 competitors. Weekly is fine if you only care about retrospective analysis. Avoid hourly — LinkedIn doesn't publish that fast and you'll burn budget on duplicate fetches.

For a 15-competitor setup averaging 4 posts/week per competitor:

  • Daily runs: ~60 posts × 4 weeks = 240 scrape events/month → ~$0.96/month
  • Plus initial backfill of last 50 posts per source: 750 events → ~$3
  • Total month 1: ~$4. Ongoing months: ~$1.

Even with comments scraping and 50 competitors, you're unlikely to exceed $25/month.

What about LinkedIn's terms of service?

Scraping publicly accessible data has been repeatedly upheld in US courts (hiQ Labs v. LinkedIn, 9th Circuit). The no-cookie approach scrapes only data LinkedIn serves to logged-out users — the same data Google indexes. You're not bypassing authentication, breaking encryption, or accessing private posts. That said: don't republish scraped content verbatim, don't claim it as your own, and use it for internal competitive intel only. If you want public-facing benchmarks, summarize and aggregate (e.g., "median B2B SaaS CEO post gets 87 reactions") rather than quoting individuals.

FAQ

Q: Can I monitor a competitor's LinkedIn posts without a LinkedIn account? Yes. The LinkedIn Post Scraper (no cookies) accesses only the public versions of LinkedIn pages — the same pages Google indexes. No login or session cookie is required, which means there's no account to get banned and no credentials to manage.

Q: How much does it cost to track 10 competitors on LinkedIn? At $0.004 per post and an average of 4 posts/week per competitor (40 posts/week across 10 competitors), you'll spend about $0.16/week or roughly $7/month including a one-time backfill. Adding key executive profiles roughly triples the cost to $20/month — still cheaper than one hour of analyst time.

Q: What's the difference between monitoring a company page versus an executive profile? Company pages tend to publish polished announcements (launches, hires, customer wins) on a 1–2x/week cadence. Executive profiles publish 3–5x/week and are where actual thought leadership, market opinions, and early signals appear. For competitive intelligence, executive profiles are usually higher-value — but track both.

Q: How do I avoid scraping the same post twice? Use the post URL field as a unique key in your storage layer. Every scrape run will re-fetch recent posts (since you don't know which are new ahead of time), so deduplicate on insert with INSERT ... ON CONFLICT DO NOTHING in Postgres or equivalent in your warehouse.

Q: Can I scrape comments on competitor posts too? The actor returns the comment count per post, which is usually enough for engagement analysis. If you need the actual comment text to track who's engaging with competitors (potential prospects, partners, or critics), that requires a separate comment-fetching step. Comment scraping costs more per event but is the single highest-signal data for outbound prospecting.