Add your bookmarks to categories. Posts can be public or private.
Simple user interface that does not require JavaScript. If you have JavaScript, you can use category autocompletion. The whole collection is saved as a single SQLite database. IndieWeb microformats are produced. The program is one binary, the collection is one file, all configuration is done through the web interface.
A Shaarli-inspired bookmark manager written in rust.
An addon for Firefox that scans your bookmarks for duplicates, empty folders, and dead links. Gives you the option to merge or delete them. Pointedly advises you to back them up first.
An addon that searches your bookmark collection for duplicates so you can remove them.
A self-hosted bookmark database with full-text page content search. Bookmarklet support. Bookmark content is scraped and indexed locally. Page content periodically refreshed automatically. Full-text search of all stored data. No separate database required. Easily export your bookmarks to a plain text file - your data is yours. Even has .deb and .rpm packages for installation and upgrading.
A self-hosted bookmark management tool. Servas is based on Laravel and Inertia.js and uses Tailwind CSS and Svelte for the frontend. Tags, groups, lists with arbitrary contents, multiple user accounts, responsive design, MFA. Requires PHP v8.1 or later, node.js and composer to build everything.
Probably has an API because it's based upon the Laravel framework, but it doesn't seem to be documented anywhere.
A self-hosted bookmark manager. Written in Python but unfortunately Docker shit. You'll have to pick apart the docker-compose files to install it sanely. Supports both Postgres and SQLite as its backing stores.
Raindrop.io is the best place to keep all your favorite books, songs, articles or whatever else you come across while browsing.
We're not trying to reinvent the wheel; we're working on a tool that does everything you expect from a modern bookmark manager.
Collections of links. Folksonomy tags. Filters. Finds duplicates and broken links for you. Full text search. Automatically makes copies of every page you bookmark to prevent link rot.
Unlimited bookmarks, collections, and devices indefinitely at the free level. Additional features (probably collaboration) at paid tiers.
buku is a powerful bookmark manager written in Python3 and SQLite3. When I started writing it, I couldn't find a flexible command-line solution with a private, portable, merge-able database along with seamless GUI integration. For those who prefer the GUI, the bukuserver sub-application exposes a browsable front-end on a local web host server.
buku can auto-import bookmarks from your browser(s) or fetch the title and description of a bookmarked url from the web. You can use your favourite editor to compose and update bookmarks.
Multiple search options, including regex and a deep scan mode.
Here's how to proxy the server behind nginx: https://github.com/jarun/buku/blob/master/docker-compose/data/nginx/nginx.conf
An open source self hosted notes and bookmarks taking web app. Looks like of like Pinterest and kind of like a kanban board. PHP, so it could be run in shared hosting. Can use MySQL or SQLite as its back-end.
Written as a PWA so in theory you can take it with you. Or at least the user interface, I don't know about the back-end database.
An in-browser bookmark manager optimized for tagging and retrieval speed. Extract page title and url into a short markdown snippet. One-click to insert the snippet to README.md hosted on GitHub. Add new tags or reuse the ones from previous snippets. Instant search from snippets with the "find on page" utility built into browsers.
Stores the data in a Github repo.
https://github.com/osmoscraft/osmosmemo/issues/1
Implemented as a browser plugin for Firefox, Chrome, and Edge.
LinkAce is a free and open source bookmark archive for long-term storage and organization of your favorite links. Automatically sends all links to the Internet Archive for safekeeping. Has an unauthenticated guest mode as well as an authenticated private link mode (on a case-by-case basis). Has a trashcan feature so you can rescue deleted links.
Requires PHP v7.3 or later.
Supported databases
Requires Composer and NPM to set up, so good luck running this on shared hosting.
If you only have your old datastore.php and can't copy-paste it in your new instance (either because you don't have shell access or the new database is already populated), follow these instructions to create an html file from a datastore.php file you can import in the shaarli web UI.
Requires bash, jq, PHP, and Python.
A plugin for shaarli to remove or tag broken links. Check out into the plugins/ subdirectory, go to the plugins control panel, and enable it. After you've done that you need to tell the plugin to run by scrolling all the way to the bottom and entering REMOVE or TAG. Then it will execute. This script will time out on shared hosting.
linkding is a simple bookmark service that you can host yourself. It supports managing bookmarks, categorizing them with tags and has a search function. It provides a bookmarklet for quickly adding new bookmarks while browsing the web. It also supports import / export of bookmarks in the Netscape HTML format. Docker optimized but I think it could be run manually.
Needs node.js to compile the JS crap.
Uses SQLite as its back-end. Plus, it's based upon Django so it probably has its own ideas about default databases (and REST APIs).
Somebody rewrote Shaarli with a modern PHP framework (Laravel). It's built off of the latest version so it's ready to go (v0.11.1). Requires PHP v7.2 or later, MySQL or SQLite, node.js and Composer to compile all of the assets.
Implements 2FA and encryption of what you store in there.
RSS feeds aren't working yet.
An online bookmark manager which also can act as a content archiver. Can save content as HTML, PDF, or PNG in addition to storing links for later reference. Automatic summarization and tagging of links. Multiple user accounts. Multiple back-end databases (SQLite default). Annotation support. Written in Python 3. Don't know if there's an API.
Here's a list of bookmarks for backchannel tools and articles.
A stackoverflow discussion about how to use python to make an xmlhttprequest. I looked this up because that's how you're supposed to interact with unmark's pseudo API. The accepted answer shows how to do it with scrapy, but I think it could be adapted for use with the requests module. The HTTP method would be POST, and one of the headers would be "X-Requested-With: XMLHttpRequest". It's worth a shot, at any rate.