How to Run Postman Collections in CI Without Newman

Newman has npm supply chain risk and Postman's free runner has limits. Run Postman collections in CI without Newman using Apidog CLI, k6, or Hurl.

Ashley Innocent

Ashley Innocent

20 April 2026

How to Run Postman Collections in CI Without Newman

Apidog for Enterprise

On-Premises Deploy

SSO & RBAC

SOC 2 Compliant

Explore Apidog Enterprise

TL;DR

Newman, Postman’s official CLI runner, requires npm and Node.js in your CI pipeline. That introduces supply chain risk, adds dependency management overhead, and on Postman’s free tier, collection runs via the API are now rate-limited. This guide covers three alternatives for running API tests in CI without Newman: Apidog’s CLI runner, k6, and Hurl. Apidog is the most direct path if you have existing Postman collections because it imports them natively and has no per-run limits.

💡
Apidog is a free, all-in-one API development platform. Its CLI runner executes Postman-compatible collections in CI with no npm dependency and no run-count limits. Try Apidog free, no credit card required.
button

Introduction

Newman was a good idea. A CLI tool that runs Postman collections in CI pipelines made API testing portable and automatable. It shipped with Postman’s brand trust, integrated with GitHub Actions via a popular community action, and worked well enough that many teams built their entire API test automation strategy around it.

Then three problems emerged.

First, Newman is an npm package. Every pipeline that uses it pulls from the npm registry at build time. The 2021 ua-parser-js compromise and the 2022 node-ipc incident demonstrated that npm supply chain attacks are not theoretical. Security teams started asking why the API testing layer needed npm at all.

Second, Postman began limiting collection runs on free and basic paid tiers. Teams that relied on running collections via the Postman API as part of CI hit quotas and had to either upgrade plans or redesign their pipelines.

Third, Newman’s maintenance pace has slowed. Issues sit open on GitHub for months. Some newer Postman scripting APIs have inconsistent support in Newman.

The result: developers who built CI pipelines on Newman are now looking for alternatives. Here’s what’s available.

Apidog’s CLI runner is the closest functional replacement for Newman if you’re already invested in Postman collections.

What it supports

No npm required. The Apidog CLI is distributed as a standalone binary. You download it once, add it to your PATH, and it runs.

No per-run limits. Apidog doesn’t cap collection runs on any plan. A pipeline that runs 500 collections per day works the same as one that runs 5.

Installation

Download the CLI binary for your platform from apidog.com/cli or use the shell installer:

# macOS / Linux
curl -sSf https://apidog.com/cli/install.sh | sh

# Verify
apidog --version

For Docker-based CI runners, Apidog provides an official image:

FROM apidog/cli:latest

Running a Postman collection

Export your collection from Postman (File > Export > Collection v2.1) and your environment (Manage Environments > Export).

Then run:

apidog run collection.json \
  --environment environment.json \
  --reporter-junit results.xml

GitHub Actions example

name: API Tests

on: [push, pull_request]

jobs:
  api-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Apidog CLI
        run: curl -sSf https://apidog.com/cli/install.sh | sh

      - name: Run API tests
        run: |
          apidog run ./tests/collection.json \
            --environment ./tests/env.json \
            --reporter-junit test-results.xml

      - name: Upload test results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: api-test-results
          path: test-results.xml

No npm install, no package.json, no Node.js version matrix. The job runs faster and the dependency surface is smaller.

GitLab CI example

api-tests:
  image: apidog/cli:latest
  script:
    - apidog run ./tests/collection.json
        --environment ./tests/env.json
        --reporter-junit test-results.xml
  artifacts:
    reports:
      junit: test-results.xml

Option 2: k6

k6 is a load testing tool from Grafana Labs that also handles functional API testing. It’s worth knowing because it’s genuinely excellent for performance testing alongside functional checks.

What it supports

What it doesn’t support

When to choose k6

If you need to combine functional testing with performance testing in the same pipeline – for example, verifying API correctness under load – k6 is worth the migration cost. If you just want to replace Newman for functional tests, Apidog is faster to set up.

Basic k6 usage in CI

# Install (Linux)
sudo apt-get install k6

# Run a test script
k6 run api-tests.js

k6 CI outputs pass/fail based on threshold definitions in your script. JUnit XML output is available via the k6-reporter package.

Option 3: Hurl

Hurl is an open-source HTTP testing tool written in Rust. It’s fast, has zero runtime dependencies, and uses a plain-text DSL for defining requests and assertions.

What it supports

What it doesn’t support

When to choose Hurl

