> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://learning.postman.com/llms.txt.

# Explore Postman's command-line companion

The Postman CLI is a secure command-line companion for Postman. It's signed and supported by Postman, like the Postman app. The Postman CLI supports the following features:

* [Sign in and sign out of Postman](/docs/postman-cli/postman-cli-options/#sign-in-and-out) from the command line.
* [Validate, synchronize, and push local collections and environments](/docs/postman-cli/postman-cli-options/#sync-local-elements-with-workspaces) to Postman workspaces in the cloud.
* [Run a collection](/docs/postman-cli/postman-cli-run-collection/) with its collection ID or path, and send the run results to the Postman cloud by default.
* [Run a monitor](/docs/postman-cli/postman-cli-run-monitor/) in the Postman cloud with its monitor ID.
* [Start a runner](/docs/postman-cli/postman-cli-run-monitor/) in your internal network to monitor APIs with private endpoints.
* [Run a performance test](/docs/postman-cli/postman-cli-options#postman-performance-run) with the specified collection ID.
* Generate a local collection run report with [built-in reporters](/docs/postman-cli/postman-cli-reporters/).
* [Check API definitions](/docs/postman-cli/postman-cli-options/#governance) against configured API governance rules.

The Postman CLI requires a valid Postman API key. For more information, see [Generate and use Postman API keys](/docs/reference/postman-api/authentication/).

The Postman desktop app also supports a built-in terminal with [Native Git](/docs/use/native-git/overview/).

## Comparing the Postman CLI and Newman

The table below shows a high-level comparison of the Postman CLI and [Newman](/docs/reference/newman-cli/command-line-integration-with-newman/).

| Postman CLI                                                            | Newman                                                                        |
| ---------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Created by Postman                                                     | Created by Postman                                                            |
| Maintained and supported by Postman                                    | Open source; supported by community contributions                             |
| Supports collection runs                                               | Supports collection runs                                                      |
| Automatically sends collection run results to Postman by default       | Supports ingesting run results to Postman using a reporter                    |
| Package is signed by Postman                                           | Package isn't signed by Postman                                               |
| Distributed as a downloadable package                                  | Distributed on npm                                                            |
| Downloadable programmatically                                          | Downloadable programmatically                                                 |
| Not available as a library                                             | Available as a library                                                        |
| Supports sign in and sign out                                          | Doesn't support sign in and sign out                                          |
| Checks API specifications against your configured API governance rules | Doesn't check API specifications against your configured API governance rules |

## Decide which command-line companion to use

You can use the Postman CLI or Newman to run and test collections from the command line. One may be a better fit, depending on your use case or preferences.

For example, assume you already manage your own security for open-source software, and you want to run collections from a script. Also assume you want visibility into any software you build into your CI/CD pipeline. Newman would be a good fit for this use case because Newman's repository is public and Newman isn't signed or secured by Postman.

Here's another example. Assume you don't already support or secure any open-source software, and you want the software you use to be signed and secured by its developer. The Postman CLI would be a good fit for this use case because the Postman CLI is signed and secured by Postman.

Learn how to [install the Postman CLI](/docs/postman-cli/postman-cli-installation/).