linkding
Minimal self-hosted bookmark manager with LD_* env config and a documented REST API.
linkding is a Django bookmark manager built to be small, fast, and Docker-first: tags, markdown notes, read-it-later, archiving to local HTML or the Internet Archive, sharing, and browser extensions. Configuration is entirely LD_* environment variables, and the REST API with token auth covers bookmarks, assets, tags, and bundles.
- you want a bookmark service on a Raspberry Pi that an agent can post links to with a token
- you left Pinboard or del.icio.us and want tags, notes, and archives without a heavy stack
- Single-maintainer project that declines features outside its scope (README)
- Local HTML archiving requires the single-file sidecar image variant (linkding:latest-plus)
- Managed hosting on linkding.link is third-party (not a Builder edition)
Last activity Sep 3, 2026. Fit: adaptable 3, operable 3.
Adaptable: what is yours to change
Make it yours
Config only20 things to edit
.env.sample and docker-compose.yml are the whole surface. LD_SUPERUSER_NAME and LD_SUPERUSER_PASSWORD create the first user; LD_DB_ENGINE and LD_DB_* switch to Postgres; LD_ENABLE_AUTH_PROXY with LD_AUTH_PROXY_USERNAME_HEADER puts it behind your SSO; LD_DISABLE_BACKGROUND_TASKS, LD_DISABLE_URL_VALIDATION, and LD_CONTEXT_PATH tune behavior.
- Env vars
LD_SUPERUSER_NAMELD_SUPERUSER_PASSWORDLD_HOST_PORTLD_HOST_DATA_DIRLD_CONTEXT_PATHLD_DB_ENGINELD_DB_HOSTLD_DB_PORTLD_DB_DATABASELD_DB_USERLD_DB_PASSWORDLD_ENABLE_AUTH_PROXYLD_AUTH_PROXY_USERNAME_HEADERLD_AUTH_PROXY_LOGOUT_URLLD_DISABLE_LOGIN_FORMLD_DISABLE_BACKGROUND_TASKSLD_DISABLE_URL_VALIDATIONLD_CSRF_TRUSTED_ORIGINS- Config files
.envdocker-compose.yml- Prompt files
- none
- Accounts you need
- none
Source
- github.com/sissbruecker/linkding
- MIT license
- Last commit Sep 3, 2026
- 11,139 stars
Operable: what an agent can drive
Interface
OfficialAPIpublished by the builderlocal
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 |
|---|---|---|
| Create, update, and delete bookmarks | Reachable | POST/PUT/PATCH/DELETE /api/bookmarks/ (docs/src/content/docs/api.md) |
| Search and list bookmarks | Reachable | GET /api/bookmarks/ with query, GET /api/bookmarks/check/?url= |
| Archive and unarchive | Reachable | POST /api/bookmarks/<id>/archive/ and /unarchive/ |
| Tag bookmarks | Reachable | GET/POST /api/tags/ and tag_names on bookmarks |
| Bundles (saved filters) | Reachable | GET/POST/PUT/PATCH/DELETE /api/bundles/ |
| Store and download HTML snapshots | Reachable | /api/bookmarks/<id>/assets/ with upload and download |
| Share bookmarks with users or guests | Reachable | shared field on the bookmark resource |
| Markdown notes and read-it-later | Reachable | notes and unread fields on the bookmark resource |
| Import and export Netscape HTML | Not reachable | settings UI only; no API endpoint |
| User administration | Not reachable | Django admin panel; only GET /api/user/profile/ is exposed |
Code stack
- Languages
- PythonJavaScript
- Frameworks
- Django
- Package manager
- uv
- Database
- SQLitePostgreSQL
- Hosting target
- docker
- Built
- Human-written (recorded, never ranked)
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | README: Django web app, Docker install | 95% |
| executionModel | no model anywhere in the stack | 95% |
| operability | docs/src/content/docs/api.md in the repo, published at linkding.link/api | 95% |
| effort | .env.sample LD_* names; docker-compose.yml | 95% |
| editions | MIT; no paid edition; community managed hosting listed separately | 95% |
| active | pushedAt 2026-09-03 | – |
| provenance | 2019 project, no agent markers | 60% |
| reach | 90% |
Open questions
- chickenzord/linkding-mcp (15 stars, 2026-05-25) is the only wrapper; note as runner-up if the Curator prefers an MCP entry point
Sources
- github.com/sissbruecker/linkding sourcing:notes-knowledge:curated
- linkding.link/api/ analysis