EVERYTHING XIAOMI
Get listed

vacuum

Vacuum is a free, open-source linter and quality checker for OpenAPI, AsyncAPI, and JSON Schema specifications.

Place
#18 of 25
Score
6.1
vacuum's website

What vacuum is

Vacuum is a free, open-source linter and quality checker for OpenAPI, AsyncAPI, and JSON Schema specifications. It accepts YAML and JSON, supporting OpenAPI 2 and 3+, AsyncAPI 3, and JSON Schema documents. Written in Go, it is designed for command-line use and as a library, and its maker says it is built to handle very large specifications. Reports include a console dashboard, interactive HTML, and a sealed format that can be rendered again without rerunning lint logic. The HTML report has no external dependencies and works offline.

Vacuum accepts Spectral rulesets, and its maker describes its ruleset as a superset of Spectral's. Security rules check API security definitions and their placement. A Visual Studio Code extension detects and lints OpenAPI or AsyncAPI YAML and JSON files, while an official GitHub Action adds Vacuum to CI/CD workflows. It also supports JUnit XML output; by default, only error-severity violations create test failures in that output. Installation options include Homebrew, NPM, Yarn, a shell installer, Docker, or source checkout. AsyncAPI 2.x documents are rejected.

Good

  • Supports OpenAPI, AsyncAPI 3, and JSON Schema.
  • Produces offline HTML reports.
  • Includes a VS Code extension and GitHub Action.
  • Accepts Spectral rulesets.

Watch out

  • AsyncAPI 2.x documents are rejected.
  • The maker invites sponsorship for priority issue support.

Who it suits

Vacuum suits developers and teams who need local feedback, editor diagnostics, CI output, or reusable reports for API and schema specifications. It may also suit users with existing Spectral ruleset investments.

Verdict

Vacuum offers command-line, library, editor, and CI workflows for checking specifications, with reports that can work offline. Its AsyncAPI support is limited to version 3 documents.

The facts

Each one read from vacuum's own pages, with the date it was checked.

What it does

AsyncAPI limit
Vacuum supports AsyncAPI 3 documents, while AsyncAPI 2.x documents are rejected.checked 9 Oct 2026
CI integration
An official GitHub Action is available for adding vacuum to GitHub CI/CD workflows.checked 4 Oct 2026
CI reporting
Vacuum can output JUnit XML, and by default only error severity violations create test failures in that output.checked 9 Oct 2026
Distribution
The maker documents installation via Homebrew, NPM, Yarn, a shell installer, Docker and source checkout.checked 4 Oct 2026
Editor integration
The VSCode extension is listed in the Visual Studio Code Marketplace and Open VSX, and automatically detects and lints OpenAPI or AsyncAPI YAML and JSON files.checked 4 Oct 2026
Formats
Vacuum accepts YAML and JSON and supports OpenAPI 2 and 3+, AsyncAPI 3 and JSON Schema documents.checked 4 Oct 2026
GitHub Actions
The official GitHub Action adds vacuum to GitHub CI/CD workflows and accepts a custom ruleset path.checked 9 Oct 2026
How it runs
Vacuum is designed as a CLI with a UI and as a library for use in other applications.checked 9 Oct 2026
Implementation
Vacuum is written in Go, is multi-threaded and is designed as both a CLI and a library.checked 4 Oct 2026
Install options
The maker documents installation through Homebrew, NPM, yarn, a shell installer, Docker, or building from source.checked 9 Oct 2026
Offline reports
The generated HTML report has no external dependencies and runs offline.checked 4 Oct 2026
Performance
The maker says vacuum is written in Go, is multithreaded, and uses an index for complex rules.checked 9 Oct 2026
Purpose
Vacuum is a deterministic linter and quality checking tool for OpenAPI, AsyncAPI, and JSON Schema specifications.checked 9 Oct 2026
Reports
The report command saves lint results as replayable data that can be rendered again without changing the original results.checked 9 Oct 2026
Rules
The maker says vacuum accepts Spectral rulesets and that its ruleset is a superset of Spectral’s.checked 9 Oct 2026
Rulesets
Vacuum supports Spectral rulesets, and the maker describes its ruleset as a superset of Spectral’s.checked 4 Oct 2026
Scale
The maker says vacuum is designed to lint very large specifications and work at scale.checked 4 Oct 2026
Security checks
Its security rules check whether API security definitions are correctly defined and placed.checked 4 Oct 2026
Security control
The lint command exposes options to allow private or local network access for fetch requests and to allow HTTP URLs in custom JavaScript functions.checked 9 Oct 2026
Sponsor note
The FAQ invites sponsorship and says company sponsors can receive priority support for issues.checked 4 Oct 2026
Support
The FAQ says vacuum is actively supported and that companies sponsoring the project can receive priority support for issues.checked 9 Oct 2026

The company

Maker
The author page identifies the maker by the handle quobix and says the author's real name is Dave Shanley.checked 9 Oct 2026
Maker identity
The author identifies himself as Dave Shanley, uses the handle quobix and says he founded Princess Beef Heavy Industries.checked 4 Oct 2026

Where it runs

Signed macOS release
The maker recommends the Homebrew cask on macOS for the official release binary signed by Quobix.checked 9 Oct 2026

Alternatives to vacuum

All alternatives
  1. 1Karate logo

    Karate

    Free planOpen sourceAPIExtensionLinuxmacOS
    8.2From $100 a year
  2. 2

    ATA API Governance

    Free planWebAPIExtensionLinux
    7.7Free plan
  3. 3Postman logo

    Postman

    Free planWebExtensionLinuxmacOS
    7.6From $9 a month
  4. 4

    Apistaq

    Free planWebAPI
    7.2From $149 a month
  5. 5

    oasdiff

    Free planWebAPILinuxmacOS
    7.2From $100 a month
  6. 6DigitalAPI logo

    DigitalAPI

    WebAPISelf-hosted
    7.1From $2,500 a month