# Install graphqurl with Homebrew, Nix, dnf, MacPorts, zypper

Curl for GraphQL with autocomplete, subscriptions and GraphiQL. Version 2.0.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:graphqurl
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install graphqurl
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install gq
```

  Evidence: MacPorts ports tree: net/gq/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#graphqurl
```

  Evidence: nixpkgs package indexes: pkgs/by-name/gr/graphqurl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- dnf (92%):

```sh
sudo dnf install gq
```

  Evidence: Fedora Rawhide package metadata: gq from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- zypper (92%):

```sh
sudo zypper install gq
```

  Evidence: openSUSE Tumbleweed package metadata: gq from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:graphqurl
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/graphqurl>
- **Version:** 2.0.0
- **Source summary:** Curl for GraphQL with autocomplete, subscriptions and GraphiQL
- **Homepage:** <https://github.com/hasura/graphqurl>
- **Repository:** <https://github.com/hasura/graphqurl>
- **Upstream docs:** <https://github.com/hasura/graphqurl#readme>
- **License:** Apache-2.0
- **Source archive:** <https://registry.npmjs.org/graphqurl/-/graphqurl-2.0.0.tgz>
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- gq (cli)
- graphqurl (cli)
- gq (alias)
- graphqurl (alias)

## Dependencies

- node

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.0.0
- Local data: ok
- Upstream repository: https://github.com/hasura/graphqurl
- info: No package-manager update timestamp was available.
- info: No cached GitHub release or tag data was available.
## Project history and usage

graphqurl is Hasura's curl-like CLI and JavaScript client for GraphQL. It provides the `gq` and `graphqurl` executables for sending queries, using headers and variables, running autocomplete from introspection, executing subscriptions, and exporting schemas.

### Project history

Hasura built graphqurl to make GraphQL endpoint interaction feel closer to curl while preserving GraphQL-specific affordances such as introspection, query autocomplete, subscriptions, and schema export.

The v1.0 announcement emphasized reducing bundle size by moving away from Apollo Client for basic query and subscription work, positioning graphqurl as a lighter tool for users who wanted GraphQL requests without broader client-side caching machinery.

### Adoption history

graphqurl's adoption is closely tied to Hasura users and to developers who need a terminal-friendly way to inspect or exercise arbitrary GraphQL endpoints. It is packaged by Homebrew and several other package managers under names such as `graphqurl` or `gq`.

Its README and npm package highlight two surfaces: a CLI for shell workflows and a Node/browser library through `createClient`. That dual identity made it useful both as a quick manual testing tool and as a small dependency for scripts.

### How it is used

The common CLI pattern is `gq ENDPOINT -H 'Authorization: Bearer <token>' -q 'query { ... }'`. Users can also omit the query and use TAB-driven autocomplete based on schema introspection.

For schema work, `gq <endpoint> --introspect` can emit GraphQL SDL or JSON. For realtime APIs, graphqurl can execute subscriptions and stream responses to stdout. Earlier documented workflows also exposed a local GraphiQL UI; the GitHub README notes that GraphiQL support was removed from version 2.0.0 onward.

### Why package nerds care

graphqurl is the GraphQL answer to the perennial packaging question: why do I need a whole SDK to send one API request? It packages the 80 percent terminal workflow into a single executable while still understanding GraphQL concepts curl cannot infer.

It is also interesting because package managers expose both the long package name and the short `gq` executable, making it show up in CLI namespace conversations alongside generic HTTP clients, GraphQL IDEs, and API-specific CLIs.

### Timeline

- Initial package era: graphqurl appeared as a Hasura-maintained CLI and JavaScript client for GraphQL endpoint access.
- v1.0: Hasura announced a lighter implementation and promoted CLI queries, local GraphiQL, subscriptions, browser/Node use, and schema export.
- v2.0.0: The project removed GraphiQL UI support, with the README directing users to v1.0.3 for that feature.

### Related projects

- Hasura GraphQL Engine is the ecosystem project most closely associated with graphqurl.
- curl is the conceptual model for graphqurl's terminal user experience.
- GraphiQL is an adjacent UI workflow that graphqurl supported in earlier versions.
- GraphQL Inspector and GraphQL CLI sit nearby as schema-management tools rather than request clients.

### Sources

- <https://github.com/hasura/graphqurl>
- <https://github.com/hasura/graphqurl#readme>
- <https://github.com/hasura/graphqurl/releases>
- <https://hasura.io/blog/graphqurl-v1-curl-for-graphql>
- <https://www.npmjs.com/package/graphqurl>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** graphqurl
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - graphqurl: normalized package name match | nixpkgs package indexes: pkgs/by-name/gr/graphqurl/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - gq: installed executable or alias match | MacPorts ports tree: net/gq/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- dnf - gq - 1.3.4-56.fc44: installed executable or alias match | Fedora Rawhide package metadata: gq from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Graphical LDAP directory browser and editor | http://sourceforge.net/projects/gqclient/
- zypper - gq - 1.2.3-94.5: installed executable or alias match | openSUSE Tumbleweed package metadata: gq from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | An LDAP Client for GTK | http://gq-project.org/


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [node](https://www.automicvault.com/pkg/brew/node/) - Runtime dependency declared by Homebrew.
- [graphql-inspector](https://www.automicvault.com/pkg/brew/graphql-inspector/) - Shares av.db curated category or tags: api, cli, developer-tools, graphql.
- [graphqlviz](https://www.automicvault.com/pkg/brew/graphqlviz/) - Shares av.db curated category or tags: api, cli, developer-tools, graphql.
- [graphqxl](https://www.automicvault.com/pkg/brew/graphqxl/) - Shares av.db curated category or tags: api, cli, developer-tools, graphql.
- [httpyac](https://www.automicvault.com/pkg/brew/httpyac/) - Shares av.db curated category or tags: api, api-client, cli, developer-tools, graphql.
- [httpie](https://www.automicvault.com/pkg/brew/httpie/) - Shares av.db curated category or tags: api, api-client, cli, developer-tools, http-client.
- [ain](https://www.automicvault.com/pkg/brew/ain/) - Shares av.db curated category or tags: api, api-client, cli, developer-tools.
- [curlie](https://www.automicvault.com/pkg/brew/curlie/) - Shares av.db curated category or tags: api, cli, developer-tools, http-client.
- [graphql-cli](https://www.automicvault.com/pkg/brew/graphql-cli/) - Shares av.db curated category or tags: cli, developer-tools, graphql.
- [graphqurl](https://www.automicvault.com/pkg/npm/graphqurl/) - Same normalized package name appears in another local ecosystem. Shared terms: autocomplete, curl, gq, graphql, graphqurl.
- [graphqurl](https://www.automicvault.com/pkg/npm/graphqurl/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/graphqurl.yml](https://github.com/automic-vault/db/blob/main/combined/graphqurl.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
