Skip to main content

Clairvoyance

Obtain GraphQL API schema even if the introspection is disabled.

PyPI PyPI - Python Version PyPI - Downloads GitHub

Introduction

Some GraphQL APIs have disabled introspection. For example, Apollo Server disables introspection automatically if the NODE_ENV environment variable is set to production.

Clairvoyance helps to obtain GraphQL API schema even if the introspection is disabled. It produces schema in JSON format suitable for other tools like GraphQL Voyager, InQL or graphql-path-enum.

Getting Started

pip

pip install clairvoyance
clairvoyance https://rickandmortyapi.com/graphql -o schema.json
# should take about 2 minutes

docker

docker run --rm nikitastupin/clairvoyance --help

Advanced Usage

Which wordlist should I use?

There are at least three approaches:

  • Use one of the wordlists collected by Escape Technologies
  • Use general English words (e.g. google-10000-english).
  • Create target specific wordlist by extracting all valid GraphQL names from application HTTP traffic, from mobile application static files, etc. Regex for GraphQL name is [_A-Za-z][_0-9A-Za-z]*.

Environment variables

LOG_FMT=`%(asctime)s \t%(levelname)s\t| %(message)s` # A string format for logging.
LOG_DATEFMT=`%Y-%m-%d %H:%M:%S` # A string format for logging date.
LOG_LEVEL=`INFO` # A string level for logging.

Support

In case of questions or issues with Clairvoyance please refer to wiki or issues. If this doesn't solve your problem feel free to open a new issue.

Contributing

Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change. For more information about tests, internal project structure and so on refer to our contributing guide.

Documentation

You may find more details on how the tool works in the second half of the GraphQL APIs from bug hunter's perspective by Nikita Stupin talk.

Contributors

Thanks to the contributors for their work.

Release files for Clairvoyance 2.5.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Clairvoyance 2.5.5
File Size Uploaded
clairvoyance-2.5.5.tar.gz 55.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for Clairvoyance 2.5.5
File Interpreter ABI Platform
clairvoyance-2.5.5-py3-none-any.whl Python 3 none any Details

Total release size: 114.2 kB

Release files / clairvoyance-2.5.5.tar.gz

Download URL clairvoyance-2.5.5.tar.gz
Size 55.8 kB
Tags Source
SHA-256 checksum
How to use checksums
5d47d60adf5f43c5d7e99234637b8fa56c45dcb4373081a79b2e093daf707aee
BLAKE2b-256 checksum
How to use checksums
6cbc601921ec0aba1b73e3c7a9be2f8c82745d924760a2076b5d2d03db0bfbd2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / clairvoyance-2.5.5-py3-none-any.whl

Download URL clairvoyance-2.5.5-py3-none-any.whl
Size 58.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ddd05b15f7ad909de9711542c4f7be806fa9c42074165b2e8fb76d3877158b42
BLAKE2b-256 checksum
How to use checksums
4083ce26491b4f9c841960c085beefa9f003d0658d084fbfdfe411a546883a01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

2.5.5 This release

2 release files

2.5.4

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.0.6

2 release files

2.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page