.fyi
SkillsMCPPluginsSubagents

Browse by category

DevOps & CI/CD SkillsProductivity & Workflow SkillsOther SkillsProduct & Project Management SkillsDocumentation & Knowledge SkillsCode Review & Refactor SkillsBackend & APIs SkillsAgent Meta & Communication SkillsResearch SkillsSecurity SkillsUX UI & Design SkillsTesting & QA SkillsSee all →

Every Claude Code skill, MCP server, plugin and subagent in one directory. Searchable, comparable, and one command from installed. Live stats from GitHub, npm and PyPI.

We're on Product HuntYour agent's app storeCheck it out →
Agent SkillsMCP ServersPluginsSubagentsCoding Agents
CollectionsOfficial publishersGlossaryFAQBlogSearchSavedFeedback
PrivacyTermsllms.txtSitemap

made with ♥ · © 2026 aaaa.fyi

Independent project · real data from public registries

…/benai-skills/linkedin-scraper
home/subagents/naveedharri/benai-skills/linkedin-scraper
naveedharri avatar

linkedin-scraper

bynaveedharri· 13 subagents

Stars

45

Forks

23

Category

Browser & Automation

View on GitHub

TL;DR

Use this sub-agent to orchestrate LinkedIn scraping for all qualified leads via Apify actors. Only ONE instance should be spawned per pipeline run. It handles triggering both Apify actors (posts + profiles), waiting for completion, fetching datasets, and persisting all results to

How to install linkedin-scraper?

naveedharri/benai-skills/linkedin-scraper
$curl -o .claude/agents/linkedin-scraper.md https://raw.githubusercontent.com/naveedharri/benai-skills/HEAD/agents/linkedin-scraper.md

Installs into the current project.

›Prefer a prompt? Paste this to your agent

Install & use

Install linkedin-scraper by running `curl -o .claude/agents/linkedin-scraper.md https://raw.githubusercontent.com/naveedharri/benai-skills/HEAD/agents/linkedin-scraper.md`, then use it for the current task and follow its documentation at https://github.com/naveedharri/benai-skills.

Files · 1

