Obtain GraphQL API schema even if the introspection is disabled
Python
1,542
132 commits
updated Dec 5, 2025
Obtain GraphQL API schema even if the introspection is disabled.
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.
pip install clairvoyance
clairvoyance https://rickandmortyapi.com/graphql -o schema.json
# should take about 2 minutes
docker run --rm nikitastupin/clairvoyance --help
There are at least three approaches:
[_A-Za-z][_0-9A-Za-z]*.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.
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.
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.
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.
Thanks to the contributors for their work.
(top 24 of 26)
465 followers · starred Apr 2023
496 followers · starred Oct 2024
241 followers · starred Oct 2025
1,758 followers · starred Jul 2024
Obtain GraphQL API schema even if the introspection is disabled
Python
1,542
132 commits
updated Dec 5, 2025
Obtain GraphQL API schema even if the introspection is disabled.
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.
pip install clairvoyance
clairvoyance https://rickandmortyapi.com/graphql -o schema.json
# should take about 2 minutes
docker run --rm nikitastupin/clairvoyance --help
There are at least three approaches:
[_A-Za-z][_0-9A-Za-z]*.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.
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.
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.
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.
Thanks to the contributors for their work.
(top 24 of 26)
465 followers · starred Apr 2023
496 followers · starred Oct 2024
241 followers · starred Oct 2025
1,758 followers · starred Jul 2024