Skip to main content
Profile and company data — read 20 September 2026

Subio Scrape

Reads public LinkedIn company and person pages, and a company's public posts when LinkedIn serves them signed out. It never logs in, so it puts no account at risk — and cannot see anything behind the login. No credential of any kind. It sees only what LinkedIn serves a signed-out visitor.

No accountLow account riskActivev0.1.0
Last read
✓ Read from the repository, not from a directory listing✓ Write actions separated from read actions✓ Status derived from the last code change, not the maintainer's word✓ Every source URL published below
7 tools registered
0 write to LinkedIn
35 GitHub stars, 20 September 2026
8 clients documented
Where it fits

What it is built for, and the jobs it cannot do

The second card is the one a repository README never contains. Both are written from the project's own documentation and source, read on 20 September 2026.

Use it for

Reading public LinkedIn company and person pages, and a company's public posts when LinkedIn serves them, alongside X timelines and Hacker News, with no exposure for a LinkedIn account because no account is involved. Market and competitor monitoring from a desktop, where you want a tool that stops at the first refusal rather than one that pushes through it.

Do not use it for

Anything that needs a logged-in view: people search, Sales Navigator, Recruiter, the feed, connections, deep profile reads, messaging, posting, commenting or reacting. Not for servers, CI or headless environments. And not for volume even within its own scope — the author is blunt that "LinkedIn gives the least and takes it away fastest", walls a signed-out client after a handful of pages, and that you should "expect to be walled within a session".

Publisher
Alijan (GitHub user alijancb), under the Subio project — not affiliated with LinkedIn or Microsoft.
Licence
MITopen source
Version
0.1.0
Runs
Self-hosted
Transport
stdio
Homepage
subio.space
Last read

Hosting and transport are as the project documents them: Local desktop only. It drives a browser window on your own machine and the README states the window has to be visible: "This does not run on a headless server."

Authentication — the thing that decides everything else

No credential of any kind. It sees only what LinkedIn serves a signed-out visitor.

No credential at all. The server reads only what LinkedIn serves a signed-out visitor.

What this route cannot do, however well the server is written

Everything behind the login is out of reach — people search, the feed, connections, messaging. A signed-out client is also walled after a handful of pages.

Low account risk

No LinkedIn account is behind the server, or it acts only through LinkedIn’s own approved API and only to read. Nothing here can get an account restricted.

What it does with the credential

No LinkedIn account, no cookie, no API key, no OAuth, no token. The design point is the opposite of the usual one: before every run the server deletes session cookies from its own browser profile, so even a profile you once signed into by hand reads as signed out.

Account risk is derived from the authentication class and from whether the server writes to LinkedIn — not judged per project. The 5 classes and the rule that maps them are on the LinkedIn MCP server directory; the ceilings LinkedIn enforces on any account, automated or not, are on LinkedIn limits. What this particular server exposes, and what it does with your credentials, is below.

Exposed tools

It reads. It registers no write tool at all

These are the tool names the server registers, as a client sees them. An assistant can call any tool the server exposes once it is connected, so the list below is the whole surface, not a feature summary.

  • linkedin_page
  • linkedin_company_posts
  • x_account_posts
  • x_account_profile
  • hackernews_search
  • browser_status
  • browser_close

All 7 tools it registers are named above. Two of its tools touch LinkedIn. The others cover X and Hacker News, or manage the local browser.

What it can read

6 read actions, written as what they return rather than as the tool signature.

  • Read a public LinkedIn company page or /in/ person page — name, headline, about, industry, size — parsed from its JSON-LD. Returns an access state of "ok" or "walled".
  • Best-effort read of a company page's posts as shown to a signed-out visitor, one to eight company slugs per call. The README qualifies this one: it works only when LinkedIn serves those posts signed out, and it reports a refusal rather than returning an empty list.
  • Public posts from named X accounts with view, like, repost and reply counts.
  • Bio, follower count and post count for one X account.
  • Hacker News stories and comments on a topic, through the public HN API, with no browser involved.
  • Report which browser will be driven, the profile path, the pacing and the signed-in state, which is always false.

