⛵ Argo

Compatible with GraphQL October 2021 Edition. View Argo on GitHub.

Argo is a compact and compressible binary serialization format for GraphQL. It aims to:

Argo:

Compressed Argo responses are typically 5%-40% smaller than corresponding compressed JSON responses.

Uncompressed Argo responses are typically 50%-80% smaller than corresponding JSON responses.

WhatsApp is the largest user of Argo. Compressed WhatsApp Argo payloads are 25% smaller than JSON, and 5% smaller than WhatsApp’s purpose-built binary protocol (WAP).

Specification

Argo has a formal specification:

Reference implementation

argo-js is a reference implementation of Argo in TypeScript, and can be found in this repository. It is distributed on NPM under the name argo-graphql.

3rd party implementations

These open-source implementations are maintained separately:

Conference talks

Authors and contributors

Argo was created and authored by Mike Solomon.

A big Thank You to these fine folks who have contributed on GitHub!