tinykoi
All posts

Why developers need a bookmark manager with an API

· Developers · 5 min read

A bookmark manager for developers has to do three things the browser cannot: search the text of pages you saved, keep a copy when the original moves, and let your own scripts read and write the library. Folders and a star icon are not enough once you have a few thousand links to docs, issues and answers.

This post explains why those three matter, what they look like in practice, and what tinykoi's REST API does and does not cover.

The pile that developers build

Developer reading is unusually link-heavy and unusually perishable. In a normal month you might save:

  • A section of framework docs that you will need again on Thursday.
  • An RFC or a spec paragraph that settles an argument.
  • A GitHub issue with the workaround that is not in the docs.
  • A Stack Overflow answer, or a blog post, that solved a one-off bug.
  • A conference talk or a long-form post you meant to read properly.

Browser bookmarks handle the first save well and everything after it badly. You end up with a folder named "dev" and a title like "Issue #4821". Six months later you remember the library and the symptom, but not the title.

Search that reads the page

The fix for forgotten titles is searching the page itself. tinykoi searches every word of every page you save, and the results show the lines that match. That is available on the free plan as well as Pro.

So "ECONNRESET keepalive" can find the issue thread whose title is something unhelpful, because those words are in the text. Titles, tags and notes are searched from the command palette too.

Pro adds search by meaning, which also finds bookmarks that match what you meant rather than the exact words. If AI is switched on, tinykoi sends each bookmark's title, site, excerpt, note, tags and the first 6,000 characters of its text, plus your search queries, to OpenRouter and DeepInfra on zero-data-retention terms. That is set out on the legal page. It only happens if you turn AI on.

Pages that stay put

Docs get versioned, repositories get renamed, and issue trackers get migrated. The link you saved last year may now point to a redirect, a "page not found" or a newer version that says something different. We cover the wider problem in link rot.

On Pro, tinykoi keeps its own copy of every page you save, so it opens as you saved it even if the site changes. It also checks your links about once a month and flags the ones that broke, with a link to the archived copy. Free plan users keep the title, cover, tags and notes but not the copy.

Two honest limits: not every page can be archived (some sites block fetching, and pages behind a login are a problem for any tool), and archives are deleted 30 days after you leave Pro. Keep an export of anything critical.

Highlights and notes on the useful line

For reference material, the useful part is usually one paragraph. tinykoi's reader view lets you highlight passages in five colours and attach a note to any of them. PDFs, text and Markdown files open in the reader as well, which covers specs and papers that come as files.

You can also upload files next to your links. The free plan allows 100 MB of uploads a month. Pro allows 10 GB a month and files up to 300 MB.

Why a bookmark manager for developers needs an API

This is the part browser bookmarks cannot offer. tinykoi has a REST API at /api/v1, with the reference served at the same address. Everything in it is authenticated with an API key.

Keys

You create keys in Settings. A key can be read-only or read and write: read keys can call GET routes, and write keys can call every route. Keys start with tinykoi_, which makes leaked ones easy to find with a secret scanner. The full key is shown once, and only its hash is stored. You send it as a bearer token:

Authorization: Bearer tinykoi_...

The free plan allows one key and 20 requests a minute. Pro allows ten keys and 120 requests a minute. The limit is counted per account across all keys. Responses carry ratelimit-limit, ratelimit-remaining and ratelimit-reset headers, and a 429 also carries retry-after.

What you can do

From the contract, the API covers:

  • Bookmarks: list, get, save a URL, update, move between collections, add or remove tags in bulk, trash and restore, look up by URL, check capture status and count per scope.
  • Page content: fetch the captured text of a bookmark, and a signed link to its archived copy.
  • Search: query your library, with snippets of matching page text.
  • Collections: list the tree, create, update, move and delete.
  • Tags: list, rename, merge and delete.
  • Highlights: list, create, update and delete.
  • Account: a /me call that returns your plan, limits and usage.

Not in the API: managing API keys (that is done in the app only), and export, which is a button in Settings. If you want a backup from a script, page through the bookmark list.

Things people build

Developers typically want a few small tools: a shell command that saves the page in your clipboard, a script that saves every starred issue, a weekly list of what you saved, or a tag clean-up pass.

The one thing to plan for is the rate limit. A bulk script on the free plan has 20 requests a minute, so put a delay in it or use the bulk endpoints for tagging and moving.

What it does not do

Be clear on the gaps before you build on it. The browser extension is Chrome only. There are no mobile apps, no MCP server, and no shared workspaces. If your workflow needs any of those, tinykoi will not fit yet.

Where to go next

Read the features page for the full list, and the API reference for exact parameters. Compare plan limits on pricing.

Try the API on the free plan

The free plan includes one API key and needs no card. Create an account, make a key in Settings, and see what a few requests return.