# The fastest way for an agent to use a website.

GhostGet turns the websites you use into named actions your agent can call. A task that costs 36,000 tokens of browsing takes about 3,800 through GhostGet, and your agent never holds a password.

[Install GhostGet](https://ghostget.com/#start)

[See the actions](https://ghostget.com/#providers)

Free and MIT licensed · macOS and Linux · Bun 1.3.14

Field Notes

Essays

Archive

Shop

Subscribe

We use cookies.

Accept all

Essays

A reading lamp for the web

Noor Haddad · 6 min read

Most of a page is not the page. Menus, banners, and scripts wrap a few hundred words.

Sponsored

Newsletter

Trending

$

ghostget read https://fieldnotes.example/posts/reading-lamp

---

title: "A reading lamp for the web"

source: "https://fieldnotes.example/posts/reading-lamp"

capture\_status: "complete"

---

\# A reading lamp for the web

Most of a page is not the page...

\#

no browser, no cookies, no HTML to parse

GhostGet lets an agent drive a website the way it would call an API. Instead of screenshots and clicks, it runs a named action for the site: list the inbox, send the message, pull the statement. A task that costs 36,000 tokens of browsing takes about 3,800, and the agent never holds a password.

Ben Guo

Ask your agent to set it up: [ghostget.com](https://ghostget.com/)

## Give your agent a web task.

Your agent names the task; GhostGet runs one action in your signed-in session.

1. **Name the job** Read a page, check an inbox, or save a video.
2. **Match one action** Such as `gmail messaging.list`.
3. **Run it on your machine** Account changes wait for you.
4. **Return the result** JSON or Markdown.

## Read the page without its HTML.

The same pages, fetched as raw HTML and read with `ghostget read`.

**Raw page HTML**

**36,000** tokens, from 145,617 bytes

**GhostGet Markdown**

**3,800** tokens, from 15,021 bytes

**Smaller by**

**9.7×** the same article, the same day

| Page read | ghostget returns | Raw HTML | Smaller by |
| --- | --- | --- | --- |
| Wikipedia article | 15,021 bytes | 145,617 bytes | 9.7× |
| GitHub repository page | 79,955 bytes | 647,690 bytes | 8.1× |
| This site’s security guide | 7,220 bytes | 41,295 bytes | 5.7× |
| Hacker News front page | 7,311 bytes | 34,791 bytes | 4.8× |
| example.com | 345 bytes | 559 bytes | 1.6× |

Measured September 22, 2026 over HTTP with no browser, at four bytes per token.

## Use 21 services from your agent.

Each service comes with named actions and its connection steps; the `webmcp` adapter adds 1,802 sites from the public [WebMCP Registry](https://wmcp.ai/).

Works with **21** services

[See every action](https://ghostget.com/docs/reference/provider-capabilities/)

- X
- LinkedIn
- Gmail
- YouTube
- GitHub
- Beeper
- WhatsApp
- iMessage
- Instagram
- Reddit
- Bluesky
- Threads
- Facebook
- TikTok
- Substack
- Hacker News
- Twitch
- Facebook Groups
- WebMCP Registry
- Facebook Marketplace
- ClasificadosOnline

## Tell your agent, or run two commands.

Install the [`@hraness/ghostget` release archive](https://github.com/hraness/ghostget/releases/download/v0.18.106/hraness-ghostget-0.18.106.tgz) with [Bun 1.3.14](https://bun.sh/docs/installation); no account needed.

Runs on

- macOS
- Linux
- Windows via WSL2

Tell your agent

“Install GhostGet v0.18.106, then use it to read https://example.com and summarize it.”

macOS

Linux

Windows

macOS

Terminal

Copy

macOS install command

```
bun add --global https://github.com/hraness/ghostget/releases/download/v0.18.106/hraness-ghostget-0.18.106.tgz
```

Requires

[Bun 1.3.14](https://bun.sh/docs/installation)

.

Linux

Terminal

Copy

Linux install command

```
bun add --global https://github.com/hraness/ghostget/releases/download/v0.18.106/hraness-ghostget-0.18.106.tgz
```

Requires

[Bun 1.3.14](https://bun.sh/docs/installation)

.

Windows

Run the Linux command in WSL2.

WSL2 terminal

Copy

Windows install command

```
bun add --global https://github.com/hraness/ghostget/releases/download/v0.18.106/hraness-ghostget-0.18.106.tgz
```

Requires

[Bun 1.3.14](https://bun.sh/docs/installation)

.

Optional: add the Agent Skill

npx skills add hraness/ghostget\#v0.18.106

With Bun, run `bunx skills add hraness/ghostget#v0.18.106` instead. [View the GhostGet Agent Skill on skills.sh.](https://www.skills.sh/hraness/ghostget/ghostget)

## Choose what your agent can do.

Sign-ins and saved results stay on your machine.

**Keep sign-ins local**

Your agent receives results, never the password.

**Preview account changes**

Sends and edits run after you confirm.

**Keep earlier reads**

Saved reads stay encrypted on your machine.

**Stop when a service changes**

An action stops instead of guessing.

## How GhostGet compares with other ways agents reach the web.

GhostGet runs named actions on your machine, against your own sessions.

| Tool | Where it runs | Best for |
| --- | --- | --- |
| GhostGet | Your machine | Named page and account actions |
| Your agent’s web fetch | Your agent | Quick lookups |
| [Firecrawl](https://ghostget.com/compare/firecrawl/) / [Jina Reader](https://ghostget.com/compare/jina-reader/) | Hosted service | Reading, crawling and search |
| [browser-use](https://ghostget.com/compare/browser-use/) | Agent-driven browser | Flexible, multi-step tasks |
| [Playwright MCP](https://ghostget.com/compare/playwright-mcp/) | Local browser | Live browser controls |

[Read the detailed comparisons](https://ghostget.com/compare/).

## Before you install.

### Which agents does it work with?

Any agent that can run commands: Claude Code, Codex, Cursor, Gemini CLI, or your own.

### Does GhostGet need an account?

Public-page reads need none. Connect a service when you want its actions.

### Does it use my credentials?

Yes, for connected services. Sign-ins stay in a local store and never appear in GhostGet’s output.

### What does it cost?

Nothing. GhostGet is free and MIT licensed.

### Which platforms does it run on?

macOS and Linux with Bun 1.3.14. Actions that read iMessage or Apple Photos need macOS.

### Why does GhostGet refuse to retry some writes?

If a write went out and its result is unknown, GhostGet won’t send it again. It stays marked unsettled until separate evidence shows what happened.

## Hraness

GhostGet is built by Hraness, a software studio in Puerto Rico.

- [hraness.com](https://hraness.com/)
- [@hraness](https://x.com/hraness)
- [GitHub](https://github.com/hraness/ghostget)

## Other tools from our studio

### Relationships

- [PeopleBladepeopleblade.comThe contact book you own, built for your agent](https://peopleblade.com/)
- [TextButlertextbutler.appAI butler for the iMessage, WhatsApp, and Beeper chats you choose](https://textbutler.app/)
- [Soulscrapesoulscrape.comFree agent skill that writes dated dossiers on people, sources cited](https://soulscrape.com/)

### Knowledge

- [Wordcellwordcell.ioMarkdown knowledge base that gives agents the decisions behind code](https://wordcell.io/)

### Tools for Token Maximalists

- [Excalibur (xcb)xcb.shRoutes coding tasks across the Claude, Codex, and Devin plans you have](https://xcb.sh/)
- [Gobstoppergobstopper.shCompacts long agent sessions into smaller copies, keeping every byte](https://gobstopper.sh/)
- [aichartsaicharts.ioModel benchmark scores plotted against cost and tokens per task](https://aicharts.io/)

## Read your first page in two commands.

One public page, no account or API key.

[Install GhostGet](https://ghostget.com/#start)
