Catch API bugs before your users do

Schemathesis: open source API testing tool that generates tests from OpenAPI and GraphQL schemas

Start Testing in Seconds

Want to see continuous monitoring in action? Explore Workbench - an API fuzzing dashboard

Trusted by engineers from

Core Features

Property-based testing for OpenAPI and GraphQL APIs

Property-Based Testing

Uses property-based testing to automatically generate diverse test cases. Explores your API's behavior systematically rather than testing individual scenarios manually

CI/CD Integration

Integrates with GitHub Actions, GitLab CI, and pytest workflows. Generates detailed test reports and integrates with your existing CI pipeline

Schema Validation

Validates API responses against your OpenAPI specification. Detects when your implementation doesn't match the documented behavior or response structure

Schema-Aware Fuzzing

Creates test inputs based on your schema's data types and constraints. Tests boundary values, type mismatches, and constraint violations to find input handling issues

Extensible Framework

Customize tests with Python hooks and config files. Add authentication, modify test data, and configure different settings per API operation

Reproducible Failures

Failed tests include minimal reproduction cases and curl commands for debugging. Test failures provide exact request data and expected vs actual responses

Academic Research

Used in Production

Engineers using Schemathesis in real-world applications

Schemathesis is the best tool for fuzz testing of REST API on the market. We at Red Hat use it for examining our applications in functional and integrations testing levels.

Dmitry Misharov portrait

Dmitry Misharov

Principal Quality Engineer at RedHat

The tool is incredible; it handles negative scenario testing much faster than I could in Postman, and without the maintenance burden.

Luděk Nový portrait

Luděk Nový

Quality Engineer at JetBrains

Among the other six tools, Schemathesis is clearly the one that puts the most emphasis on usage by practitioners, with its user-friendliness (e.g., GitHub Actions support) and extensive documentation.

Man Zhang & Andrea Arcuri

Open Problems in Fuzzing RESTful APIs: A Comparison of Tools

Frequently Asked Questions

Schemathesis uses property-based testing (built on Hypothesis) to automatically generate thousands of test cases from your API schema. Unlike traditional tools requiring manual test scripting, it finds edge cases and validation bugs with zero per-endpoint maintenance.

Server crashes, schema violations, validation bypasses, integration failures, and stateful bugs in multi-step workflows. Production schemas typically surface 5-15 issues on first run.

Minimal. Tests derive directly from your schema with zero per-endpoint maintenance. Add or modify endpoints, and tests automatically adapt when your schema updates.

OpenAPI (Swagger) 2.0, 3.0, and 3.1, plus GraphQL schemas. Load schemas from local files, URLs, or programmatically via the Python API.

Use the GitHub Action (schemathesis/action@v2), Docker image, or install via pip/uvx. Exports JUnit XML and detailed reports. Returns standard exit codes for build gating. Works with all major CI platforms.

Yes. Configure authentication via CLI flags (--auth, --header), environment variables, or Python hooks for complex flows. Supports Bearer tokens, Basic auth, API keys, and custom authentication schemes.

Yes. Run Schemathesis CLI alongside any test framework, or use native pytest integration for Python projects. The CLI works standalone or can be integrated into existing test suites and build scripts.

Need help?

Get technical support and discuss implementation questions

  • Ask configuration questions
  • Report bugs and issues
  • Share integration examples
Join our Discord