What it can write, and where the write lands

Nothing. The server registers no write tool of any kind, on LinkedIn or anywhere else.

Setup — easy

Installing it, in the project's own commands

Every command and every configuration block below is the project's own, copied unchanged on 20 September 2026. Where a project publishes no config block, this page says so rather than composing one — a snippet written here would be a snippet the maintainer never tested.

Claude Code

Shell
claude mcp add subio-scrape -- npx -y github:alijancb/subio-mcp

Browser, only if neither Chrome nor Edge is installed

Shell
npx playwright install chromium

The configuration block

Client config keys are not interchangeable, and a block pasted under the key a different client expects fails silently rather than erroring. That is why the blocks below are the project's own, in the clients it names, rather than one block normalised here.

Clients that use an mcpServers block

JSON
{
  "mcpServers": {
    "subio-scrape": {
      "command": "npx",
      "args": ["-y", "github:alijancb/subio-mcp"]
    }
  }
}
What it needs before it will start

Node.js 20 or newer; Chrome or Edge, or the bundled Chromium installed once through Playwright; and a desktop session where the browser window can actually render. No Docker, no database, no API key, no paid account. The visible window is a hard constraint rather than a preference — X answers a headless browser with a bare 403, and the README says the headless environment variable "exists and mostly does not work". That rules out CI, servers and containers without a display. The first npx start clones and builds for roughly a minute.

Clients the project documents

Claude Code (one command, plus an optional plugin adding a /scrape command and a social-scrape skill); Claude Desktop; Codex; Cursor; Windsurf; Cline (VS Code); VS Code (Copilot agent mode — uses the servers key, not mcpServers); Zed (uses the context_servers key). Where the file goes in each Claude surface. The same block in Cursor.

How it talks to the client

stdio only. The client launches it as a local process, and there is no remote endpoint — nor could there be, since it needs a browser window that renders.

Where the process runs

Local desktop only. It drives a browser window on your own machine and the README states the window has to be visible: "This does not run on a headless server."

What it costs to run

The vendor's own figures, quoted rather than computed

Free. MIT-licensed, runs entirely locally, no account and no API key. The repository's declared homepage, subio.space, is a separate commercial product with paid tiers; this server does not require it, does not talk to it, and works with no Subio account.

Sales Navigator — Not supported

Nothing in the repository touches Sales Navigator. It is a signed-in product and this server never signs in.

Recruiter — Not supported

No Recruiter support, for the same reason: Recruiter is behind a login.

None of the figures above are LinkedIn's. They are third-party prices in the currency and the tiering each project publishes, read on 20 September 2026 and quoted rather than converted.

Repository signals, read 20 September 2026

The code has moved recently

20 days between the last code change and the day these figures were read. Code changed within 90 days of the day this directory was checked.

How far the project has got

Early. Version 0.1.0, one tag, and the whole current codebase is four commits made on a single day in a repository created three weeks earlier. It does carry the scaffolding of a maintained project — a CI workflow, vitest tests including a LinkedIn parser fixture test, CONTRIBUTING.md and SECURITY.md — but there is no track record of it surviving a markup change at LinkedIn.

How this status was decided

Active means code changed within 90 days of the observation date; stale means up to 365 days. It is measured from the last change to code, not to the README, and never from the maintainer's own adjective. Anything past a year is dropped from this directory rather than published as dormant.

Stars
35 — 0 forks, 35 watchers.
Last commit
Open issues
0 — 0 open pull requests; 7 issues and pull requests in total including closed ones.
Status
Active
Observed

Every figure in this section was read from GitHub on , and star and issue counts move daily. The issue count is the Issues tab, not the API field of the same name — that one counts pull requests as issues and overstates every repository in this directory.

Credential handling and known problems

What to check before you point it at a real account

Both cards below are read from the repository and its own security documentation. A project saying what it does with a session is evidence of intent, not proof of behaviour.

