Picking a CLI test runner for your pipeline starts with one implementation question: where do your API definitions and tests already live? If your team builds and shares requests in Insomnia, inso is the natural CLI. If you want API design, mocks, docs, debugging, and testing in one workspace, Apidog CLI is worth evaluating.
What each tool is
inso is the command-line companion to Insomnia, Kong’s open-source API client. It lets you run request collections, run unit-test suites, and lint OpenAPI specs from the terminal or CI. It reads the same data your Insomnia desktop app uses, so requests built in the GUI can run headlessly.
Apidog CLI is the terminal runner for Apidog, an all-in-one API platform for design, debugging, mocking, documentation, and testing. The CLI runs test scenarios and collections from an Apidog project, supports data-driven runs, and outputs reports in multiple formats. It can also import OpenAPI and manage API resources such as endpoints, schemas, and branches as code.
The practical difference: inso is a focused runner and OpenAPI linter for the Insomnia ecosystem. Apidog CLI is the automation surface for a broader API platform.
Apidog CLI vs inso: quick comparison
| Capability | inso / Insomnia CLI | Apidog CLI |
|---|---|---|
| Install |
brew install inso, Docker image kong/inso, or direct download |
Download installer; runs scenarios from an Apidog project |
| What it runs | Test suites and request collections by name | Test scenarios and collections from a project |
| Data source |
.insomnia directory via Git Sync or Insomnia app DB; override with --workingDir / --src
|
Project test scenarios synced to the Apidog workspace |
| Data-driven testing | Not a built-in run flag | Yes, with -d and CSV/JSON datasets |
| Reporters | Console/CI output | CLI, HTML, JSON, and cloud reports with --upload-report
|
| Spec linting | Yes, inso lint spec via Spectral |
No standalone linter; validates specs on import |
| Resource/branch-as-code | No | Yes, manage endpoints, schemas, branches, and related resources |
| Platform integration | Works with Insomnia | Design, mock, docs, debug, and test in one platform |
| Open source | Yes, Insomnia is open source | Commercial platform |
| Pricing | Free | Free tier available |
The table is the short version. The sections below focus on what matters when you wire either CLI into CI.
Install the CLI
Install inso
inso has several documented install paths:
# Homebrew
brew install inso
# Docker
docker pull kong/inso:latest
Direct downloads are also available for Windows, Linux, and macOS. Historically, inso was available on npm as insomnia-inso, but Homebrew, Docker, and direct downloads are the current documented paths.
The Docker image is useful for CI runners where you do not want to manage a Node.js toolchain.
Install Apidog CLI
Apidog CLI installs from the Apidog download page. It runs scenarios that live in your Apidog project.
Because the tests are tied to the project, the CLI pulls the current project definition instead of reading a local folder you must keep synchronized manually.
For setup details, see:
Run tests: local folder vs synced project
This is the main implementation split in the Apidog CLI vs Insomnia CLI decision.
Run tests with inso
inso references suites, collections, and specs by name. It finds them in either:
- a
.insomniadirectory in your working directory, usually created by Insomnia Git Sync - the Insomnia app data directory if the desktop app is installed
You can override the location with --workingDir or --src.
inso run test "Smoke Suite" --env "CI"
inso run collection "User API" --env "Staging"
inso script seed-data --env env_staging
This model works well if your team commits the .insomnia folder and treats it as the source of truth.
The tradeoff: your CI checkout needs that folder, and suite/collection names must remain stable.
Run tests with Apidog CLI
Apidog CLI runs test scenarios from an Apidog project. You authenticate with a login or access token, then run a scenario or collection against an environment.
apidog run -t "<scenario-or-collection>" -e "<environment>"
For example:
apidog run -t "Smoke Suite" -e "CI"
The test definition comes from the Apidog project, so the same scenario your team builds in the GUI is what runs in CI.
Use inso if Git-committed Insomnia data is your source of truth. Use Apidog CLI if the project workspace is your source of truth.
Use data-driven testing
If you need to run one scenario against many input rows, Apidog CLI has a built-in path.
Apidog CLI supports data-driven testing with -d, pointing to a CSV or JSON dataset. Each row becomes an iteration with its own variables.
apidog run -t "Checkout Flow" -e "Staging" -d ./datasets/orders.csv
Use this when you want one scenario to cover multiple payloads, users, products, or edge cases.
The full workflow is covered in data-driven testing with the Apidog CLI.
inso does not expose a first-class data-driven run flag. You can parameterize with environments and script iterations around inso in CI, but row-by-row CSV/JSON iteration is not built in.
Generate reports for CI
Both tools can fail a build through exit codes. The difference is in the output formats.
Apidog CLI reports
Apidog CLI can produce:
- CLI output
- HTML reports
- JSON reports
- hosted cloud reports with
--upload-report
Example:
apidog run -t "Smoke Suite" -e "CI" -r html,json
Use HTML when you want a CI artifact that teammates can open. Use JSON when you want to feed results into dashboards or downstream automation.
See the Apidog CLI test reports guide for report options.
inso reports
inso prints test results to the console and exits with pass/fail status. That is enough for most CI systems:
inso run test "Smoke Suite" --env "CI"
If you need rich HTML artifacts or hosted reports without extra tooling, Apidog CLI provides more built-in reporting options.
Lint OpenAPI specs
This is where inso has a clear advantage.
inso includes OpenAPI linting:
inso lint spec "Payments API"
inso export spec "Payments API" --output openapi.yaml
Under the hood, inso lint spec uses Spectral, Stoplight’s OpenAPI linter. That lets you enforce style rules, catch contract issues, and gate pull requests on spec quality.
If your team practices spec-first API design and wants linting in CI from the same CLI that runs tests, inso is strong here.
Apidog CLI does not provide a standalone OpenAPI linter, style-guide command, split command, join command, or bundle command. Apidog validates specs when you import them, but that is import validation, not a Spectral-style CI lint step.
If OpenAPI linting is a hard requirement, use inso or add a separate Spectral step.
Manage resources and branches as code
Apidog CLI can manage API resources as code. From the terminal, you can import OpenAPI and work with resources such as endpoints, schemas, environments, branches, and merge requests.
That makes it possible to script API design changes and connect them to the same automation that runs tests.
inso does not try to be a resource-management CLI. It can export a spec, but it is mainly a runner and linter.
If you want the same CLI to support both API resource management and test execution, Apidog CLI has the broader surface area.
Platform, open source, and pricing
inso is part of the Insomnia ecosystem. Insomnia is open source, which is important for teams that want inspectable tooling.
One planning note: Insomnia 8 introduced a required cloud/login account in 2023, which drew backlash, and there were migration and data-loss incidents around that period. For background, see:
That does not change the core point: inso is a solid free runner with Spectral linting built in.
Apidog is a commercial platform with a free tier. Its pitch is integration: design, mock, document, debug, and test APIs in one place, then automate that workspace with the CLI.
For broader comparisons, see:
If you want to test against a live API first, start with:
Wire either CLI into CI
Both tools follow the same CI shape:
- Install the CLI.
- Authenticate or point the CLI at its data source.
- Run the test command.
- Let the exit code pass or fail the build.
- Store reports if needed.
Example CI commands:
# inso in CI
- run: brew install inso
- run: inso run test "Smoke Suite" --env "CI"
# Apidog CLI in CI
- run: apidog run -t "Smoke Suite" -e "CI" -r html,json
For Apidog CI setup, see:
- Apidog CLI CI/CD pipeline guide
- Apidog CLI GitHub Actions walkthrough
- Apidog CLI authentication guide
Verdict
There is no universal winner. Choose based on how your team manages API definitions and tests.
Choose inso if:
- your team already uses Insomnia
- your
.insomniafolder is committed and treated as source of truth - you want Spectral OpenAPI linting in the same CLI
- you prefer a free runner in an open-source ecosystem
Choose Apidog CLI if:
- you want one platform for API design, mocks, docs, debugging, and testing
- your test scenarios live in an Apidog project
- you need data-driven runs with
-d - you want CLI, HTML, JSON, or hosted reports
- you want resource and branch management as code
The tradeoff is clear: Apidog CLI does not replace Spectral-style linting, but it gives you a more integrated workflow where the API you design is also the API you test.
If you are migrating from Insomnia, see migrate from inso / Insomnia CLI to Apidog CLI.
Ready to compare hands-on? Download Apidog and run a scenario against your own API.
Top comments (0)