# CLI - Introduction

Our official CLI brings the full capabilities of our platform to your terminal.

![urlscan CLI](/assets/cli-screenshot.b6b97e36466fe8c322c359bd09362434668d88979c9e2d72a2008b5270b31910.9c1bb791.png)

## Key Features

- **Comprehensive API support**: The CLI supports all our free and pro API endpoints.
- **Bulk submissions**: Instead of scanning links individually, scan multiple URLs at once.
- **Automatic search iteration**: Retrieve large datasets by automatically iterating a search.
- **Cross-platform support**: urlscan-cli is implemented in go and is available for Windows, macOS, and Linux.


The majority of commands in `urlscan-cli` will return raw JSON responses. You will likely want to parse these with a tool like `jq`. Note that some functionality will require a urlscan Pro account.

## Documentation

For the full documentation please visit the urlscan-cli [Github page](https://github.com/urlscan/urlscan-cli/).

## Installation

Installation is straightforward with multiple options available:

- Pre-built binaries are available for all platforms on [GitHub releases](https://github.com/urlscan/urlscan-cli/releases).
- macOS users should install via Homebrew:



```bash
brew install --cask urlscan/tap/urlscan-cli
```

Once installed, start by setting up your urlscan API key. You can generate an API key on the User page on urlscan.io.


```bash
# Set the API key via keyring
urlscan key set


# Alternatively you can simply supply the API key via the environment
export URLSCAN_API_KEY=xxx
```

## Support

For any suggestions about improvements or further functionality we would love to get your feedback on the urlscan-cli [Github project](https://github.com/urlscan/urlscan-cli/releases).