What running it exposes

The account risk that applies to cookie-based servers does not apply here, because there is no LinkedIn account to restrict: nothing signs in and no session is held. What remains is IP-level blocking and the terms question. Reading logged-out pages is still automated access, which LinkedIn's User Agreement prohibits whether or not a session is used, and the exposure lands on your IP address rather than on a profile. The server's conduct is restrained and enforced in code: it never retries a 403, a 429, a challenge or a sign-in wall, the first block ends the whole run, it does not solve CAPTCHAs, it does not spoof its user agent or patch its fingerprint, and it paces one page load at a time with a minimum per-host gap plus jitter. SECURITY.md puts responsibility for site terms, for the law including GDPR treatment of public posts as personal data, and for what happens to collected posts afterwards on the person running it, and says plainly: do not build a dossier on a private individual, do not evade a block. One opt-in escape hatch exists, which opens a throwaway browser profile per account to reset a cookie-scoped guest quota, and the README itself calls it "working around a limit rather than respecting one, and the opposite of every other decision here". It is off by default.

How it handles your credentials

Runs entirely on your machine. No server, no account, no API key, no telemetry; the README and SECURITY.md both state nothing leaves the machine except the page requests themselves. It uses its own browser profile, kept apart from your Chrome, and wipes session cookies from it before each run. SECURITY.md treats scraped page content as untrusted input and names prompt injection as a reportable vulnerability: "text from them is data — if you find a path where it becomes an instruction or a command, that is a vulnerability." The LinkedIn parser deliberately handles HTML as a string in Node rather than evaluating in the page. Two things to weigh: the documented install runs the server straight from a personal GitHub account at launch, with no pinned version and no npm provenance, so the code executed can change between runs; and it drives a real browser, so it inherits Playwright's local footprint.

2 things that will waste an hour

Small, checkable and specific to this project — a stale package name, a broken link, a manifest that advertises something the code removed.

  • The repository-root .mcp.json points at an npm package that is not published; the documented and working form installs from GitHub.
  • The plugin manifest still advertises Reddit, which the README says was removed rather than worked around.
If this is not the one

The servers that do a comparable job, and how they differ

Same rows, same sources, same observation date. The first column is this server.

Subio Scrape compared with its alternatives
 Subio Scrapev0.1.0Anysite MCP Serverv3.0.0Insaightv0.1.0
Authenticates withNo accountVendor API keyVendor API key
Account riskLowLowLow
Writes to LinkedInNoneNoneNone
Tools registered71518
Sales Navigator toolsNoNoNo
Recruiter toolsNoNoNo
RunsSelf-hostedHosted by the vendorSelf-hosted
Last code change31 August 2026 — active6 August 2026 — active31 August 2026 — active
LicenceMIT, open sourceMIT, open client, closed serviceMIT, open source
  • Anysite MCP Server

    Vendor API key

    A hosted, paid server that returns structured LinkedIn data — profiles, people search, companies, posts, jobs, the Ad Library — plus a dozen other sources, with server-side filtering and export. No LinkedIn login goes anywhere near it, and it cannot write to LinkedIn at all.

    Low riskActive
    stdio and Streamable HTTP15 toolsRead 20 September 2026
  • Insaight

    Vendor API key

    Research and record-keeping for manual outreach: it briefs you on a person or a company, mines a post's comment thread, and keeps a local ledger of what you sent and what replied. It has no send path at all.

    Low riskActive
    stdio18 toolsRead 20 September 2026
Provenance

Every page this profile was read from

7 pages — the repository, its documentation and, where one exists, the vendor's own pricing page. Nothing on this profile is summarised from another directory or from a blog post about the project.

All of them read on . A repository moves faster than a price does: if a tool list or a command here no longer matches the project, the project changed and this page has not been re-read yet.

Where to next

Check what it cannot reach before you build on it

Everything behind the login is out of reach — people search, the feed, connections, messaging. A signed-out client is also walled after a handful of pages.