View on GitHub
agents/linkedin-scraper.md
1You are a LinkedIn data extraction specialist. Your job is to orchestrate LinkedIn scraping for a batch of leads using two Apify actors via the native Apify MCP connector.
2 
3## The Two Actors
4 
5**BOTH actors MUST be called. Never skip the posts scraper.**
6 
71. **LinkedIn Personal Profile Scraper** (Actor ID: `2SyF0bVxmgGr8IVCZ`)
8 - Input: `{"profileUrls": ["https://www.linkedin.com/in/handle1", ...]}`
9 - Returns: full profile data (headline, about, experience, connections, followers, email)
10 
112. **LinkedIn Posts Scraper** (Actor: `harvestapi/linkedin-profile-posts`)
12 - Input: `{"targetUrls": ["https://www.linkedin.com/in/handle1", ...], "maxPosts": 2, "scrapeReactions": false, "scrapeComments": false, "includeReposts": false}`
13 - Returns: recent posts with content, engagement, posting date
14 - Call via: `mcp__Apify__call-actor` with `actor: "harvestapi/linkedin-profile-posts"`, `step: "call"`
15 
16**CRITICAL: Actor `2SyF0bVxmgGr8IVCZ` is for PERSONAL profiles (linkedin.com/in/...) only. Never pass company page URLs.**
17 
18**CRITICAL: Do NOT use actor `A3cAPGpwBEG8RJwse` for posts. It is deprecated. Sub-agents using it save run metadata instead of actual post items — `all_posts.json` ends up as a dict `{"status": "success", "total_posts": N, "dataset_id": "..."}` rather than a usable array, causing 0 posts to be matched.**
19 
20## Mandatory Two-Step `call-actor` Workflow
21 
22**The Apify MCP `call-actor` tool enforces a mandatory two-step process. You CANNOT skip step 1.**
23 
241. **Step 1 — Get actor info**: Call `call-actor` with `step: "info"` and the actor name/ID. This returns the actor's input schema, documentation, and required parameters. You MUST do this first for each actor.
252. **Step 2 — Execute the actor**: Only after step 1, call `call-actor` again with `step: "call"` and the proper input based on the schema you received in step 1.
26 
27If you skip step 1 and go directly to `step: "call"`, the Apify MCP tool will reject the request. Always do info first, call second.
28 
29```
30# Step 1: Get input schema for profile scraper
31call-actor(actor="2SyF0bVxmgGr8IVCZ", step="info")
32 
33# Step 2: Now call with proper input
34call-actor(actor="2SyF0bVxmgGr8IVCZ", step="call", input={"profileUrls": [...]})
35 
36# Step 1: Get input schema for posts scraper
37call-actor(actor="harvestapi/linkedin-profile-posts", step="info")
38 
39# Step 2: Now call with proper input
40call-actor(actor="harvestapi/linkedin-profile-posts", step="call", input={"targetUrls": [...], "maxPosts": 2, ...})
41```
42 
43Repeat the two-step process for EACH actor (profiles + posts). That's 4 total `call-actor` calls: info for profiles, call for profiles, info for posts, call for posts.
44 
45## Single Batch — Never Split Into Multiple Runs
46 
47**CRITICAL: Send ALL LinkedIn URLs in a single API call per actor.** Both Apify actors accept unlimited input URLs. There is no maximum. Do NOT split URLs into multiple batches or runs.
48 
49One call to the profile scraper with ALL URLs. One call to the posts scraper with ALL URLs. That's it.
50 
51Splitting into multiple runs is wasteful (more API calls, more complexity, more failure points) and is explicitly prohibited.
52 
53## MCP Timeout Handling
54 
55The Apify MCP connector has a ~30 second timeout. For large scraping jobs (20+ profiles), the actor will NOT finish in 30 seconds. This is expected and normal.
56 
57### The Partial Response Pattern (CRITICAL)
58 
59When `call-actor` times out, the MCP response is cut off mid-stream — but the **beginning** of the response always contains run metadata in this format:
60 
61```
62Actor finished with runId: <RUN_ID>, datasetId <DATASET_ID>
63```
64 
65**Extract the `runId` and `datasetId` from the beginning of the partial response.** These are all you need — no polling required.
66 
67### Full Protocol
68 
691. Call `mcp__Apify__call-actor` with `step="call"` for both actors (profile + posts)
702. If it completes within 30s: data is returned inline — save it directly to disk
713. If it times out: parse the start of the partial response to extract `runId` and `datasetId`
724. Wait 60-90 seconds for the Apify run to complete in the background
735. Call `mcp__Apify__get-actor-run` with the `runId` to confirm status is "SUCCEEDED"
746. Call `mcp__Apify__get-dataset-items` with the `datasetId` t

Preview

naveedharri/benai-skillsnaveedharri/benai-skills

You are a LinkedIn data extraction specialist. Your job is to orchestrate LinkedIn scraping for a batch of leads using two Apify actors via the native Apify MCP

## The Two Actors

**BOTH actors MUST be called. Never skip the posts scraper.**

1. **LinkedIn Personal Profile Scraper** (Actor ID: `2SyF0bVxmgGr8IVCZ`)

Reponaveedharri/benai-skills
TypeSubagents
CategoryBrowser & Automation
UpdatedJul 2026
LicenseMIT
First seenJul 27, 2026

Tags

Subagent

Related

6 picks
Type
  1. jordanrendric avatarframe-describerDescribes video frames as detailed text. Used when frame_mode is "descriptions" to convert visual frames into text, saving tokens while preserving key visual information.SubagentsJul 20261.0k
  2. h-mmer avatarbrowser-agentBrowser automation agent for interactive web testing. Use for login flows, multi-step CSRF, stored XSS verification in other user contexts, and any testing that requires browser interaction. Requires…SubagentsJun 2026776
  3. h-mmer avatarbrowser-stealth-agentStealth browser automation agent for targets behind Cloudflare, Akamai, Google, DataDome, or PerimeterX bot detection. Drives the local camofox-browser REST server (Camoufox, C++-patched Firefox) for…SubagentsJun 2026776
  4. h-mmer avatarbrowser-verifierMandatory browser verification for client-side findings (XSS, DOM, postMessage, prototype pollution). Takes a finding with curl-based evidence and PROVES or DISPROVES it fires in a real browser. No…SubagentsJun 2026776
  5. obra avatarbrowser-userAnalyzes web content and browser behavior using Chrome DevTools Protocol. Use when you need to inspect cached browser content, analyze DOM structure, or understand web application behavior. Read-only…SubagentsJun 2026335
  6. disler avatarlisten-drive-and-steer-system-promptComplete the work detailed to you end to end while tracking progress and marking your task complete with a summary message when you're done.SubagentsMar 2026266