If you’re willing to rewrite your tests in Hurl’s DSL, you get a remarkably small binary with no runtime. The binary is a single 10 MB file. Hurl is a strong choice for new projects where you’re not carrying Postman collection debt.

Basic Hurl test example

GET https://api.example.com/users/1
HTTP 200
[Asserts]
jsonpath "$.id" == 1
jsonpath "$.email" isString

Hurl in GitHub Actions

- name: Install Hurl
  run: |
    curl -LO https://github.com/Orange-OpenSource/hurl/releases/latest/download/hurl-x86_64-unknown-linux-gnu.tar.gz
    tar -xf hurl-*.tar.gz
    sudo mv hurl /usr/local/bin/

- name: Run API tests
  run: hurl --test tests/*.hurl

Comparing the three options

Feature Apidog CLI k6 Hurl
Postman import Native Converter (lossy) No
npm dependency No No No
JavaScript scripting Yes (pm.* API) Yes (ES6) No (DSL only)
Performance testing No Yes No
Binary size ~50 MB ~30 MB ~10 MB
Free run limits None None None
JUnit output Yes Via plugin Yes

Migrating from Newman: practical steps

If you have an existing Newman-based pipeline, here’s the migration path to Apidog CLI:

Export your collections. In Postman, right-click each collection and export as v2.1. Export your environments separately.

Install Apidog CLI. Add the install step to your CI config.

Replace the Newman command. A typical Newman command looks like:

newman run collection.json -e environment.json --reporters junit --reporter-junit-export results.xml

The Apidog equivalent:

apidog run collection.json --environment environment.json --reporter-junit results.xml

The flag structure is similar by design.

Check script compatibility. Run your collection locally with Apidog CLI before committing the CI change. Most pm.* scripts run without modification. Scripts that use pm.require to load external modules need adjustment.

Remove Node.js from your CI config. If Newman was the only reason Node.js appeared in your pipeline, you can remove the Node.js setup step and the npm install step entirely.

FAQ

Is Newman officially deprecated?No, as of early 2026 Newman is still maintained by Postman. But the maintenance pace is slow and several open issues affect real-world use cases. It’s not going away soon, but building new pipelines on it carries increasing risk.

Does Apidog CLI require an Apidog account?For running locally exported collections, no. For syncing collections from an Apidog workspace, yes. If you’re migrating from Postman, you can run purely from exported JSON files.

Can Apidog CLI run data-driven tests?Yes. Pass a CSV or JSON data file with the --iteration-data flag. This is equivalent to Newman’s -d flag for data-driven iteration.

What’s the supply chain risk with npm-based runners?Any package pulled from npm at CI time is a potential attack surface. Compromised packages can exfiltrate environment variables, which in a CI context includes API keys and tokens. A binary runner downloaded over HTTPS and pinned to a checksum avoids this class of risk.

Does k6 support gRPC testing?Yes. k6 has native gRPC support, which makes it one of the few open-source tools that handles both REST and gRPC in the same test suite. If your API surface includes gRPC endpoints, k6 is worth evaluating.

Does Hurl support authentication headers?Yes. Hurl supports custom headers, including Authorization, Bearer, and cookie-based auth. Variables allow you to inject secrets from environment variables at runtime.

Newman’s era of being the default CI choice for API tests is ending. The supply chain risks are real, the free tier limits have changed the math for many teams, and better alternatives now exist. The migration to a Newman-free pipeline is straightforward, especially if you’re moving to Apidog CLI with your existing Postman collections.

Explore more

How to Secure API Collaboration with Role-Based Access Control (RBAC)

How to Secure API Collaboration with Role-Based Access Control (RBAC)

A practical guide for protecting shared API workspaces, endpoints, credentials, docs, mocks, tests, and production environments during API collaboration.

5 June 2026

Stoplight + Postman vs Apidog: One Platform for API Design, Docs, and Testing

Stoplight + Postman vs Apidog: One Platform for API Design, Docs, and Testing

Evaluating whether Apidog can replace both Stoplight and Postman in one spec-first, Git-native workflow. Side-by-side comparison with real trade-offs.

5 June 2026

OpenAPI Collaboration Without Abandoning Git: How File-Based Teams Work Together

OpenAPI Collaboration Without Abandoning Git: How File-Based Teams Work Together

OpenAPI team collaboration when specs live in Git: how to layer review, mocks, and notifications without leaving your file-based workflow.

5 June 2026

Practice API Design-first in Apidog

Discover an easier way to build and use APIs

How to Run Postman Collections in CI Without Newman