Skip to content
It parses AsyncAPI documents.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

AsyncAPI Parser

Build Status Build Status Go Report Card


The AsyncAPI Parser validates AsyncAPI documents according to dedicated schemas. The supported schemas are:

  • AsyncAPI schema
  • OpenAPI schema
  • JSON schema If you use the parser as a package, you can also register external schemas. For example, you can write your own schema.

Documents provided for the AsyncAPI Parser can be in the .yaml or .json formats. If a document is invalid, the parser provides a message listing all errors. If a document is valid, the parser provides dereferenced output. During the dereference process the AsyncAPI parser substitutes a reference with a full definition. The dereferenced output is always in the .json format.



To install the AsyncAPI Parser package, run:

go get


You can use the AsyncAPI Parser in two ways:

  • Before you use the AsyncAPI Parser in the terminal, build the application. Run:

    git clone
    cd ./parser
    go build -o=asyncapi-parser ./cmd/api-parser/main.go

    To use the AsyncAPI Parser run the following command:

    asyncapi-parser <document_path>

    where document_path is a mandatory argument that is either a URL or a file path to an AsyncAPI document.

  • You can also use the AsyncAPI Parser without building the application, using Golang. Run: bash go run ./cmd/api-parser/main.go <document_path> where document_path is a mandatory argument that is either a URL or a file path to an AsyncAPI document. Examples See the following examples of the AsyncAPI Parser usage in the terminal:

  • Validation of the gitter-streaming.yaml valid file:

  • Validation of the oneof.yml invalid file:

    go run ./cmd/api-parser/main.go


    (root): id is required
    (root): channels is required
    (root): Additional property topics is not allowed
    asyncapi: asyncapi must be one of the following: "2.0.0"


If you have a feature request, add it as an issue or propose changes in a pull request (PR). If you create a feature request, use the dedicated Feature request issue template. When you create a PR, follow the contributing rules described in the document.


  • avro schema support
  • extensions support
  • json-schema $id property support


  • Fran Mendez
  • Raisel Melian
  • Ruben Hervas
  • Marcin Witalis from Kyma
You can’t perform that action at this time.