Build on your own library.
Get a key
Keys belong to a Linkwise account, so this is the same sign-in you use in the app. The API is open on every plan: the plan sets how fast you may call it, not whether you may.
- 1Sign inGoogle or Apple, at /build/signin.
- 2Create a key with the narrowest scopes that workRead only, read and write, or a set you pick by hand. The value is shown once and stored as a hash, so keep it somewhere before you close the dialog.
- 3Send it as a bearer token
Authorization: Bearer lw_pat_...on every request. That is the whole authentication story.
Free accounts get 20 requests a minute, Pro and Pro + AI get 120. Ten active keys per account.
Three ways in
The same API underneath all three. Pick whichever fits where you are working.
HTTP API
43 endpoints across links, collections, tags, highlights, search, discovery, feeds, chat and speech. Scoped and rate limited.
MCP server
Your library as a tool an assistant can use, at https://linkwise.app/mcp. 17 tools generated from the same document as everything else.
CLI
Save, search and read from the terminal. A single static binary, on Homebrew, npm and a shell installer.
How it fits together
Three decisions that explain most of what you will run into.
One OpenAPI document is the source of truth
The reference on this site and the MCP server's tool definitions are generated from it, and the CLI asserts every route it can call against it. A drift check fails the build when they disagree, so a renamed endpoint breaks CI rather than someone's terminal.
Keys are scoped, expiring and independent
Hold one for a script and another for your editor. Revoking either leaves the other working. A key can never mint another key, so one leak stays one leak.
Errors are a closed set
Nine codes, each with a fixed status. Branch on the code, never on the message and never on the status alone. Every response carries an x-request-id for when something goes wrong.