Skip to content

Schemathesis

Schemathesis automatically generates property-based tests from your OpenAPI or GraphQL schema and exercises the edge cases that break your API.

Schemathesis automatically finding a server error
Finding a server error that manual testing missed

Try it now

uvx schemathesis run https://example.schemathesis.io/openapi.json

This command will immediately find real bugs in a demo API and show you exactly how to reproduce them.

Supported specifications

Specification Versions
OpenAPI 2.0 (Swagger), 3.0, 3.1, 3.2
GraphQL June 2018 and later

Why teams choose Schemathesis

  • 🎯 Find real bugs on the first run (commonly 5–15 in production schemas).
  • 🧠 Adapts as it runs: learns from server responses, threads real values into later requests, and shifts effort away from operations that aren't producing useful signal.
  • ⏱️ No per-endpoint tests to maintain — point it at your schema and run.
  • 🐛 Every finding ships with a minimal curl reproducer.
  • 🔌 Plugs into existing setups: CLI, pytest, GitHub Actions, plus Allure, JUnit XML, and HAR output.

Developer feedback

"The tool is amazing as it can test negative scenarios instead of me and much faster!"

— Luděk Nový, JetBrains

Documentation

Important

Upgrading from older versions? See the Migration Guide for key changes.

Need help?

  • Resources — Community articles, videos, and tutorials
  • FAQ — Frequently Asked Questions