Skip to main content

Introduction

The Linkup CLI is the official terminal client for Linkup. Use it to run Search, Fetch, Research, and Tasks from your shell.

Github

Repository (feel free to contribute)

NPM

NPM page

Quickstart

Get started with the Linkup CLI in less than 5 minutes.

Get your API key

Create a Linkup account for free to get your API key.

Installation

Install the CLI globally from npm:
The CLI requires Node.js 22 or newer.

Authentication

Configure your API key once with the interactive setup flow:
This saves your key to ~/.linkup/config. For scripts, CI, or temporary sessions, set LINKUP_API_KEY instead:
LINKUP_API_KEY takes precedence over the saved config file. Use linkup config to inspect the resolved configuration, and linkup logout to remove the saved key.

Usage

The global --json flag prints raw JSON responses, which is useful for scripts and tools:
Use --help on any command to see the full command-specific help. Use linkup search to run an immediate web search. The short alias is linkup s.
You can also pipe a query through stdin:

Fetch

Use linkup fetch to extract a URL as markdown. The short alias is linkup f.

Research

Use linkup research to run a deep research task asynchronously. The short alias is linkup r.
Use linkup research get <id> to fetch a research task by ID. Add --wait to poll until the task completes. Use linkup research list to list recent research tasks. It supports --page, --page-size, --sort-by, and --sort-direction.

Tasks

Use linkup tasks to create and manage asynchronous Search, Fetch, and Research tasks. The short alias is linkup t. Create tasks from a JSON file or stdin:
Task JSON can be a single task request or an array of task requests using camelCase fields:
linkup tasks list supports task statuses "pending", "processing", "completed", and "failed", and task types "search", "fetch", and "research".

Asynchronous tasks

For linkup search and linkup fetch, add --async to enqueue the call as a task:
Add --wait to poll until the task completes and print the result:
Waiting uses --poll-interval 5 and --timeout 1200 by default. If a wait times out, the task keeps running and the CLI prints a command you can run later to resume waiting.

Scripting

Use --json with command-line tools such as jq:
You can combine --json, stdin, and file input to build repeatable scripts:

Additional resources

CLI changelog

Read the CLI changelog for release notes.

Endpoint guides

Use the endpoint guides to learn the API concepts behind each command: Search, Fetch, Research, and Tasks. You’re ready to use the Linkup CLI from your terminal.
Need help? Email support@linkup.so, ping us on Discord, or talk to us.