# LinkedIn Groups Scraper - Members, Admins & Posts \[No Login] ✅ (`unseenuser/linkedin-groups-scraper`) Actor

Search LinkedIn Groups by keyword and get full profiles with admins, plus extract group posts and their active-poster authors as a ready-to-enrich member list. No login, no cookies. 4 modes cover discovery, targeted fetch, and posts. Time filter up to 5 years back. 0.20% failure rate.

- **URL**: https://apify.com/unseenuser/linkedin-groups-scraper.md
- **Developed by:** [Unseen User](https://apify.com/unseenuser) (community)
- **Categories:** Automation, Lead generation, Social media
- **Features:** Limited permissions
- **Stats:** 350 total users, 73 monthly users, 100.0% runs succeeded, 5 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $4.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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 Groups API - Scrape Members, Admins & Posts (3-in-1, No Login)

**The only LinkedIn Groups all-in-one scraper.** Group profiles with admins, search by keyword, group post extraction. 2M+ groups untapped.

Think of it as the **LinkedIn Groups API** you wish LinkedIn published: authenticated endpoints, retries, pagination, and rate limiting handled for you.

> 💡 **Group members > generic search results** - they self-select for niche interest, making them warmer leads.

LinkedIn Groups are the **most underexploited B2B data source on the platform**. 2M+ professional groups, niche industries gathered by topic, decision-makers concentrated in single-purpose communities - yet no other Apify actor covers all 3 group operations. **This is your moat.**

> Built on a stable LinkedIn Group API so you can **scrape LinkedIn group** data - group profiles, admin profiles, group posts, **linkedin community data** - without juggling cookies, captchas, or login sessions. A purpose-built **professional networks scraper** for **niche B2B leads** and **B2B prospecting niche** workflows.

***

### Free plan limit

Free Apify users get up to **5 results per run**. Paying users are not affected and receive results normally.

This limit was set by the Actor developer, not by Apify. To remove it and receive unlimited results, upgrade to any paid Apify plan: https://apify.com/pricing

When a free plan run hits the cap, the Actor finishes successfully (status `SUCCEEDED`) and the run's status message explains what happened. No error is raised, so the first 5 results are fully usable as normal.

***

### ⚡ Why This Actor?

- **3 modes in 1** - Group profile fetch, group search, group post extraction
- **Admin profiles included** - Group profile mode returns admin names, photos, headlines
- **2M+ groups accessible**
- **Niche-targeted intelligence** - most professionals join 5-15 groups
- **No login required**

***

### 🌟 Why Groups Matter

- **2M+ groups on LinkedIn** - most professionals join between 5 and 15
- **Niche audiences self-segmented** by interest and industry
- Active groups have **only 1-3% spam rate** thanks to moderation
- **Group admins = warm intro paths** - they are influential community leaders

***

### 🎯 Use Cases

1. **Community Intelligence** - find groups in your niche, audit member counts and activity levels.
2. **Targeted B2B Outreach** - find decision-makers active in industry groups; warm intro paths via admins.
3. **Content Distribution Research** - discover which groups your competitors post in.
4. **Group Admin Lead-Gen** - admins are typically influential community leaders; pipe them into a profile-enrichment workflow.
5. **Niche Market Sizing**
6. **Conference / Event Sourcing**
7. **Export LinkedIn Group Members for CRM import** - dedupe admins + active posters by URL, pipe them into email enrichment, load a warm list into HubSpot, Apollo, or Salesforce ready for sequencing.
8. **B2B prospecting from LinkedIn Groups** at scale - self-selected niche communities beat generic title search 10x, and this Actor is the LinkedIn Group members scraper + LinkedIn Group admins scraper + LinkedIn Group posts scraper in one input schema.
9. **LinkedIn community data for market research** - map how many groups exist per vertical, how big they are, how active they are, which admins recur across communities (admin overlap detection built in).
10. **LinkedIn Groups lead generation for niche verticals** - a Fintech RevOps community of 800 self-selected engineers is worth more than 80,000 generic 'engineer' search hits.

#### 🎯 Concrete example - RevOps

> If you sell to RevOps leaders, scrape **linkedin group members** signals (admins + active posters) of the *RevOps Co-op* group instead of LinkedIn search for "RevOps" - **10x stronger signal**. Self-selected community membership filters out the noise that a generic title search produces.

This same pattern works for any niche: *"DevTools Founders Club"* beats a search for *"founder"*; *"FP\&A Today"* beats a search for *"FP\&A"*; *"PLG Collective"* beats a search for *"product-led growth"*.

***

### 🔗 Lead-Gen Pipeline

The Groups Scraper is the **discovery layer** of a 4-stage pipeline. Each stage hands off to the next:

```
┌──────────────────────┐    ┌────────────────────────┐    ┌──────────────────────┐    ┌──────────────────────┐
│  LinkedIn Groups     │ →  │  Profile Extractor     │ →  │  Email Enrichment    │ →  │  CRM / Outreach      │
│  Scraper (this Actor)│    │  & Enricher            │    │  (provider of choice)│    │  (HubSpot, Apollo,   │
│                      │    │                        │    │                      │    │   Salesforce, etc.)  │
│  • find groups       │    │  • full profile        │    │  • verified email    │    │  • sequenced send    │
│  • get admins        │    │  • work history        │    │  • deliverability    │    │  • reply detection   │
│  • surface posters   │    │  • skills, education   │    │                      │    │  • CRM sync          │
└──────────────────────┘    └────────────────────────┘    └──────────────────────┘    └──────────────────────┘
```

**One workflow, four layers** - discovery, enrichment, email lookup, outreach.

***

### 🚀 Quick Start

#### Mode: `get_group` - Group Profile + Admins

```json
{
  "mode": "get_group",
  "groupInputs": [
    "https://www.linkedin.com/groups/1898033/",
    "1898033"
  ]
}
```

#### Mode: `search_groups` - Find Groups by Keyword

```json
{
  "mode": "search_groups",
  "searchKeywords": "Sales Operations",
  "maxResults": 100
}
```

#### Mode: `group_posts` - Posts from Specific Groups

```json
{
  "mode": "group_posts",
  "groups": ["1898033"],
  "postedLimit": "week",
  "sortBy": "relevance",
  "maxPostsPerGroup": 50
}
```

#### Mode: `search_and_get` - Search + Auto-Enrich Top Results

```json
{
  "mode": "search_and_get",
  "searchKeywords": "fintech",
  "maxResults": 25
}
```

***

### ⚙️ Modes

| Mode             | Purpose                                    |
| ---------------- | ------------------------------------------ |
| `get_group`      | Full group profile + admins                |
| `search_groups`  | Find groups by keyword                     |
| `group_posts`    | Posts from specific groups                 |
| `search_and_get` | Search + auto-enrich top results (combined)|

***

### 🔄 Recommended Workflow

1. **Search Groups** by keyword (lightweight discovery).
2. **Get Group** on each promising result (rich data, admin profiles).
3. For high-value groups, **scrape posts** (engagement signals).
4. *(Optional)* Pipe admin profiles to a Profile Extractor actor for full enrichment, or use a Sales Navigator actor to find members of specific groups.

***

### 📺 Demo videos

New to Apify? Schedule this actor to run automatically:

https://www.youtube.com/watch?v=GRFW_Loo2dk

Connect this actor to your stack (Zapier, Make, Airtable, and more):

https://www.youtube.com/watch?v=bNACk1_S_6w

***

### 🧪 Sample Output - Member-Like Profile List

Here's what you get from one **Get Group** call. Admins + active posters give you a real list of profile URLs you can hand straight to enrichment:

```json
{
  "id": "1898033",
  "name": "Sales Best Practices",
  "linkedinUrl": "https://www.linkedin.com/groups/1898033/",
  "memberCount": 287430,
  "publicVisibility": true,
  "admins": {
    "totalCount": 6,
    "text": "Pat McAfee + 5 others",
    "profiles": [
      {
        "linkedinUrl": "https://www.linkedin.com/in/patmcafee",
        "firstName": "Pat",
        "lastName": "McAfee",
        "headline": "VP Revenue Operations · Acme Corp"
      },
      {
        "linkedinUrl": "https://www.linkedin.com/in/janedoe-revops",
        "firstName": "Jane",
        "lastName": "Doe",
        "headline": "Head of RevOps · Beta Inc"
      },
      {
        "linkedinUrl": "https://www.linkedin.com/in/john-smith-ops",
        "firstName": "John",
        "lastName": "Smith",
        "headline": "Director, Sales Operations · Gamma LLC"
      }
    ]
  }
}
```

Pair this with **Group Posts** mode and the post `author.linkedinUrl` field gives you another wave of high-engagement community members. Concatenate both lists, dedupe, and send to your enricher.

***

### ❓ FAQ

**Q: Which groups are accessible?**
A: Any group whose listing page is publicly reachable on LinkedIn - that's effectively every group surfaced by LinkedIn's own search. **Public groups** return the richest payload (description, rules, hero image, full admin list, post stream). **Closed/standard groups** return the public-facing metadata that LinkedIn shows to non-members (name, summary, member count, admins, sometimes hero image).

**Q: Can I get the full member list of a group?**
A: **No - and you should be suspicious of anyone who says otherwise.** LinkedIn deliberately does not expose group member rosters via its website, app, or APIs - not even to admins of the group itself. No scraper, login session, or "premium" service can return them at scale.

**What the Actor *does* return is the legitimate proxy that LinkedIn does expose:**

| Signal              | Channel                                              | Captured by              | Cost     |
| ------------------- | ---------------------------------------------------- | ------------------------ | -------- |
| `memberSignal=admin`  | LinkedIn lists admins on every public group page     | `get_group`, `search_and_get` | Included in group profile fetch |
| `memberSignal=poster` | LinkedIn shows public posts and their authors         | `group_posts`             | Included in post scrape         |

Each unique person identified shows up as a `_type=member` row in the dataset, deduped per group, with their `linkedinUrl`, `fullName`, `headline`, and a back-link to the group via `groupId` / `groupName` - ready to push into a profile-enrichment workflow.

In practice, **admins + active posters cover the most-engaged 5-15% of any community** - the slice that matters most for B2B outreach. The 85-95% lurkers are unreachable by *anyone*, including LinkedIn Sales Navigator users.

**Recipe - build a comprehensive activated-member list for a group:**

1. Run `get_group` on the group → get all admin members (`memberSignal=admin`).
2. Run `group_posts` on the same group with `maxPostsPerGroup=200`, `sortBy=date` → get every unique recent poster (`memberSignal=poster`).
3. Filter the dataset to `_type=member`, deduplicate on `linkedinUrl`.
4. Pipe the URL column to the [LinkedIn Profile Scraper + Email Enrichment](https://apify.com/unseenuser/LinkedIn-Profile) for full profiles + emails.

**Q: Public vs. private groups - what changes?**
A:

| Field                         | Public group | Closed/standard group | Members-only group |
| ----------------------------- | ------------ | --------------------- | ------------------ |
| Name, summary, member count   | ✅           | ✅                    | ✅                 |
| Description / rules           | ✅           | ✅                    | partial            |
| Logo / hero image             | ✅           | ✅                    | ✅                 |
| Admin profiles                | ✅           | ✅                    | ✅                 |
| Group posts (`group_posts`)   | ✅           | partial               | ❌                 |

**Q: Member privacy considerations?**
A: Admin profiles and post-author profiles are **personal data** under GDPR / CCPA / Israel's PPL. Three rules of thumb:

1. **Lawful basis**: have one (legitimate interest with a balancing test, or contract). Cold B2B outreach in line with your jurisdiction's anti-spam law usually qualifies; mass marketing without consent does not.
2. **Transparency**: include a clear notice on first contact (where you got their info, why you're reaching out, how to opt out).
3. **DSR-ready**: be able to delete a person's record on request within statutory deadlines (GDPR: 1 month; CCPA: 45 days; Israel Amendment 13: 30 days).
   The full data-protection clause is in the **Master ToS § 6** below - read it before pushing data into a CRM.

**Q: GDPR - am I clear to use this for EU prospects?**
A: GDPR doesn't ban scraping public data, but it governs what you do *next*. Acceptable: time-limited research, account-based marketing with documented legitimate interest, journalism. Not acceptable: building a sellable database of EU contacts, mass-mailing without an opt-out, processing children's data, profiling on sensitive attributes (health, politics, religion). When in doubt, treat the LinkedIn URL as you would a phone number - public, but regulated in how you use it.

**Q: What's the difference between numeric and alphanumeric group IDs?**
A: LinkedIn uses numeric group IDs in URLs (e.g. `/groups/1898033/`). Some legacy URN formats exist but the numeric ID is the canonical identifier. The Actor auto-detects both.

**Q: Why do you use the post-search endpoint for group posts?**
A: Architectural quirk on the API provider side - group posts are exposed as a filter on the post-search endpoint rather than a dedicated `/group-posts` endpoint. The Actor handles this transparently.

**Q: Is this Actor affiliated with LinkedIn?**
A: No. Not affiliated, endorsed, sponsored, or authorized by LinkedIn.

**Q: Is the LinkedIn Groups API still available to developers in 2026?**
A: No. LinkedIn deprecated the public Groups endpoints around 2015 for standard developer applications. The Groups endpoints in the current v2 REST API are gated behind partner approval that is effectively closed. This Actor is the practical workaround: it returns the same public data LinkedIn shows to any non-logged-in visitor, structured as a clean dataset, no auth on your side beyond an Apify account.

**Q: Will LinkedIn ban my account for using this Actor?**
A: Your LinkedIn account is not used by this Actor at any point. There is no cookie, no session token, no OAuth handshake, no "log in with LinkedIn" step. The Actor pulls public data through a third-party API that does not touch your account. What LinkedIn's User Agreement prohibits is scraping from within your own logged-in session, which is a different technical path this Actor deliberately avoids. Read the Master ToS section 5 below for the full source-platform responsibility split.

**Q: Can I export LinkedIn Group members to Excel or CSV?**
A: Yes. Every run writes to a standard Apify Dataset, which exports to CSV, Excel (XLSX), JSON, JSONL, XML, RSS, and HTML directly from the run page (Storage → Dataset → Export). Filter by `_type=member` to get one row per person, then dedupe by `linkedinUrl` for a clean CRM-ready list. See the ready-made task `lig-export-group-members-csv` for a one-click example.

**Q: How can I search LinkedIn Groups by keyword?**
A: Two modes handle this. Use `search_groups` for keyword discovery (returns a list of matching groups with IDs, names, member counts, no admin enrichment). Use `search_and_get` for keyword search PLUS full profile + admin fetch per hit in one run. See the ready-made task `lig-find-groups-by-keyword` for a demonstration.

***

### 📦 Output - Where Your Data Lives

The Actor writes to **three Apify storages**. You can browse all of them from the run page.

#### 1. Datasets - one default + four named, single-shape ones

**The Actor writes to five datasets in parallel.** Pick whichever is easiest to consume:

| Dataset                 | Rows                                                                     | Best for                                            |
| ----------------------- | ------------------------------------------------------------------------ | --------------------------------------------------- |
| **default**             | Every `group`, `group_short`, `post`, and `diagnostic` row from the run. **Members are NOT here** - they're isolated to their own dataset. | One-shot export of the main output                  |
| **`groups`** (named)    | Only `_type=group` and `_type=group_short`                              | Group profiles + discovery results                  |
| **`members`** (named)   | Only `_type=member` (admins + posters)  ← **this is where members live** | **Lead-gen - pipe `linkedinUrl` to enrichment**     |
| **`posts`** (named)     | Only `_type=post`                                                        | Content / engagement research                       |
| **`diagnostics`** (named) | Only `_type=diagnostic`                                                | What needs your attention                           |

> **Where are the members?** They are *always* in the named **`members`** dataset, never mixed into the default dataset. On the run page, open **Storage** and click the **`members`** dataset to see one row per admin and active poster, with `fullName`, `linkedinUrl`, `headline`, and a back-link to the group.

> **Don't want member extraction?** Flip the `extractMembers` input toggle off - the `members` dataset stays empty.

> **About the views on the default dataset:** Apify dataset *views* (Groups Overview, Group Posts Overview, Diagnostics) project columns, **they do not filter rows**. So if you run "Scrape Posts from Groups" and click "Groups - Overview", you'll see post rows with empty group columns - that's expected. For clean, single-shape tables, use the named datasets above.

#### 2. Default dataset shape - mixed rows by `_type`

Every dataset row carries a **`_type` field** so you can filter or pivot downstream. The Actor emits multiple row shapes from a single run:

| `_type`        | When emitted                          | Use it for                                                       |
| -------------- | ------------------------------------- | ---------------------------------------------------------------- |
| `group`        | `get_group`, `search_and_get`         | Full group profile + admin summary fields                        |
| `group_short`  | `search_groups`                       | Lightweight discovery results                                    |
| **`member`**   | `get_group`, `search_and_get`, `group_posts` | **One row per person identified in the group** - with a `memberSignal` field of `admin` or `poster`. Ready for profile enrichment / CRM. |
| `post`         | `group_posts`                         | Each post with `authorLinkedinUrl`, `authorName`, `authorHeadline` surfaced |
| `diagnostic`   | When something needs your attention   | Structured note with a `fix` field                               |

> **Why this matters:** LinkedIn does not publish full member rosters. The Actor surfaces the legitimate proxy LinkedIn *does* expose - admins (always) and public posters - as `_type=member` rows so you can filter the dataset to a single column and get every person we've identified in each group, ready to enrich.

The dataset has **four pre-built views** so you don't have to wrangle JSON:

| View                                 | Best for                                                                          |
| ------------------------------------ | --------------------------------------------------------------------------------- |
| **Groups - Overview**                | Browsing groups by size, public/private, member count, **top admin**              |
| **Group Members (one row each)**     | Lead-gen - every admin and active poster as its own row, dedupliated per group, with full name + LinkedIn URL + headline + `memberSignal` |
| **Group Posts - Overview**           | Engagement / content research, with **author** surfaced as flat fields            |
| **Diagnostics**                      | Any notes the Actor emitted instead of failing the run                            |

Switch views using the **View** dropdown above the dataset table on the run page. Export any view as CSV / Excel / JSON / API endpoint.

The **output schema** itself (full JSON Schema for each item shape) is published at `.actor/dataset_schema.json` and is what powers the **Output** tab on the Apify Store listing - so callers know exactly what fields to expect, with types, descriptions, and labels, before they run the Actor. Three shapes are documented via `oneOf`:

| Mode                            | Output shape  | Documented in `definitions.` |
| ------------------------------- | ------------- | ---------------------------- |
| `get_group`, `search_and_get`   | `Group`       | `Group`                      |
| `search_groups`                 | `GroupShort`  | `GroupShort`                 |
| `group_posts`                   | `PostShort`   | `PostShort`                  |

#### 2. Key-Value Store (run-level artifacts)

Three named collections - each is a single JSON record per run:

| Key              | What's inside                                                                          |
| ---------------- | -------------------------------------------------------------------------------------- |
| `RUN_SUMMARY`    | `{ mode, groupsRequested, groupsFetched, groupsSearched, postsScraped, errorsCount, durationSeconds, startedAt, finishedAt }` |
| `INPUT_SNAPSHOT` | A copy of the input you ran with - for audit & reproducibility                          |
| `ERRORS`         | List of structured error entries (only present if at least one error occurred)         |

Open them from **Run page → Storage → Key-value store**.

#### 3. Live-view HTTP endpoints (while the Actor runs)

The Actor's container exposes a small read-only HTTP API at `https://<runId>.runs.apify.net`:

| Method & path | Returns                                                  |
| ------------- | -------------------------------------------------------- |
| `GET /health` | `{ status: "ok", uptimeSeconds }` - for uptime checks    |
| `GET /status` | Live counters: mode, phase, groupsScraped, postsScraped  |
| `GET /summary`| Final-or-partial summary (same shape as `RUN_SUMMARY`)   |

The full spec is published as **OpenAPI v3** at `.actor/openapi.json` - Apify renders it in the **Live view → API** tab so you can try requests right from the browser.

***

### 🧱 Output - Object Schemas

#### `get_group` → full `Group` object

```json
{
  "id": "1898033",
  "linkedinUrl": "https://www.linkedin.com/groups/1898033/",
  "name": "Sales Best Practices",
  "memberCount": 1234567,
  "logo": { "url": "...", "width": 200, "height": 200, "expiresAt": 1759999999 },
  "heroImage": { "url": "...", "width": 1400, "height": 425, "expiresAt": 1759999999 },
  "description": "...",
  "rules": "...",
  "createdAt": { "date": "2010-01-01T00:00:00Z", "timestamp": 1262304000 },
  "groupPlusStatusActive": false,
  "postApprovalEnabled": true,
  "invitationLevel": "members_only",
  "welcomeNote": "...",
  "automatedWelcomeNoteEnabled": true,
  "publicVisibility": true,
  "admins": {
    "totalCount": 6,
    "text": "Pat McAfee + 5 others",
    "profiles": [
      { "id": "...", "linkedinUrl": "...", "firstName": "Pat", "lastName": "McAfee", "headline": "...", "picture": "..." }
    ]
  },
  "scrapedAt": "2026-05-05T12:00:00.000Z"
}
```

#### `search_groups` → `GroupShort`

```json
{
  "id": "1898033",
  "linkedinUrl": "https://www.linkedin.com/groups/1898033/",
  "name": "Sales Best Practices",
  "members": "1,234,567 members",
  "membersCount": 1234567,
  "summary": "...",
  "picture": "...",
  "primaryActions": [{ "label": "Join", "value": "..." }],
  "scrapedAt": "2026-05-05T12:00:00.000Z"
}
```

#### `group_posts` → `PostShort`

Same schema as company-posts / search-posts / user-posts. Each post is augmented with `groupId`, `groupName`, and `scrapedAt`.

***

### 🔗 Related scrapers

Complete the lead-gen pipeline:

- **[LinkedIn Profile Scraper + Email Enrichment](https://apify.com/unseenuser/LinkedIn-Profile)** - enrich the group members with verified emails
- **[LinkedIn Company Scraper Pro](https://apify.com/unseenuser/LinkedIn-Company-Scraper)** - research the companies they work at
- **[LinkedIn Post Search Scraper](https://apify.com/unseenuser/LinkedIn-Post-Seach-Scraper)** - find what topics they care about
- **[LinkedIn User Comments Scraper](https://apify.com/unseenuser/LinkedIn-user-comments)** - pull the comment history of any admin or active poster you found here
- **[LinkedIn Jobs Scraper](https://apify.com/unseenuser/LinkedIn-Jobs-Scraper)** - find open roles at the companies where group members work

[See all 16 scrapers by unseenuser →](https://apify.com/unseenuser)

***

### Example tasks

Ready-to-run examples for the most common use cases. Each links to a published task page on the Apify Store.

- [Find RevOps Decision-Makers in LinkedIn Groups](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-find-revops-leaders) - discover Revenue Operations communities and pull each group's admins + active posters as a warm B2B list.
- [Discover Fintech LinkedIn Groups + Members List](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-fintech-groups-with-members) - find Fintech communities on LinkedIn and extract admin and active-member profiles per group.
- [Find Generative AI Professional Groups on LinkedIn](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-genai-communities) - locate LinkedIn groups focused on Generative AI, LLMs, and AI engineering with their leadership.
- [Find B2B SaaS Marketing Leaders via LinkedIn Groups](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-b2b-saas-marketing-leads) - surface B2B SaaS and product marketing communities and the people active in them.
- [Scrape LinkedIn Group Posts and Active Members](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-group-posts-and-members) - pull recent posts from any LinkedIn group plus the active members who posted them.
- [Extract LinkedIn Group Admin Contacts in Bulk](https://apify.com/unseenuser/LinkedIn-Groups-Scraper/examples/lig-extract-group-admins) - hand in a list of group URLs or IDs and get one row per admin profile, ready for email enrichment.

***

### 📊 How this compares to other LinkedIn group scrapers

| Feature                                                         | This Actor | Typical no-login competitor | Login-required competitor |
| --------------------------------------------------------------- | :--------: | :-------------------------: | :-----------------------: |
| Search LinkedIn groups by keyword                               |     ✅     |             ✅              |             ❌            |
| Fetch a specific group by URL or numeric ID                     |     ✅     |             ✅              |             ❌            |
| Full group profile - hero image, rules, `createdAt`, invitation level, public visibility |     ✅     |             ❌              |             ❌            |
| Admin profiles (name, URL, headline, picture)                   |     ✅     |             ✅              |             ❌            |
| Group posts with author + engagement (`likes`, `comments`, `shares`, `reactions[]`) |     ✅     |         partial (some)      |             ❌            |
| **Active-poster members proxy** - one member row per unique group poster |     ✅     |             ❌              |             ❌            |
| Real member roster (via LinkedIn session cookies)               |     ❌     |             ❌              |   ✅ (needs your LinkedIn login) |
| Time window filter (past hour → past 5 years)                   |     ✅     |             ❌              |             ❌            |
| Sort posts by relevance or date                                 |     ✅     |             ❌              |             ❌            |
| Multi-shape typed dataset rows (`_type` field, 4 views)         |     ✅     |             ❌              |             ❌            |
| Diagnostics with actionable `fix` field instead of hard failure |     ✅     |             ❌              |             ❌            |
| No login, no cookies                                            |     ✅     |             ✅              |             ❌            |

***

### 🛡️ Reliability & maintenance

- **0.20% failure rate** across 176,512 runs on the publisher's LinkedIn Actor portfolio (July 2026 analytics). Most competitors do not publish this figure.
- **Freshness:** actively maintained. Compare the "Last modified" date on this Actor's Store card to any other LinkedIn group scraper.
- **Zero open issues** at time of writing. If something breaks, it gets fixed fast.
- **Never fails a run on a user-fixable issue.** When something goes wrong (wrong input, upstream 429, expired API key), the run finishes with status `SUCCEEDED` and pushes a `_type=diagnostic` row explaining what to change. No red "Actor run failed" badges on the run page.
- **Watchdog** - every run has a 30-minute internal safety timer so a hung upstream can never stretch a run indefinitely.
- **Free-plan cap fires cleanly** - free-plan runs stop at 5 items with a clear status message, no error state.

***

### 🧭 Limitations we're honest about

**What this Actor cannot do:**

- **Full LinkedIn group member rosters.** LinkedIn does not expose them - not to admins of the group, not to logged-in members, not to any API. No scraper on the market can return them at scale without your own LinkedIn session cookies + manually joining every group first. This Actor deliberately does not go that route (see FAQ). Instead you get **admins + everyone who posted publicly** as the legitimate proxy - typically the most-engaged 5-15% of a community, which is the slice that matters for outreach.
- **Private groups.** Data is limited to what LinkedIn shows to a non-member - metadata plus admins. No posts, no member list.
- **Historical posts beyond 1 year.** The longest time window is "Past year". For older posts you would need a different data source.
- **Real-time notifications.** Runs are on-demand. To monitor a group, schedule the Actor via Apify Schedules.
- **Editing anything on LinkedIn.** Read-only.

***

### 🎬 Worked example - search RevOps groups and enrich in one run

**What we're doing:** find every LinkedIn Group on the topic "RevOps", get their full profiles with admins, and produce a lead-gen-ready member list. Total run time on a paying account is typically under a minute for a 10-group cap.

**Input (paste this):**

```json
{
  "mode": "search_and_get",
  "searchKeywords": "RevOps",
  "maxResults": 10,
  "extractMembers": true
}
```

**What you get back - one row per group (`_type: "group"`):**

```json
{
  "_type": "group",
  "id": "2103039",
  "name": "Sales/ Revenue/ GTM Operations",
  "linkedinUrl": "https://www.linkedin.com/groups/2103039/",
  "memberCount": 12632,
  "publicVisibility": true,
  "adminCount": 19,
  "firstAdminName": "Ivan N.",
  "firstAdminUrl": "https://www.linkedin.com/in/ivan-n-229024233",
  "firstAdminHeadline": "Content Marketing Swiss Army Knife and Writer.",
  "scrapedAt": "2026-09-29T14:22:11.001Z"
}
```

**Plus one row per admin / active poster (`_type: "member"`):**

```json
{
  "_type": "member",
  "memberSignal": "admin",
  "groupId": "2103039",
  "groupName": "Sales/ Revenue/ GTM Operations",
  "fullName": "Lucy Ellis",
  "linkedinUrl": "https://www.linkedin.com/in/lucy-ellis-abb702144",
  "headline": "Digital Marketing Coordinator for Revenue Operations Alliance, Sales Enablement Collective & Go-to-Market Alliance.",
  "scrapedAt": "2026-09-29T14:22:11.834Z"
}
```

**What you do with it:** open the dataset → switch to the **Group Members** view → filter `_type = member` → export the `linkedinUrl` column → pipe to your enrichment tool of choice (e.g. the [LinkedIn Profile Scraper + Email Enrichment](https://apify.com/unseenuser/LinkedIn-Profile)).

***

### Pricing

This Actor uses pay-per-result pricing. Every row the Actor writes to your dataset counts as one result. Your per-result price depends on your Apify plan.

| Plan     | Price per 1,000 results |
| -------- | ----------------------- |
| Free     | $5.00                   |
| Starter  | $4.75                   |
| Scale    | $4.50                   |
| Business | $4.00                   |

All row types in the output count the same: group profile rows, member rows (admins, posters, commenters, reactors), post rows, cross-run activity rows, admin-overlap rows, and diagnostic rows.

Free Apify users receive up to 5 results per run. Upgrade to any paid Apify plan to remove this cap.

***

## 📜 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. Because requests are made under the Publisher's provider accounts, copies of results may remain in those accounts as described in the Data Retention section of the Addendum. The Publisher does not access these copies except where needed to troubleshoot a run at the User's request.
- **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 each Actor are described in that Actor's individual listing and Addendum.

***

### 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. Because requests are made under the Publisher's provider accounts, copies of results may remain in those accounts as described in the Data Retention section of the Addendum. The Publisher does not access these copies except where needed to troubleshoot a run at the User's request.

#### 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

Because requests are made under the Publisher's provider accounts, copies of results may remain in those accounts as described in the Data Retention section of the Addendum. The Publisher does not access these copies except where needed to troubleshoot a run at the User's request.

#### 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** (`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. This Section ensures that you have a valid path to legal recourse if needed.

***

### 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 Groups Bundle

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 HarvestAPI's `/linkedin/group`, `/linkedin/group-search`, and `/linkedin/post-search` endpoints (with group filter), and returns the response data to you on the Apify platform. The Publisher does not store, log, or substantively process the data returned. Because requests are made under the Publisher's provider accounts, copies of results may remain in those accounts as described in the Data Retention section of the Addendum. The Publisher does not access these copies except where needed to troubleshoot a run at the User's request.

### Data Retention

HarvestAPI: Requests are made through the Publisher's HarvestAPI account. HarvestAPI has not published a specific retention period for results linked to that account, so copies may remain in that account under HarvestAPI's own policies. Where technically available, the Publisher can ask HarvestAPI to delete records linked to its account, and will pass on a User's reasonable deletion request relating to that User's runs.

### B. Nature of Data Returned

Group profile data (name, description, member count, logo, hero image, rules), admin profiles (names, photos, headlines), group search results, and group posts. **Group admins are personal data subjects. Group post authors are personal data subjects.**

### C. Permitted Use Cases

- Community intelligence and niche audience research
- Identifying communities relevant to your B2B product
- Audit of communities you moderate or participate in
- Academic research on professional community dynamics
- Journalism on industry trends
- Content marketing strategy

### D. Specifically Prohibited Uses

In addition to Master ToS Section 4 prohibitions, you may **NOT**:

- Mass-cold-DM group admins based on their data extracted from this Actor
- Republish group posts in commercial products without authorization from authors
- Aggregate group-membership databases for marketing or discrimination
- Use group descriptions or rules to profile members for discriminatory decisions
- Spam groups based on intelligence gathered about them
- Identify group membership of individuals for political, religious, or sensitive characteristic profiling

### E. LinkedIn Platform ToS Considerations

LinkedIn Groups are LinkedIn's most actively-moderated section. Group moderators may ban users they detect as scraping or automating. LinkedIn's User Agreement explicitly addresses Groups data. Some groups have explicit "no marketing" rules in their description - your downstream marketing use should respect these. If LinkedIn issues a cease-and-desist, notify the Publisher within 48 hours.

### F. Group Admins as Personal Data Subjects

Treat admin profiles as personal data under GDPR/CCPA/Israeli law in your downstream processing. Cold outreach must comply with applicable anti-spam laws. Admin role is publicly visible context - using their admin status against them (harassment, discrimination) is prohibited.

### G. Sensitive Group Categories

LinkedIn Groups exist for sensitive categories: health and disability support, LGBTQ+ professional networks, religious professional communities, political affiliation, recovery and addiction support. **Do not target advertising based on sensitive group membership. Do not "out" individuals by linking their participation in sensitive groups to other identities.**

### H. Group Posts and Author Personal Data

Post authors are personal data subjects. Post content reflects their professional views and may include personal information shared in trust with the group. Republishing group posts outside the group context may violate authors' reasonable expectations even though the group is publicly searchable.

# Actor input Schema

## `mode` (type: `string`):

Pick the operation that matches your goal.

## `searchKeywords` (type: `string`):

Industry, role, technology, or niche - anything LinkedIn search accepts.

• 'RevOps'  ·  'Fintech'  ·  'Generative AI'  ·  'Sales Operations'  ·  'Pharma Marketing'

Specific keywords beat broad ones - 'B2B SaaS Founders' returns better-targeted groups than 'business'.

## `maxResults` (type: `integer`):

Cap on the number of groups returned by the search.

**Set to 0 to fetch every matching group with no artificial cap.** Any positive number is honored as-is. Natural stops still apply: LinkedIn's pagination ends, an internal 30-minute safety timer trips, or your plan's item cap fires (free-plan runs stop at 5 items).

• **Search & Get Full Profiles:** each group triggers a full profile fetch.
• **Search Groups Only:** safe to set high (or 0 for all).

## `groupInputs` (type: `array`):

Paste LinkedIn group URLs or numeric IDs - one per line. Both formats are accepted and auto-detected, whitespace is trimmed, duplicates removed.

Examples:
• `https://www.linkedin.com/groups/1898033/`
• `https://www.linkedin.com/groups/1898033/about/`
• `1898033`

Don't know the IDs yet? Use 'Search Groups Only' first to discover them, then paste the IDs here.

## `maxPostsPerGroup` (type: `integer`):

Maximum posts to scrape from each group.

**Set to 0 to pull every available post per group with no artificial cap.** Any positive number is honored as-is. Natural stops still apply: LinkedIn's pagination ends per group, an internal 30-minute safety timer trips, or your plan's item cap fires (free-plan runs stop at 5 items).

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

How to order the posts within each group.

## `timeWindow` (type: `string`):

Restrict posts to a recent window. Leave on 'No limit' to get the broadest catch.

LinkedIn-side filters (faster): Past 24 hours, Past week, Past month.
Upstream-side filters (finer control): Past hour, Past 3 months, Past 6 months, Past year.

## `extractMembers` (type: `boolean`):

When ON, the Actor produces a dedicated **members** dataset alongside the main output, with one row per person:

• Group admins (from get_group / search_and_get) - always available.
• Active posters (from group_posts) - the authors of public posts the Actor scrapes.

LinkedIn does not expose the full group roster, so 'members' here means everyone LinkedIn does surface for a group - typically the most-engaged 5-15% of the community. Each row has `linkedinUrl`, `fullName`, `headline`, and a back-link to the group, ready for profile enrichment.

Leave it ON unless you only want group profiles or post content and want to skip member extraction entirely.

## `extractCommenters` (type: `boolean`):

When ON, for each post the Actor scrapes it also fetches the list of people who commented on that post, and adds them as member rows (memberSignal='commenter'). Typical: ~10 commenter rows per post, so a 50-post run adds ~500 commenter rows. Requires one extra upstream call per post (~+40% run time). See Pricing in the README.

## `extractReactors` (type: `boolean`):

When ON, for each post the Actor scrapes it also fetches the list of people who reacted (liked / praised / etc.) to that post, and adds them as member rows (memberSignal='reactor'). Typical: ~10 reactor rows per post, so a 50-post run adds ~500 reactor rows. Requires one extra upstream call per post (~+40% run time). See Pricing in the README.

## `computeActivityMetrics` (type: `boolean`):

When ON, the Actor emits one extra row per scraped group (\_type='group_activity') carrying: memberCount change since your last run, growth %, posts-per-day since the last snapshot, elapsed days between runs. Uses no extra upstream calls; state is stored in this Task's key-value store, so each saved Task keeps its own history.

First run captures a baseline (delta fields null). Second run and onward show real deltas - useful for weekly community-health monitoring via Apify Schedules. See Pricing in the README.

## `computeAdminOverlap` (type: `boolean`):

When ON, at the end of the run the Actor emits one row per person who admins two or more of the groups scraped in this run (\_type='admin_overlap'). Each row lists every group they admin, sorted by count descending. Uses zero extra upstream calls (works on admins already returned by the group-profile fetch). Only groups scraped in the SAME RUN can overlap - run in bulk to find hidden connectors.

Useful for: finding influencers who anchor a niche, spotting content-farm operators running dozens of groups, mapping the human backbone of an industry vertical.

## `computeGroupHealthScore` (type: `boolean`):

When ON, each group row gets an extra bundle of health-\* fields describing its moderation setup, admin count, member count context, and (when post data is available) recent post activity + spam signals. Bundled inline into the group row - no new upstream calls.

Fields added: healthMemberCount, healthAdminCount, healthIsModerated, healthIsPublic, healthGroupPlusActive, healthLabel.

healthLabel values - post-derived (when posts are scanned): 'very-active', 'active', 'quiet', 'dormant', 'high-spam'. Group-profile-only (Search & Get / Get Specific Groups modes): 'well-managed' (curated, moderated OR LinkedIn Group+), 'huge' (100k+ members), 'large' (10k-100k), 'mid-sized' (1k-10k), 'niche' (100-1k), 'micro' (<100), 'unknown' (no member count).

Useful for filtering out spam groups, prioritizing well-managed communities, or scoring a search-and-get run before deep enrichment.

## Actor input object example

```json
{
  "mode": "search_and_get",
  "searchKeywords": "RevOps",
  "maxResults": 0,
  "groupInputs": [
    "https://www.linkedin.com/groups/1898033/"
  ],
  "maxPostsPerGroup": 0,
  "sortBy": "relevance",
  "timeWindow": "",
  "extractMembers": true,
  "extractCommenters": false,
  "extractReactors": false,
  "computeActivityMetrics": false,
  "computeAdminOverlap": false,
  "computeGroupHealthScore": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "searchKeywords": "RevOps",
    "groupInputs": [
        "https://www.linkedin.com/groups/1898033/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("unseenuser/linkedin-groups-scraper").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 = {
    "searchKeywords": "RevOps",
    "groupInputs": ["https://www.linkedin.com/groups/1898033/"],
}

# Run the Actor and wait for it to finish
run = client.actor("unseenuser/linkedin-groups-scraper").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 '{
  "searchKeywords": "RevOps",
  "groupInputs": [
    "https://www.linkedin.com/groups/1898033/"
  ]
}' |
apify call unseenuser/linkedin-groups-scraper --silent --output-dataset

```

## MCP server setup

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

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/tA9KOqhX47HKuOCtY/builds/rqMLqrQl5RhYkiLq2/openapi.json
