calibreapp/cli(opens in a new tab)
Language: JavaScript
Calibre’s Node.js API and Command Line Client (CLI).
- stars
- 145
- watchers
- 2
- forks
- 17
- open issues
- 2
- Last updated
- 10/13/2026
Language: JavaScript
Calibre’s Node.js API and Command Line Client (CLI).
This repository contains Calibre’s APIs you can use to fetch and manage your monitoring data. The Command Line Client (CLI) is designed for simple tasks right from your terminal. We recommend using the Node.js API for more complex tasks and automation.
ℹ️ Please note: Using the APIs requires an active Calibre account (in trial or on a paid plan).
To install the latest version globally, run this command:
npm install -g calibre
or save it directly to your project:
npm install calibre --save
The calibre package is built to support all current Node.js LTS releases.
To authenticate to Calibre and use the APIs, you will need to create or use an existing API Token. Learn about the types of API Tokens and how to create them here.
Once you have an API Token, you can store it locally:
calibre token set <your token>
Or alternately, set CALIBRE_API_TOKEN environment variable.
--json flag for machine-readable output.npm package.To see a full list of available commands, subcommands and options run:
$ calibre --help $ calibre <command> --help
You can start using the CLI right away with the commands listed above, or start with:
# List all your sites $ calibre site list # Get a summary of your RUM data for a site $ calibre rum summary --site my-site # List pages or page groupings for a site $ calibre rum pages --site my-site # Get a summary of your CrUX data for a site $ calibre crux summary --site my-site # Manage your Synthetic testing settings for a site using synthetic sub-commands $ calibre synthetic
or see all commands in this repository or Calibre’s documentation.
In Node, you can use the either ES Modules or CommonJS versions accordingly:
// ES Modules import { Site, Crux, Rum } from 'calibre' await Site.list() await Crux.summary({ site: 'my-site' }) await Rum.summary({ site: 'my-site' })
// CommonJS const { Site } = require('calibre') await Site.list()
In addition to the named default exports shown above, the calibre package also exports CLI related metadata, which is used to generate CLI documentation.
Each CLI command is a Node module that exports command, describe, handler and builder. You can import all CLI commands from calibre/cli-commands (see src/cli.js for reference).
import Commands from 'calibre/cli-commands'
You can import command metadata (used to generate CLI documentation) from the calibre/cli-metadata export:
import { getCommandMetaData } from 'calibre/cli-metadata' console.log(JSON.stringify(getCommandMetaData(), null, 2))
Happy to hear you’re interested in contributing to Calibre’s APIs! Please find our contribution guidelines here.
We prepared a handful of examples for common actions you might want to perform:
Find code examples and more information for the CLI and Node.js API in our documentation.
This project is MIT licensed.