Official command-line interface for Linkup — AI-powered web search from your terminal.
- Search the web with four depth modes:
flash,fast,standard, anddeep. - Fetch any URL as clean markdown.
- Research asynchronously, and batch mixed jobs with tasks.
- Scriptable:
--jsonoutput for any command, plus stdin and file input.
npm install -g linkup-search-cliRequires Node.js >= 22
Find the complete documentation here.
Get an API key from app.linkup.so, then save it interactively or via the environment:
linkup setup
export LINKUP_API_KEY="your-api-key" # takes precedence over the saved configRun linkup config to inspect the resolved key, or linkup logout to remove a saved one.
Add --help to any command for the full list of options. Use --json (or -j) to print the raw API response for scripting.
linkup search "What is the capital of France?"
linkup fetch https://example.com
linkup research "State of the semiconductor market in 2026"These commands run immediately and return the result in the same call.
Run an immediate web search.
- Pick the effort with
--depth:flash,fast,standard(default), ordeep. - Choose the output with
--output:sourced-answer,search-results, orstructured. - Use
--include-imagesand--max-resultswith any output type. - Add
--include-inline-citationsto sourced answers or--include-sourcesto structured output.
linkup search "query" --depth deep
linkup search "query" --output structured --schema-file schema.json
linkup search "query" --include-domains linkup.so --from-date 2025-01-01Extract the content of a URL as markdown.
- Select
--mode standard(default) or--mode profor harder-to-retrieve pages. - Use
--render-jsfor JS-heavy pages. - Add
--include-raw-contentto include the source page content. - The deprecated
--include-raw-htmlflag remains available for compatibility. - Add
--extract-imagesto include image metadata. - Use
--schemaor--schema-fileto extract structured data, with optional--instructions.
linkup fetch https://example.com --mode pro --render-js
linkup fetch https://example.com --schema-file schema.json --instructions "Extract the title"These commands submit work that runs in the background. By default, they return a task id that you can use to fetch the result later.
Run deep research asynchronously.
- Control effort with
--mode:answer,auto,investigate, orresearch. - Set reasoning depth with
--reasoning-depth:S,M,L, orXL.
linkup research "query" # submit, prints id
linkup research get <id> # fetch the result later
linkup research list # recent tasksGeneric async API for batching and managing search, fetch, and research work. Create tasks from a JSON file or stdin (one object or an array, using camelCase fields):
linkup tasks create --file tasks.json
linkup tasks get <id>
linkup tasks list --status pending,processing --type search,researchFor single search or fetch calls, add --async to enqueue them as tasks.
Add --wait to any asynchronous command to poll until the task completes and print the result, instead of returning a task id immediately.
- Use
--poll-intervalto set the delay between checks (default: 5 seconds). - Use
--timeoutto set the maximum wait time (default: 20 minutes). - If the wait times out, the CLI prints a command you can run later to resume waiting.
linkup research "query" --wait # submit and wait for the answer
linkup tasks create --file tasks.json --wait # create tasks and wait
linkup research get <id> --wait # resume waiting on an existing task
linkup --json research "your question" --wait | jq '.output.answer'git clone https://github.com/LinkupPlatform/linkup-cli
cd linkup-cli
npm install
npm run build
npm link # makes 'linkup' available from this local build