Linkwarden
Collaborative bookmark manager that preserves pages, with an official REST API and a paid cloud edition.
Linkwarden captures a screenshot, PDF, and single-file HTML of every link, adds reader view with highlights, optional AI tagging, collections with member permissions, RSS subscriptions, and native mobile apps. The documented REST API with bearer tokens is the agent interface; there is no official MCP server.
- your team collects research links and needs the pages preserved even after they vanish
- you want an agent saving links with tags into shared collections through a plain REST API
- AGPL-3.0
- Archiving runs a Playwright browser; expect memory use and a separate worker
- SSO is limited to enterprise and self-hosted users
- Community MCP wrappers (ni-c/linkwarden-mcp, homeserverhq/linkwarden-mcp) have near-zero stars; use the REST API directly
Last activity Sep 2, 2026. Fit: adaptable 2, operable 3.
Editions
Self-hosted · Free open source
- Clone
git clone https://github.com/linkwarden/linkwarden - ImageContainer
Cloud · Free closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only31 things to edit
.env.sample is exhaustive: NEXTAUTH_SECRET, NEXTAUTH_URL, DATABASE_URL, and BASE_URL are required; STORAGE_FOLDER or SPACES_* choose local or S3 archives; NEXT_PUBLIC_DISABLE_REGISTRATION and MAX_LINKS_PER_USER gate signups; one provider key plus its *_MODEL var turns on AI tagging; MEILI_HOST and MEILI_MASTER_KEY enable search; dozens of SSO providers each have *_CLIENT_ID, *_CLIENT_SECRET, and NEXT_PUBLIC_*_ENABLED.
- Env vars
NEXTAUTH_SECRETNEXTAUTH_URLDATABASE_URLBASE_URLSTORAGE_FOLDERSPACES_BUCKET_NAMESPACES_ENDPOINTSPACES_KEYSPACES_SECRETNEXT_PUBLIC_DISABLE_REGISTRATIONNEXT_PUBLIC_CREDENTIALS_ENABLEDMAX_LINKS_PER_USERARCHIVE_TAKE_COUNTOPENAI_API_KEYOPENAI_MODELANTHROPIC_API_KEYANTHROPIC_MODELOLLAMA_MODELNEXT_PUBLIC_OLLAMA_ENDPOINT_URLOPENROUTER_API_KEYMEILI_HOSTMEILI_MASTER_KEYEMAIL_SERVEREMAIL_FROMOIDC_WELLKNOWN_URLOIDC_CLIENT_IDOIDC_CLIENT_SECRETPLAYWRIGHT_WS_URLPROXY- Config files
.envdocker-compose.yml- Prompt files
- none
- Accounts you need
- an AI provider (optional, for tagging)S3-compatible storage (optional)Linkwarden Cloud account (cloud edition)
Source
- github.com/linkwarden/linkwarden
- AGPL-3.0 license
- Last commit Sep 2, 2026
- 19,666 stars
Operable: what an agent can drive
Interface
OfficialAPIpublished by the builderremote or local
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 8 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Save, update, and delete links | Reachable | apps/web/pages/api/v1/links and links/{id} |
| Retrieve preserved formats (screenshot, PDF, HTML) | Reachable | api/v1/archives/{id} and links/{id}/archive |
| Organize into collections and sub-collections | Reachable | api/v1/collections and collections/{id} |
| Tag links | Reachable | tags in the link payload; docs list tags endpoints |
| Highlight and annotate in reader view | Reachable | api/v1/highlights and links/{id}/highlights |
| Full text search | Reachable | search parameters on links index; docs list search |
| RSS feed subscriptions | Reachable | docs API introduction lists RSS subscriptions |
| Share collections publicly | Reachable | api/v1/public/collections and public/links |
| AI tagging | Not reachable | runs automatically on save when a provider is configured; no endpoint to trigger it |
| Send to Wayback Machine | Undetermined | optional per-save behavior; no explicit endpoint seen |
Code stack
- Languages
- TypeScript
- Frameworks
- Next.jsPrismaPlaywright
- Package manager
- yarn
- Database
- PostgreSQLMeilisearch
- Hosting target
- docker
- Built
- Human-written (recorded, never ranked)
Model stack
- Providers
- OpenAIAnthropicOllamaOpenRouterAzure OpenAIPerplexitycustom OpenAI-compatible
- Models
- none
- Keys you need
OPENAI_API_KEYANTHROPIC_API_KEYOPENROUTER_API_KEYAZURE_API_KEYPERPLEXITY_API_KEYNEXT_PUBLIC_OLLAMA_ENDPOINT_URL- Prompts live in
- none
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README and stack: Next.js web app with Docker install | 95% |
| executionModel | optional AI tagging with OpenAI, Anthropic, Ollama, OpenRouter, Azure, Perplexity keys in .env.sample | 85% |
| operability | docs.linkwarden.app/api: OpenAPI 1.0.0 with bearer auth; routes under apps/web/pages/api/v1; no mcp in the repo tree | 90% |
| effort | .env.sample with documented variables; docs self-hosting guide | 90% |
| editions | README: official Cloud with 14-day trial; self-host free | 70% |
| active | pushedAt 2026-09-02; 2.15 release on HN 2026-07-10 | – |
| provenance | project from 2023, no agent markers in repo | 50% |
| reach | 80% |
Open questions
- Cloud plan names and prices (linkwarden.app pricing section did not render)
- Whether tags and users have dedicated v1 endpoints or ride on links
Sources
- github.com/linkwarden/linkwarden sourcing:notes-knowledge:community
- docs.linkwarden.app/api/api-introduction analysis