LinkedIn Company Posts Scraper [NO COOKIES & NO LOGIN] ✅
Pricing
$4.00 / 1,000 post-scrapeds
LinkedIn Company Posts Scraper [NO COOKIES & NO LOGIN] ✅
LinkedIn Company Posts Scraper for competitor monitoring and content benchmarking. Pull every post from any company page with engagement metrics (likes, comments, shares, reactions). No login, no cookies, no API. Built for ABM, competitive intel, and content strategy teams.
Pricing
$4.00 / 1,000 post-scrapeds
Rating
5.0
(3)
Developer
Unseen User
Maintained by CommunityActor stats
18
Bookmarked
105
Total users
33
Monthly active users
0.84 hours
Issues response
2 days ago
Last modified
Categories
Share
🏢 LinkedIn Company Posts Scraper - Every Post from Any Company Page (No Login)
Scrape every post from a LinkedIn company page with full engagement metrics. No login. This LinkedIn Company Posts Scraper pulls text, media, and engagement (likes, comments, shares, reactions) from any company page - no LinkedIn login, no cookies, no API required.
Version: 1.3 · Last verified working: 2026-09-06 · Support SLA: within 24 hours on business days · Open issues: 0 · ./CHANGELOG.md · ./SUPPORT.md · ./SECURITY.md
✨ What's new in v1.3
- Author profile enrichment - turn on
include_author_profileand every row getsauthor_headline,author_industry,author_location,author_followers. One cached lookup per unique author.- Bare-handle input - paste
openai,apple, or any company slug.- Absolute date ranges -
posted_after_date+posted_before_datefor pulling a specific window instead of a rolling one.- Per-URL failure summary - end-of-run status message names which URLs failed and why, so bulk runs are self-diagnosing.
Per-run post cap
Free Apify accounts have a per-run cap of 50 posts, counted across all company URLs you submit in a single run. Any paid Apify plan removes the cap.
The cap was set by the Actor developer, not by Apify. To remove it, upgrade to any paid Apify plan: https://apify.com/pricing
When the cap is reached, the Actor finishes successfully (status SUCCEEDED) and posts a neutral status message describing the cap. No error is raised, so the first 50 posts are fully usable as normal. Your account tier is never logged or written to the dataset.
🎯 Use Cases
- LinkedIn competitor posts monitoring - track what competitors are posting and how their audience reacts
- LinkedIn content benchmarking - see what topics industry leaders post about and how often
- Sales enablement - equip reps with a target company's latest LinkedIn content before calls
- LinkedIn brand monitoring - detect mentions, tone shifts, or crisis posts on competitor pages
- Trend research with LinkedIn engagement data - collect posts across many companies to find what's resonating in a sector
🚀 Quick Start
- Click Try for free on this Actor's page
- Paste one or more LinkedIn company URLs into the LinkedIn company URLs field (it's prefilled with
https://www.linkedin.com/company/googleas an example - add more rows for bulk scraping) - Click Start
- Download the output as JSON, CSV, or XLSX, or pull via Apify API
You get one dataset row per post, so the row count in your Apify dashboard always equals the number of posts you actually got.
⚙️ Input Fields
All inputs live in a single flat form:
| Field | Description |
|---|---|
| LinkedIn company pages | One or more LinkedIn company URLs OR bare handles. Both work: https://www.linkedin.com/company/google and google produce the same result. Click + Add to scrape multiple companies in a single run. |
| How many posts to fetch per company | Per-company post cap. 0 = fetch every available post (default). No hard ceiling. |
| Posted within | Rolling window: All time, Last hour, Last 24 hours, Last week, Last month, Last 3 months, Last 6 months, Last year, Last 2 years, Last 3 years. Ignored if you set a Posted after / before date. |
| Posted after date | Optional date picker. When set, only posts on or after this date are returned. Overrides Posted within. |
| Posted before date | Optional date picker. When set, only posts on or before this date are returned. Combine with Posted after date for a specific range. Overrides Posted within. |
| Include quote posts | Include quote-shares (default on). Turn off to exclude posts that quote-share another post. |
| Include reposts | Include reshared posts (default on). Turn off to get only original content from the company. |
| Skip URLs with no posts | By default, URLs that return no posts get one placeholder row. Turn on to leave those out. |
| Enrich with author profile | Adds author headline, industry, location, and follower count to each post row. Runs one HarvestAPI profile lookup per unique author (cached). Off by default. |
Example input (all fields, defaults shown):
{"companyUrls": ["https://www.linkedin.com/company/google","https://www.linkedin.com/company/openai"],"max_posts": 0,"date_filter": "week","posted_after_date": "","posted_before_date": "","include_quote_posts": true,"include_reposts": true,"skip_empty_rows": false,"include_author_profile": false}
🍳 Workflow recipes
Copy any of these input blocks into the Apify console and click Start. Every one runs on the current build with no editing.
Recipe 1 - Weekly competitor content monitor. Bulk-scrape the last week's posts from your 5 biggest competitors. Ideal for a scheduled Task that runs every Monday at 8am.
{"companyUrls": ["https://www.linkedin.com/company/hubspot","https://www.linkedin.com/company/salesforce","https://www.linkedin.com/company/notionhq","https://www.linkedin.com/company/asana","https://www.linkedin.com/company/monday-com"],"date_filter": "week","include_reposts": false,"skip_empty_rows": true}
Recipe 2 - 100-company bulk historical export. One-shot pull of every post ever from a big list, with author enrichment.
{"companyUrls": ["google", "openai", "anthropic", "meta", "microsoft","apple", "amazon", "netflix", "spotify", "airbnb"],"max_posts": 0,"include_author_profile": true}
Recipe 3 - Author-enriched single company scrape. Turn on include_author_profile to add author headline, industry, location, and follower count to every row.
{"companyUrls": ["hubspot"],"date_filter": "3months","include_author_profile": true}
Recipe 4 - Range window for a launch analysis. Pull posts published inside a launch window (e.g. product launch quarter).
{"companyUrls": ["stripe"],"posted_after_date": "2026-06-01","posted_before_date": "2026-08-31","include_quote_posts": true,"include_reposts": false}
Recipe 5 - Original-content-only benchmarking. Skip all reshares to compare the writing output of multiple companies fairly.
{"companyUrls": ["hubspot", "salesforce", "notionhq"],"date_filter": "month","include_reposts": false,"include_quote_posts": false,"skip_empty_rows": true}
🔌 Integrations
The Actor's dataset is a first-class Apify object, so every downstream tool that already talks to Apify picks up your posts automatically. One-paragraph setups for the five most common destinations:
Google Sheets. In the Apify console, open the run's Dataset tab and click Export -> Google Sheets. Sheets auto-updates on schedule if you connect it as a Task integration. For a live-formula pull, use =IMPORTDATA("https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&clean=true") in cell A1. Every post becomes a row; every flat column becomes a column.
Airtable. Add an Apify -> Airtable Task integration on the run configuration. Field mapping: post_url -> URL field, content -> Long text, likes/comments/shares/reactions -> Number, posted_at -> Date, author_name + author_headline -> Text. Deduplicate on post_id so re-runs update existing rows instead of creating duplicates.
Zapier. Trigger: Apify New Item in Dataset. Filter step: content is not empty (drops empty rows if skip_empty_rows is off). Actions: post to Slack channel with content + post_url, or create a Notion database row per post. Zapier's polling picks up new rows within 15 minutes on the free tier.
Make (formerly Integromat). Similar to Zapier but real-time via webhooks. Add the Apify Watch Dataset Items module, point to this Actor's default dataset, then chain the modules you need (Slack, Notion, Airtable, HubSpot, Attio, Clay). Make handles retries automatically if the downstream module fails.
n8n. Self-hosted or cloud. Use the Apify Actor node to run the Actor on cron, then a HTTP Request node against the Apify dataset API for the results. Because n8n runs on your own infra, this is the pattern people use to build private LinkedIn intelligence pipelines that don't send data through a third-party automation platform.
💰 Pricing
Pay-per-event pricing on Apify. Two events are billed: one per LinkedIn company URL the Actor queries, and one per real post row returned with content. URLs with no posts and error rows are not billed.
See exact rates on the Actor's Pricing tab.
❓ FAQ
Q: Does this also return company profile data (industries, employee count, funding)? A: No. This Actor is posts-only by design. If you need company profile data, use the sibling scraper LinkedIn Company Scraper Pro.
Q: Is this legal? A: This Actor wraps HarvestAPI's posts endpoint that handles the underlying data collection. Your downstream use of the data is your responsibility - see the full Terms of Service and Actor-Specific Addendum below for details.
Q: What if LinkedIn sends a cease-and-desist? A: Notify UnseenUser within 48 hours via the Apify profile contact form (https://apify.com/UnseenUser) and cease using this Actor immediately.
Q: Can I use this data to train AI? A: No. LinkedIn's Terms explicitly prohibit AI training on LinkedIn data, and post authors retain copyright. See Addendum Section G.
Q: Is this a LinkedIn company posts API alternative? A: LinkedIn's official API does not expose company page posts to third-party developers, and the endpoints that do exist are rate-limited to a handful of calls per hour. This Actor is a working alternative when the official LinkedIn API cannot return the data you need. Pull posts by URL, no OAuth flow, no partner-program approval.
Q: Can I download LinkedIn company posts to CSV? A: Yes. Every run writes a flat dataset that you can export as CSV, JSON, or XLSX, or pull via the Apify API. One post per row, engagement metrics as columns.
Q: Which tool exports LinkedIn company posts in bulk? A: This Actor accepts a list of company URLs and processes them in a single run - a natural LinkedIn company posts export tool for agencies and analysts tracking many accounts at once.
Q: Is there a free way to scrape LinkedIn company posts? A: Free Apify accounts include a small monthly platform credit that covers a limited number of runs. For sustained scraping, a paid Apify plan is more cost-effective. See the Pricing tab for exact rates.
Q: Can I bulk-export posts from many companies at once? A: Yes. Paste a list of company URLs in the "LinkedIn company URLs" input field. The Actor processes them sequentially, one row per post, so a single run gives you a bulk export across every company in the list.
Q: Does the LinkedIn Company Posts Scraper need cookies or login? A: No LinkedIn login or cookies are required. The Actor reads publicly visible company post feeds. Just paste URLs and click Start.
Q: Can I scrape LinkedIn posts by keyword or hashtag instead of by company? A: Not with this Actor - it scopes to specific company pages. If you need posts across LinkedIn by keyword or hashtag, use the sibling LinkedIn Post Search Scraper - keyword and hashtag. Both Actors output the same flat post schema, so you can combine their results in one CSV.
Q: How does this compare to LinkedIn's native Competitor Analytics? A: LinkedIn's Competitor Analytics is free but restricted: you need to be a Page admin, and it caps at 1 competitor on free Pages, 9 on Premium (with trending posts only for 3). This Actor works from any public company URL, has no per-competitor cap, returns full post text and engagement metrics per row, and does not require Page admin access. Pair the two for maximum coverage: use LinkedIn's native tool for your own Page's follower stats, and this Actor for competitor deep-dives.
Q: Can I exclude reposts and quote-shares to see only original company content? A: Yes. Turn off Include reposts to drop rows where the company reshared someone else's post without adding text. Turn off Include quote posts to drop quote-shares (a repost with an added comment). Both are on by default so you get the full feed the company published; turn them off when you're benchmarking a company's own writing output.
Q: Do I get per-type reaction counts (like, celebrate, support, love, insightful, funny)?
A: Yes. Every row includes a reactions column with a compact string like "LIKE:142, PRAISE:38, EMPATHY:12" - the full per-type breakdown of the post's reactions.
Q: Can I scrape only posts newer than a specific date?
A: Yes. Use Posted after date with an ISO date like 2026-06-01. Only posts on or after that date are returned. It overrides the Posted within window when set.
Q: Can I scrape posts in a specific date range?
A: Yes. Set both Posted after date and Posted before date (e.g. 2026-06-01 and 2026-08-31) to pull posts published inside that window only. The absolute range always wins over the Posted within rolling window - if both are set, the absolute range is used and a warning is logged.
Q: Can I paste just a company handle instead of a full URL?
A: Yes. The LinkedIn company pages field accepts three shapes and treats them equivalently: full URL (https://www.linkedin.com/company/google), partial URL (linkedin.com/company/google), or a bare handle (google). Bare handles auto-expand to https://www.linkedin.com/company/<handle>. Handy for bulk-paste from a spreadsheet column that only stores the slug.
Q: Can I add author headline, industry, and follower count to each row?
A: Yes. Turn on Enrich with author profile and each row gains author_headline, author_industry, author_location, and author_followers columns. Author profiles are looked up once per unique author and cached, so scraping 100 posts by the same author only costs one profile lookup.
Q: What is the author_public_id column?
A: The LinkedIn public identifier for the post's author (the last segment of their URL - e.g. google for a Google post, john-doe for an individual). Useful when joining post data with author data pulled from a separate profile scrape.
Q: A URL failed - where do I see why?
A: The end-of-run status message lists up to 5 failed URLs with the HTTP status that caused the failure (e.g. Failed: https://…/company/example (HTTP 404); …). Every failed URL is also logged during the run and emitted as an error row in the dataset with a type / message / fix block explaining what happened.
Q: How does the Actor handle rate limits and transient errors?
A: Every HarvestAPI call is retried up to 3 times with exponential backoff (1s, 2s, 4s) on 429, 500, 502, 503, 504, and network errors. That covers essentially all transient issues without burning many extra API calls. URLs that still fail after retries are recorded in the run summary rather than crashing the run.
Q: What does 0 mean in the numeric fields?
A: 0 means "no cap - fetch everything available" for How many posts to fetch per company. There is no hard ceiling - whatever positive number you enter is what runs. Set 0 when you want a complete pull; set a specific number when you want to control the size (and cost) of the run.
Q: What metrics should I track when benchmarking LinkedIn content? A: This Actor returns the standard LinkedIn engagement stack per post: likes, comments, shares, and a breakdown of reaction types (LIKE, PRAISE, EMPATHY, INTEREST, APPRECIATION, ENTERTAINMENT). For LinkedIn content benchmarking, the most useful comparisons are per-post engagement rate against a baseline (either your own average or an industry benchmark), reaction-type mix (PRAISE-heavy posts tend to be announcements; EMPATHY-heavy posts tend to be personal or purpose-driven), and posting cadence over time.
🛟 Troubleshooting
If the run finishes but something looks off, work through this list before opening an issue - most fixes are one input tweak.
| Symptom | Likely cause | Fix |
|---|---|---|
| Empty dataset, no errors | Every URL returned no posts (private page, no posts in the date window, or skip_empty_rows on) | Turn off skip_empty_rows to see which URLs returned nothing. Widen date_filter or clear posted_after_date. |
| Row count = number of URLs, not posts | max_posts is set to 1 | Set max_posts to 0 for all posts, or a higher number. |
error.type = company_not_found on a URL that works in a browser | LinkedIn slug in your URL uses a mixed-case or old format; page may have moved | Copy the URL from your browser address bar after the page loads, not from a bookmark. Or use the bare handle: google instead of https://www.linkedin.com/company/google/mycompany. |
error.type = posts_request_failed with HTTP 429 | HarvestAPI rate limit hit | The Actor already retries 3× automatically. If you keep hitting it on huge bulk runs, split the run into smaller batches (~50 URLs each). |
error.type = missing_api_key | The HARVEST_API_KEY environment variable is not set on the Actor | In the Actor Source -> Environment variables, add a secret HARVEST_API_KEY with your HarvestAPI key. See Technical Details below. |
| Charged more than expected | Every URL you sent gets billed at $0.004 / URL processed even when 0 posts came back | Turn on skip_empty_rows if you want to visually skip empty URLs, but the URL charge still applies. The alternative is to pre-filter your URL list before feeding it in. |
| Actor cap message appears at exactly 50 posts | You are on the free Apify plan; the developer-set cap is 50 posts per run | Upgrade any paid Apify plan to remove the cap (APIFY_USER_IS_PAYING = 1). |
Different companies but rows have the same company_url | Case-insensitive dedupe collapsed similar URLs | This is intended: linkedin.com/company/Google and linkedin.com/company/google are the same page. If you want them separate for tracking, pre-normalise your input list yourself. |
| Bare handles do not resolve | Handle contains characters we do not auto-expand (slashes, spaces, ?) | Paste the full URL. Bare handles must be a single slug like openai - no path segments. Also, bare handles always map to /company/ - use the full URL for /school/ or /showcase/ pages. |
Still stuck? Open an issue on the Actor's Issues tab in the Apify console. Include your run ID (from the run URL) and the input JSON.
🔧 Technical Details
- Endpoint: HarvestAPI
/linkedin/company-posts, paginated./linkedin/profileis called only when Enrich with author profile is on. Last verified: 2026-09-06. - Retries: 3 attempts with exponential backoff (1s, 2s, 4s) on
429/500/502/503/504and network errors. Per-URL retry context in log lines. Failed URLs after retries are surfaced in the end-of-run status message rather than crashing the run. - Output: streamed via Apify dataset, one row per post
- Format: JSON, CSV, XLSX, or via Apify API
🖥️ API and CLI usage
Every recipe above can be run headless. Set APIFY_TOKEN to your personal token (Apify Settings -> Integrations -> API tokens).
curl - start a run and wait for the dataset:
export APIFY_TOKEN=apify_api_xxx# Start a runRUN_ID=$(curl -sX POST \"https://api.apify.com/v2/acts/UnseenUser~Company-Posts/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"companyUrls":["google","openai"],"max_posts":100}' \| jq -r '.data.id')# Poll until SUCCEEDEDuntil [ "$(curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | jq -r '.data.status')" = "SUCCEEDED" ]; do sleep 5; done# Fetch flat CSVcurl -sL "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?format=csv&clean=true&token=$APIFY_TOKEN" -o posts.csv
Python - synchronous run, dataset back as a list of dicts:
from apify_client import ApifyClient # pip install apify-clientclient = ApifyClient("apify_api_xxx")run = client.actor("UnseenUser/Company-Posts").call(run_input={"companyUrls": ["google", "openai"],"max_posts": 100,"include_author_profile": True,})rows = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(f"{len(rows)} posts, first author: {rows[0]['author_name']}")
Node.js - same shape:
import { ApifyClient } from 'apify-client'; // npm i apify-clientconst client = new ApifyClient({ token: 'apify_api_xxx' });const run = await client.actor('UnseenUser/Company-Posts').call({companyUrls: ['google', 'openai'],max_posts: 100,include_author_profile: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`${items.length} posts, first author: ${items[0].author_name}`);
The Apify client SDKs handle retries, pagination, and dataset streaming for you. For a fully asynchronous run (start now, poll later), swap .call(...) for .start(...) and check status via .get().
🎥 Demo video
New to Apify? Two short walkthroughs from the Apify channel that pair well with this Actor.
Schedule this Actor to run automatically:
Connect this Actor to your stack (Zapier, Make, webhooks, and more):
📡 Output Reference
Column list last verified: 2026-09-06 (v1.3).
Output Structure
Every row is flat - each field is a top-level column so the Apify dataset viewer renders them as readable columns instead of collapsing nested objects:
{"post_id": "urn:li:activity:7330000000000000000","post_url": "https://www.linkedin.com/posts/google_activity-7330000000000000000","content": "We're excited to announce...","posted_at": "2026-05-20T14:00:00.000Z","posted_ago": "5d","likes": 1240,"comments": 86,"shares": 122,"reactions": "LIKE:980, PRAISE:140, EMPATHY:120","author_name": "Google","author_url": "https://www.linkedin.com/company/google","author_universal_name": "google","author_type": "COMPANY","author_avatar_url": "https://media.licdn.com/...","image_urls": ["https://media.licdn.com/..."],"video_url": null,"article_title": null,"article_url": null,"is_repost": false,"repost_id": null,"reposted_by_name": null,"newsletter_url": null,"newsletter_title": null,"company_url": "https://www.linkedin.com/company/google","post_index": 0,"total_posts_for_company": 50,"scraped_at": "2026-05-25T12:34:56.789Z"}
Submit 1 URL with 100 posts and you get 100 rows. Submit 5 URLs with 20 posts each and you get 100 rows. The Apify dashboard's "results" count always equals the number of posts.
If a URL has zero posts (or the page doesn't exist), a single row is pushed with every post field set to null and a structured error field. Failed URLs also push one such row each.
Error Handling - No Crashes, Just Fix-It Rows
This Actor never throws raw errors. If something is wrong (missing input, missing API key, company page not found, posts request failed), it pushes a single dataset row with a structured error field and exits cleanly. You always get a row you can inspect.
{"post_id": null,"post_url": null,"content": null,"likes": null,"comments": null,"shares": null,"author_name": null,"company_url": "","scraped_at": "2026-05-25T12:34:56.789Z","error": {"type": "missing_input","message": "No LinkedIn company URLs were provided.","fix": "Open the Actor input, paste a LinkedIn company URL into the 'LinkedIn company URLs' field..."}}
(Other fields are omitted from this example for brevity; in practice the row carries every column with null placeholders.)
Possible error.type values:
type | When it happens |
|---|---|
missing_input | No URL was supplied or none of the URLs look like LinkedIn company pages. |
missing_api_key | The HARVEST_API_KEY env var is not set. |
company_not_found | The LinkedIn URL returned 404 from HarvestAPI. |
posts_request_failed | Posts endpoint failed mid-pagination - any pages already fetched are still pushed. |
unexpected | An unforeseen internal error - report via Apify profile. |
Every error row includes a human-readable fix field that tells you exactly what to do next.
Full column reference
Every output row has the columns below. Types are the values you actually get - most nullable columns become null when the underlying LinkedIn data does not include that field.
| Column | Type | When null | Example |
|---|---|---|---|
post_id | string | Empty row for a URL with no posts | "7234891234567890123" |
post_url | string | Empty / error row | "https://www.linkedin.com/posts/google_activity-7234891234567890123-abcd" |
content | string | Post is media-only (no text) | "Introducing Gemini 2.0 - our most capable model yet." |
posted_at | ISO date-time | Rare (LinkedIn omits) | "2026-08-14T09:30:00.000Z" |
posted_ago | string | Rare | "3w" |
likes | number | Zero reactions | 142 |
comments | number | Comments disabled | 18 |
shares | number | LinkedIn hides shares on some posts | 7 |
reactions | string (type:count list) | No reactions | "LIKE:142, PRAISE:38, EMPATHY:12" |
author_name | string | Rare | "Google" |
author_url | string | Rare | "https://www.linkedin.com/company/google" |
author_universal_name | string | Rare | "google" |
author_public_id | string | Extracted from URL; null if URL missing | "google" |
author_type | string | Rare | "COMPANY" |
author_avatar_url | string | Author has no avatar | "https://media.licdn.com/dms/image/..." |
author_headline | string | include_author_profile off | "AI research and products" |
author_industry | string | include_author_profile off | "Software Development" |
author_location | string | include_author_profile off | "Mountain View, California, US" |
author_followers | number | include_author_profile off | 31200000 |
image_urls | array of strings | No images on post | ["https://media.licdn.com/..."] |
video_url | string | No video on post | "https://media.licdn.com/..." |
article_title | string | No linked article | "The AI Index 2026 Report" |
article_url | string | No linked article | "https://blog.google/technology/ai/..." |
is_repost | boolean | Always populated | false |
is_quote_post | boolean | Always populated | true |
repost_id | string | Not a repost | "7234000000000000000" |
reposted_by_name | string | Not a repost | "Google Cloud" |
newsletter_url | string | Post is not a newsletter | "https://www.linkedin.com/newsletters/..." |
newsletter_title | string | Post is not a newsletter | "AI Weekly" |
company_url | string | Always populated | "https://www.linkedin.com/company/google" |
post_index | number | Empty / error row | 0 |
total_posts_for_company | number | Empty / error row | 100 |
scraped_at | ISO date-time | Always populated | "2026-09-06T15:22:03.000Z" |
error.type | enum | No error on this row | "posts_request_failed" |
error.message | string | No error on this row | "Posts endpoint failed on page 2 with HTTP 429: Rate limit exceeded" |
error.fix | string | No error on this row | "Try lowering 'How many posts to fetch per company' or re-run later." |
Column list last verified: 2026-09-06 (v1.3).
📊 Output Schemas
The repo ships these schemas Apify uses to render your output:
.actor/output_schema.json- the Output schema. Declares that this Actor produces a primarydatasetoutput and surfaces a short description users see in the Apify Console..actor/dataset_schema.json- dataset rendering hints. Ships two views: Posts (every column shown as a column, sorted for skim-reading) and Posts with media (focused on images, video, linked articles)..actor/key_value_store_schema.json- documents theINPUTcollection in the default key-value store..actor/input_schema.json- the flat input form described above.
This Actor does not expose a live web server, so no OpenAPI schema is shipped.
Last verified working: 2026-09-06 - schemas match the current build.
🛠️ Maintenance and support
This Actor is actively maintained. Public signals you can check before installing:
- Version:
1.3(see ./CHANGELOG.md for release history) - Last verified working:
2026-09-06(updated monthly and after any HarvestAPI-side change) - Support SLA: issues opened on the Apify store page are answered within 24 hours on business days. Same-day response is typical.
- Open issues:
0at time of publish - API integration: HarvestAPI
/linkedin/company-posts(verified2026-09-06) - How to reach me: open a store-page issue on the Actor's Issues tab, or send a message via the Apify profile at https://apify.com/UnseenUser. Full support policy in ./SUPPORT.md.
- Security reports: please follow the responsible-disclosure policy in ./SECURITY.md.
If a run breaks after a HarvestAPI change, open an issue with the run ID and I'll patch the same business day. Existing saved Tasks and API integrations are protected across releases: no input field key has ever been renamed or removed.
📅 Changelog
Full history in ./CHANGELOG.md. Most recent two releases:
1.3 - 2026-09-06 - Author profile enrichment (include_author_profile toggle, adds author_headline / author_industry / author_location / author_followers columns), author_public_id join column, per-URL failure summary in status message, cost preview on run start, case-insensitive URL dedupe. Retry policy hardcoded at 3 attempts (1s/2s/4s backoff). No field key renamed or removed.
1.2 - 2026-09-06 - 4 new inputs (posted_after_date, posted_before_date, include_quote_posts, include_reposts), date_filter gains Last 2 years / Last 3 years, bare handles accepted (google works alongside full URLs), [NO COOKIES] [NO LOGIN] in title.
🛡️ Apify Actor - Terms of Service
Version: 4.0 Effective Date: May 5, 2026
0. ACCEPTANCE BY USE - IMPORTANT
Read this section first.
These Terms of Service ("Terms") form a binding legal agreement between you ("User," "you," "your") and UnseenUser, the Publisher of this Apify actor ("UnseenUser," "the Publisher," "we," "us," "our").
0.1 How You Accept These Terms
You accept these Terms by any of the following actions, each of which constitutes a clear, affirmative act of acceptance:
- (a) Running the Actor - Initiating any execution of the Actor on the Apify platform
- (b) Using any output returned by the Actor for any purpose
- (c) Continuing to access the Actor's listing or documentation after these Terms are visible
0.2 Continuing Acceptance
Each time you run the Actor or use its outputs, you reaffirm your acceptance of the then-current Terms. If you do not agree to these Terms or any subsequent update, you must stop using the Actor immediately.
0.3 No Anonymous Acceptance
You cannot disclaim acceptance by:
- Failing to read these Terms before running the Actor
- Running the Actor through automated systems
- Sharing your Apify account with others who may not have read these Terms
By the act of running the Actor on Apify, you bind yourself, your organization (if applicable), and any individuals or systems acting on your behalf or under your authority.
0.4 If You Do Not Accept
If you do not agree to these Terms, you must not run the Actor. No use is authorized without acceptance.
PREAMBLE - UNDERSTANDING THE ARCHITECTURE
Before using the Actor, please understand the technical architecture of the service:
The Data Flow
You (User) → Apify Platform → Actor (software) → Third-Party API → Source Platform↓You (User) ← Apify Platform ← Actor (software) ← Third-Party API
What Each Party Does
- You (the User): Run the Actor on the Apify platform with input parameters you choose
- Apify: Operates the cloud infrastructure that hosts and executes Actors. Apify is a Czech-incorporated company (Apify Technologies s.r.o.) governed by its own Terms of Service.
- The Publisher (us): Publishes software code (the Actor) on Apify's platform. The Actor is a thin wrapper that translates your input into requests to a third-party API and returns the API's responses to you. The Publisher does not operate scraping infrastructure. The Publisher does not store or retain data returned by the Actor. The Publisher does not see, log, or process the personal data of any individuals returned in the Actor's outputs beyond what is incidental to passing the data through.
- Third-Party API Provider: HarvestAPI (https://harvest-api.com) or Scrape Creators (https://scrapecreators.com). These are independent third-party companies that operate scraping infrastructure and return data from source platforms.
- Source Platform: LinkedIn, TikTok, YouTube, Reddit, Linktree, etc. These are the platforms whose publicly visible data is accessed by the Third-Party API Providers.
Why This Matters
Your relationship with the Publisher is that of a software user to a software vendor. The Publisher has the responsibilities of a software vendor (functional code, accurate documentation) and the limits of one (the Publisher is not responsible for how you use the data you obtain).
These Terms operate alongside but do not replace:
- Apify's Terms of Service and Acceptable Use Policy (governing your relationship with Apify)
- HarvestAPI Terms of Service and Scrape Creators Terms of Service (governing the underlying data infrastructure)
- Source Platform terms (LinkedIn, TikTok, etc.) governing the public data accessed
- Applicable law in your jurisdiction and the jurisdictions of data subjects
These Terms incorporate the actor-specific addendum published in each Actor's individual listing ("Addendum"). In the event of a conflict, the more restrictive provision applies.
1. NATURE OF THE SERVICE
1.1 What the Actor Is
The Actor is a software program published on the Apify platform. Each Actor:
- (a) Accepts structured input from you on the Apify platform
- (b) Translates that input into HTTP requests to a third-party API operated by HarvestAPI or Scrape Creators
- (c) Receives HTTP responses from that third-party API
- (d) Returns the response data to you in a structured format on the Apify platform
The Actor's source code is hosted on Apify's infrastructure. The Actor runs in Apify's cloud, not on the Publisher's servers. The Publisher operates no servers running the Actor.
1.2 What the Actor Is Not
The Actor is not:
- (a) A scraping tool - the Publisher does not operate scraping infrastructure, proxies, headless browsers, or fake accounts
- (b) A direct connection to any source platform - connections to source platforms are made by HarvestAPI / Scrape Creators
- (c) A data storage or data retention service - the Publisher does not maintain a database of any data the Actor returns
- (d) A licensed access channel to LinkedIn, TikTok, YouTube, Reddit, X (Twitter), Meta, Linktree, or any other source platform
- (e) Affiliated with, endorsed by, sponsored by, or authorized by any source platform
1.3 The Publisher's Limited Role
The Publisher's role is limited to:
- (a) Designing and writing the Actor's source code
- (b) Publishing the Actor on the Apify Store
- (c) Maintaining the Actor (updating it when API providers change schemas)
- (d) Providing documentation and customer support via Apify's contact mechanism
The Publisher is a software vendor, similar to a developer who publishes an app on the Apple App Store or Google Play Store. The Publisher is not a data provider, data broker, data processor, or data controller for purposes of GDPR, CCPA, Israel's Privacy Protection Law, or equivalent.
1.4 The Third-Party API Providers' Role
HarvestAPI (https://harvest-api.com) and Scrape Creators (https://scrapecreators.com) are independent third-party companies. They:
- (a) Operate the actual data scraping infrastructure
- (b) Maintain relationships with source platforms (or accept the operational risk of accessing public data without such relationships)
- (c) Are themselves Apify publishers (HarvestAPI publishes 9+ actors directly; Scrape Creators publishes 10+)
- (d) Provide their own Terms of Service governing their operations
- (e) Are responsible for compliance obligations relating to the data collection itself
The Publisher is a customer of these providers. The Publisher is not their agent, partner, or representative.
2. WHO MAY USE THE ACTOR
2.1 Eligibility
You may use the Actor only if:
- (a) You are at least 18 years old or the age of majority in your jurisdiction
- (b) You have legal capacity to enter into binding contracts
- (c) You are not located in or resident of a country subject to comprehensive sanctions by the United States, European Union, United Kingdom, or Israel
- (d) You are not on any prohibited persons list
2.2 User Representations
By using any Actor, you represent and warrant that:
- (a) Truthful identity: Information you provide about your identity and intended use is accurate
- (b) Lawful intent: Your intended use complies with applicable law in your jurisdiction
- (c) Source platform compliance: You will independently comply with the Terms of Service of any source platform whose data you obtain through the Actor
- (d) Data subject rights: Where Actor outputs include personal data, you will respect data subject rights under applicable law
- (e) No prohibited use: You will not use the Actor for any of the purposes prohibited in Section 4
These representations are continuous - they must remain true throughout your use.
3. PERMITTED USES
The Actor may be used for any lawful purpose, including:
- Market research and competitive analysis
- Academic research
- Journalism and investigative reporting
- Internal business intelligence
- Brand monitoring
- Recruitment research where consistent with applicable employment law
- Building products that further process publicly available information lawfully
Specific permitted uses for this Actor are described in the Addendum below.
4. PROHIBITED USES
You may not use the Actor for any of the following:
4.1 Illegal Activity
Activity illegal under the law of your jurisdiction, the User's jurisdiction, or the jurisdiction of any data subjects.
4.2 Harassment, Stalking, and Personal Targeting
- Compiling profiles for harassment, stalking, or doxxing
- Tracking individuals' movements or activities without their knowledge
- Building profiles of journalists, activists, dissidents, or vulnerable populations for retaliatory purposes
4.3 Discrimination
- Using outputs for discriminatory employment, lending, housing, or insurance decisions based on protected characteristics
- Building lists for discriminatory purposes
4.4 Spam and Unsolicited Commercial Communication
- Sending unsolicited marketing in violation of CAN-SPAM, CASL, GDPR, PECR, Israeli Anti-Spam Law (סעיף 30א לחוק התקשורת), or equivalent laws
- Building "lead lists" from scraped contacts without proper consent infrastructure
- Reselling contact data for spam purposes
4.5 Fraud and Deception
- Identity theft or impersonation
- Generation of fake reviews, testimonials, or coordinated inauthentic behavior
- Election interference or political disinformation
- Securities fraud
4.6 Source Platform Abuse
- Using outputs to circumvent technical protection measures of source platforms
- Creating fake accounts on source platforms based on Actor outputs
- Vote manipulation, engagement manipulation, or platform algorithm gaming
- Building services that competitively substitute for source platforms
4.7 Reselling the Actor's Service
- Reselling raw Actor outputs as your own data product or scraping-as-a-service
- Sharing your Apify credentials to provide third parties indirect access
- Building competing API services using Actor outputs
4.8 AI Training Without Authorization
Using Actor outputs as training data for commercial AI/ML models without separate licensing authority from the source platform.
4.9 Sensitive Targeting
- Specifically targeting or profiling based on health conditions, sexual orientation, religious beliefs, political opinions, or other sensitive characteristics
- Targeting children under 16 (or local age of consent for data processing)
4.10 Privacy Law Violations
- Processing personal data of EU/UK/California/Israeli residents without complying with applicable privacy law
- Failing to honor data subject access, deletion, or objection requests
- Processing data for purposes incompatible with its publication context
5. SOURCE PLATFORM TERMS - YOUR RESPONSIBILITY
5.1 Acknowledgment
The Actor accesses publicly visible data on third-party platforms ("Source Platforms") through the Third-Party API Providers (HarvestAPI / Scrape Creators). Source Platforms include LinkedIn, TikTok, YouTube, Reddit, X (Twitter), Meta/Facebook, Linktree, Komi, Pillar, Linkbio, Linkme, and Amazon.
5.2 Your Sole Responsibility
You acknowledge:
- (a) You are solely responsible for ensuring your downstream use of data obtained through the Actor complies with the Source Platform's Terms of Service
- (b) The Publisher makes no representation that any specific use is permitted under any Source Platform's terms
- (c) The Third-Party API Providers, not the Publisher, bear responsibility for the lawfulness of the data collection itself
- (d) You should review Source Platform terms before commercial use:
- LinkedIn: https://www.linkedin.com/legal/user-agreement
- TikTok: https://www.tiktok.com/legal/page/global/terms-of-service/en
- YouTube: https://www.youtube.com/static?template=terms
- X: https://twitter.com/en/tos
- Reddit: https://www.redditinc.com/policies/user-agreement
- Meta: https://www.facebook.com/legal/terms
- Linktree: https://linktr.ee/s/terms/
5.3 Cease-and-Desist Compliance
If you receive a cease-and-desist letter or other legal demand from a Source Platform regarding your use of Actor outputs, you must:
- (a) Cease the contested use immediately
- (b) Notify UnseenUser within 48 hours via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser)
- (c) Cooperate with the Publisher as needed to mitigate
- (d) Not assert against the Publisher any claim arising from your inability to use the Actor for that Source Platform
6. DATA PROTECTION - REFLECTING ACTUAL ARCHITECTURE
6.1 Roles Under Privacy Law
For purposes of GDPR, UK GDPR, CCPA, Israel's Privacy Protection Law (PPL) including Amendment 13, and equivalents:
- You (the User) are the Data Controller of any personal data you obtain through the Actor and subsequently process for your own purposes
- HarvestAPI and Scrape Creators are the entities that collect data from source platforms - they bear the responsibilities of data processors or controllers (depending on context) for the collection itself
- The Publisher acts solely as a software vendor, not as a data controller or processor, because the Publisher does not store, retain, or substantively process personal data - the Actor merely passes API responses through
6.2 No Data Retention by the Publisher
The Publisher confirms:
- (a) The Publisher does not maintain a database of personal data obtained through the Actor
- (b) The Actor passes data from the Third-Party API directly to you on the Apify platform - data does not flow through the Publisher's infrastructure
- (c) Apify's standard execution and operational logging may include limited information about Actor runs (input parameters, run duration, data volume) - this is governed by Apify's own privacy practices
- (d) The Publisher does not access, view, or analyze your Actor outputs except as needed for technical support if you specifically share them with the Publisher
6.3 Your Obligations as Data Controller
Where your use of the Actor involves processing personal data, you are responsible for:
- (a) Establishing a lawful basis for your processing (consent, legitimate interest with documented balancing test, contract, etc.)
- (b) Providing transparent notice to data subjects as required by applicable law
- (c) Honoring data subject access, rectification, erasure, restriction, and portability requests
- (d) Implementing appropriate security measures
- (e) Conducting Data Protection Impact Assessments where required
- (f) Appointing a Data Protection Officer if your operations require one
- (g) Registering databases with applicable supervisory authorities
- (h) Honoring opt-out requests for direct marketing
- (i) Cross-border transfer safeguards where data crosses borders
6.4 Israel's Amendment 13 - User Compliance
If your use of the Actor involves Israeli residents' personal data, you must comply with the Privacy Protection Law as amended (Amendment 13, effective August 14, 2025). These obligations are yours as the data controller, not the Publisher's as the software vendor.
6.5 Sensitive Data Targeting Restrictions
You will not use the Actor to specifically target, profile, or build datasets focused on:
- Health or medical conditions
- Religious beliefs
- Political opinions
- Sexual orientation or gender identity
- Genetic or biometric data
- Criminal history
- Children under 16
7. INTELLECTUAL PROPERTY
7.1 Actor Code
The Actor's source code, schemas, documentation, and branding are owned by the Publisher. You receive a limited, non-exclusive, non-transferable, revocable license to use the Actor for permitted purposes during your active subscription/run with Apify.
7.2 Output Data
The Publisher claims no ownership over the public data the Actor returns. Source Platforms may have copyright, database rights, or other rights in their data; data subjects may have copyright in user-generated content. Your use of output data must respect these rights independently.
7.3 Restrictions
You may not reverse engineer, decompile, or reuse the Actor's code in a competing actor.
7.4 Feedback
Feedback you provide may be used by the Publisher to improve products without compensation to you.
8. PRICING AND PAYMENT
8.1 Apify Platform Billing
Pricing is administered through Apify's pricing models. Apify processes all payments. Apify's payment terms govern refunds and disputes.
8.2 Pricing Changes
The Publisher may change Actor pricing with at least 14 days' notice via the Actor's Apify listing.
8.3 No Refunds for Misuse
If your access is suspended or terminated for breach of these Terms, you forfeit any unused balance and are not entitled to refunds.
9. SERVICE AVAILABILITY AND CHANGES
9.1 No Uptime Guarantee
The Actor depends on:
- (a) The Apify platform
- (b) Underlying API providers (HarvestAPI, Scrape Creators)
- (c) Source Platforms' continued public accessibility
Any of these may change behavior, restrict access, or become unavailable without notice. The Publisher makes no uptime guarantees.
9.2 Service Discontinuation
The Publisher may discontinue any Actor at any time. Reasonable notice will be provided when feasible.
10. DISCLAIMERS
10.1 "AS IS" Service
THE ACTOR IS PROVIDED "AS IS" AND "AS AVAILABLE" WITHOUT WARRANTIES OF ANY KIND, INCLUDING WARRANTIES OF MERCHANTABILITY, FITNESS FOR PURPOSE, NON-INFRINGEMENT, OR ACCURACY OF DATA.
10.2 No Representation of Lawfulness
The Publisher makes no representation that your specific use of the Actor or the data it returns is lawful in your jurisdiction or under any Source Platform's terms. The burden of determining lawfulness for your use case is yours.
10.3 No Endorsement of Source Content
Content returned by the Actor was created by third parties. The Publisher does not endorse, verify, or take responsibility for it.
11. LIMITATION OF LIABILITY
11.1 Aggregate Liability Cap
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL THE AGGREGATE LIABILITY OF THE PUBLISHER FOR ALL CLAIMS RELATING TO THE ACTOR EXCEED THE GREATER OF:
- (a) ONE HUNDRED U.S. DOLLARS (US $100), OR
- (b) THE AMOUNTS YOU PAID THROUGH APIFY FOR USE OF THE ACTOR IN THE THREE (3) MONTHS IMMEDIATELY PRECEDING THE EVENT
11.2 Excluded Damages
THE PUBLISHER IS NOT LIABLE FOR INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF PROFITS, REVENUE, OR DATA, EVEN IF ADVISED OF THE POSSIBILITY.
11.3 Time Limit
Any claim must be brought within one (1) year of the event.
12. INDEMNIFICATION
12.1 Your Indemnification of the Publisher
You agree to defend, indemnify, and hold harmless the Publisher from any:
- Claims arising from your use of the Actor
- Claims arising from your violation of these Terms
- Claims arising from your violation of any law (including privacy law)
- Claims arising from your violation of any Source Platform's Terms of Service
- Claims arising from your processing of personal data obtained through the Actor
- Reasonable attorneys' fees and costs of defending such claims
12.2 Defense
The Publisher may assume defense at your expense. You will cooperate with the Publisher's defense.
12.3 Scope
The indemnification covers reasonable, foreseeable third-party claims arising from your use. It does not extend to:
- Claims arising from the Publisher's gross negligence or willful misconduct
- Claims regarding the Actor's source code itself (those are the Publisher's responsibility)
- Claims regarding the Third-Party API Provider's data collection (those are their responsibility)
13. SUSPENSION AND TERMINATION
13.1 Termination by the Publisher
The Publisher may terminate your access for material breach, illegal use, breach of warranty, or upon credible legal demand.
13.2 Effects of Termination
Your license ends, you must cease use, and applicable provisions survive.
13.3 Termination by You
You may stop using the Actor at any time on Apify.
14. DISPUTE RESOLUTION
14.1 Informal Resolution First
Send a detailed written description of the dispute via UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) and wait 60 days for resolution attempt before any formal claim.
14.2 Governing Law
These Terms are governed by the substantive laws of the State of Israel, without regard to conflict of law principles.
14.3 Exclusive Jurisdiction
Any dispute shall be brought exclusively in the competent civil courts of Tel Aviv-Jaffa, Israel.
14.4 No Class Actions
You agree to bring claims only in your individual capacity.
14.5 Attorneys' Fees
The prevailing party recovers reasonable attorneys' fees.
15. MISCELLANEOUS
- 15.1 Entire Agreement - These Terms (with Addendum and incorporated documents) are the entire agreement.
- 15.2 Severability - Unenforceable provisions are reformed to the minimum extent or severed.
- 15.3 Assignment - You may not assign without the Publisher's consent. The Publisher may assign to affiliates, successors, or acquirers.
- 15.4 Force Majeure - Neither party is liable for failure due to events beyond reasonable control, including changes by Source Platforms or Third-Party API Providers, or actions by Apify.
- 15.5 Third-Party Beneficiaries - Apify, HarvestAPI, and Scrape Creators are intended third-party beneficiaries of Sections 4 (Prohibited Uses), 5 (Source Platform Compliance), and 12 (Indemnification).
- 15.6 Survival - Sections 0 (Acceptance), 4, 5, 6, 7, 10, 11, 12, 14, and 15 survive termination.
- 15.7 Language - English controls. Translations are for convenience only.
- 15.8 Publisher Identification for Legal Process - The Publisher operates on the Apify platform under the username UnseenUser (https://apify.com/UnseenUser). The Publisher is a registered legal entity. Upon receipt of valid legal process (subpoena, court order, or equivalent) directed through Apify's official channels, the Publisher's full legal identity may be disclosed as required by law.
16. ACKNOWLEDGMENT
By using any Actor, you acknowledge that:
- (a) You have read these Terms
- (b) You understand the architecture: you are using software (the Actor) on Apify's platform that calls third-party APIs
- (c) You accept responsibility for your use, including for compliance with Source Platform terms
- (d) Your indemnification obligations cover third-party claims arising from your use
- (e) Disputes are resolved in Israeli courts
- (f) The Publisher's identity, while not publicly disclosed in this listing, can be obtained through valid legal process via Apify
For questions, use UnseenUser's Apify profile contact form (https://apify.com/UnseenUser) before running the Actor.
🛡️ Actor-Specific ToS Addendum - 🏢 LinkedIn Company + Posts Scraper
This addendum supplements the Master Terms of Service V4.0 above. By running this Actor, you accept both the Master ToS and this addendum.
A. Architectural Disclosure
This Actor is a software wrapper. It accepts your input parameters, calls TWO HarvestAPI endpoints in sequence (/linkedin/company + /linkedin/company-posts), combines the results into a structured output, and returns the combined data to you on the Apify platform. UnseenUser does not store, log, or substantively process the data returned. The data flows from HarvestAPI through Apify's runtime directly to you.
B. Nature of Data Returned
This Actor returns: Full LinkedIn company profile (name, tagline, website, founded date, employee count, follower count, headquarter, industries, specialities, funding data from Crunchbase) + all company posts (text, images, video URLs, articles, polls, reposts, engagement metrics with reaction breakdowns).
Where the Actor's output includes individual people's names, photos, contact details, or content authored by them, that data constitutes personal data subject to GDPR, CCPA, Israeli Privacy Protection Law, and equivalent privacy laws in your downstream processing - but only in your hands as the data controller, not in UnseenUser's hands as the software vendor.
C. Permitted Use Cases
You may use this Actor for the following purposes (non-exhaustive list):
- Account-based research - get one CSV row per target account with profile + recent posts
- Competitive monitoring - track competitor company info changes alongside posting activity
- Sales enablement - equip reps with full company profile + their latest LinkedIn content before calls
- Investor due diligence - research a target company's public positioning, headcount, funding, and content cadence
- Content marketing benchmarking - see what topics industry leaders post about and how often
- Lead enrichment - enrich CRM accounts with the deepest available LinkedIn data per company
- Brand monitoring - detect mentions, tone shifts, or crisis posts on competitor pages
D. Specifically Prohibited Uses
In addition to Master ToS Section 4 prohibitions, you may NOT:
- Republish full posts in commercial products that compete with LinkedIn
- Use post content to train commercial AI/LLMs without complying with LinkedIn's data use terms - LinkedIn's User Agreement explicitly restricts this
- Build engagement-bait systems that copy successful post patterns and impersonate companies
- Mass-DM employees of scraped companies without complying with anti-spam laws
- Resell company funding data as a substitute for Crunchbase, PitchBook, or similar paid services
- Aggregate this data with personal data to build comprehensive 'company intelligence dossiers' covering named employees
- Use post sentiment to short-sell or short-trade against companies based on automated content analysis (market manipulation exposure)
E. Platform Terms of Service Considerations
LinkedIn has actively litigated against profile/company scrapers (LinkedIn v. Proxycurl 2025, LinkedIn v. ProAPIs 2025-2026, hiQ Labs v. LinkedIn). LinkedIn's User Agreement explicitly prohibits automated extraction. This Actor accesses publicly visible LinkedIn company data via HarvestAPI - HarvestAPI bears responsibility for the lawfulness of the data collection. Your downstream use must independently comply with LinkedIn's Terms of Service. If LinkedIn issues a cease-and-desist regarding data obtained via this Actor, notify UnseenUser within 48 hours via the Apify profile contact form (https://apify.com/UnseenUser).
F. Combined-Endpoint Data Sensitivity
This Actor combines two endpoints in one run. The combination yields data that is MORE sensitive than either endpoint alone:
- Company profile alone: low sensitivity (factual business info)
- Posts alone: medium sensitivity (creator copyright, employee personal data in some posts)
- Combined: enables building a complete "company intelligence dossier" with structured profile + behavioral content data
This combined view is the kind of dataset that LinkedIn specifically targets in their lawsuits. Use the combined output thoughtfully:
- Don't sell the combined dataset as a product
- Don't build a "LinkedIn replacement" with this data
- Use it for your own internal research/enrichment
G. Post Author Copyright
Each post is copyrighted by its author (the company or the individual posting on behalf of the company). You may use posts for:
- Analysis and research (typically fair use)
- Quotation with attribution (typically fair use)
- Aggregated metrics (no copyright issue - facts aren't copyrightable)
You may NOT:
- Republish full posts in commercial products without licensing
- Use posts to train commercial AI without proper licensing
- Translate and republish without authorization
- Build a "LinkedIn posts search engine" using this data
H. Crunchbase Funding Data
The company profile includes funding data sourced from Crunchbase via LinkedIn. This is:
- Generally factual public information
- Subject to Crunchbase's terms of service indirectly
- Not authoritative - verify with official sources for material decisions
- May lag behind real-time announcements
If you redistribute this funding data, attribute the original source (Crunchbase) where possible.
I. Employee Personal Data in Posts
Company posts often include:
- Names and photos of employees
- Job announcements with new-hire info
- Bereavement, illness, layoff disclosures
- Celebrity employee mentions
Treat these as personal data in your downstream processing. Do not use sensitive disclosures (layoffs, illness, bereavement) to identify vulnerable people for commercial targeting - this is explicitly prohibited under Section 4 of the Master ToS.
J. Content Freshness
The two endpoints have different freshness characteristics:
/linkedin/companydata is relatively stable (changes when companies update their pages)/linkedin/company-postsdata is real-time (changes constantly)
When you store the combined output, timestamp BOTH parts separately. Treating outdated profile data as current can lead to material business decisions based on stale information.
Related scrapers
Build a complete LinkedIn intelligence stack:
- LinkedIn Company Scraper Pro - bulk company data - company profile, employee count, industries, funding. Natural pair with this posts scraper.
- LinkedIn Post Search Scraper - keyword and hashtag - discover posts across all of LinkedIn by keyword or hashtag, not just from company pages.
- LinkedIn Profile Scraper + Email Enrichment - enrich the people posting at these companies with contact data.
- LinkedIn Jobs Scraper - active hiring signals - see who a target company is hiring (intent + growth signal).
- LinkedIn Post Comment & Reaction Extractor (no cookies) - drill into any post's comments and reaction breakdown.
See all scrapers by unseenuser
Keywords
linkedin company posts scraper, linkedin company data api, scrape linkedin company, linkedin company intel, linkedin firmographics api, linkedin company posts, linkedin abm tool, company content monitoring, b2b research automation
Example tasks
Curated, paste-and-run examples of this Actor. Each link below is a public task page on Apify with the exact input prefilled.
- Track a competitor's LinkedIn posts (no login) - paste one URL, get every post a target company has shared.
- Get this week's LinkedIn posts from any company - weekly competitor digests in one click.
- Bulk scrape LinkedIn posts from multiple companies - one CSV covering many competitors at once.
- Catch a company's latest LinkedIn posts (last 24 hours) - pair with Apify scheduling for daily alerts.
- Export every LinkedIn post a company has ever published - full archive for brand and content audits.
- Benchmark SaaS company LinkedIn content (top accounts) - compare posting cadence and engagement across top SaaS accounts.