Skip to main content
Version: v0.32.0

Command Line Tool (CLI)

Karakeep comes with a simple CLI for those users who want to do more advanced manipulation.

Features

  • Manipulate bookmarks, lists and tags
  • Mass import/export of bookmarks

Installation (NPM)

npm install -g @karakeep/cli

Installation (Docker)

docker run --rm ghcr.io/karakeep-app/karakeep-cli:release --help

Usage

karakeep
Usage: karakeep [options] [command]

A CLI interface to interact with the karakeep api

Options:
--api-key <key> the API key to interact with the API (env: KARAKEEP_API_KEY)
--server-addr <addr> the address of the server to connect to (env: KARAKEEP_SERVER_ADDR)
--json to output the result as JSON
-V, --version output the version number
-h, --help display help for command

Commands:
auth authentication commands
bookmarks manipulating bookmarks
lists manipulating lists
tags manipulating tags
whoami returns info about the owner of this API key
help [command] display help for command

And some of the subcommands:

karakeep bookmarks
Usage: karakeep bookmarks [options] [command]

Manipulating bookmarks

Options:
-h, --help display help for command

Commands:
add [options] creates a new bookmark
get <id> fetch information about a bookmark
update [options] <id> updates bookmark
list [options] list all bookmarks
delete <id> delete a bookmark
help [command] display help for command

karakeep lists
Usage: karakeep lists [options] [command]

Manipulating lists

Options:
-h, --help display help for command

Commands:
list lists all lists
delete <id> deletes a list
add-bookmark [options] add a bookmark to list
remove-bookmark [options] remove a bookmark from list
help [command] display help for command

Obtaining an API Key

To use the CLI, you'll need to get an API key from your karakeep settings. You can validate that it's working by running:

karakeep --api-key <key> --server-addr <addr> whoami

For example:

karakeep --api-key mysupersecretkey --server-addr https://try.karakeep.app whoami
{
id: 'j29gnbzxxd01q74j2lu88tnb',
name: 'Test User',
email: '[email protected]'
}

You can also store the server address and API key in $XDG_CONFIG_HOME/karakeep/config.json. If XDG_CONFIG_HOME is not set, the CLI reads ~/.config/karakeep/config.json.

{
"serverAddr": "https://try.karakeep.app",
"apiKey": "mysupersecretkey"
}

Command-line options take precedence over environment variables, and environment variables take precedence over the config file. If no server address is provided, the CLI defaults to https://cloud.karakeep.app.

To create or update this file interactively, run:

karakeep auth init

Other clients

There also exists a non-official, community-maintained, python package called karakeep-python-api that can be accessed from the CLI, but is not official.