A Modern OpenAPI Native Toolchain
<p>Polished and type-safe SDKs, Terraform providers and Contract Tests for your API. 10 Languages and counting.</p> <a href="https://app.speakeasy.com/"><img src="https://custom-icon-badges.demolab.com/badge/-Start%20Generating%20-000?style=for-the-badge&logoColor=fffff&logo=speakeasy-api&labelColor=545454" alt="Start Generating"/></a> <a href="https://youtu.be/-cSZGUvT5-8?si=VwJBPcOGq0g2R4cI"><img src="https://img.shields.io/static/v1?label=Docs&message=Watch%20Demo&color=000&style=for-the-badge" alt="Watch Demo" /></a> <div align="left"> <h1> <p> <a href="https://www.speakeasy.com/docs/sdk-design/typescript/methodology-ts" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/72392c17-5a6d-4aad-a0e2-b411fc5c733e"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/92990464-eea5-446f-9084-39fc5172e9c2"> <img width="70px" src="https://github.com/user-attachments/assets/72392c17-5a6d-4aad-a0e2-b411fc5c733e#gh-light-mode-only" alt="TypeScript"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/python/methodology-python" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/51b6860a-ebba-4fa2-8445-95bde33dea7e"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/f9c02d4c-874d-4d4f-b9e7-b8add4447e14"> <img width="70px" src="https://github.com/user-attachments/assets/51b6860a-ebba-4fa2-8445-95bde33dea7e#gh-light-mode-only" alt="Python"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/golang/methodology-go" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/551a1f03-2ffa-4aa4-b738-966a66967a85"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/fea1f0e8-8876-4246-98f0-ea07aef26f7a"> <img width="70px" src="https://github.com/user-attachments/assets/551a1f03-2ffa-4aa4-b738-966a66967a85#gh-light-mode-only" alt="Golang"> </picture> </a> <a href="https://www.speakeasy.com/docs/create-terraform" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/21f87545-2b49-491b-8239-4513d27f254a"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/e63b652b-ce02-47f6-aa9d-b8fb2ff52f9c"> <img width="70px" src="https://github.com/user-attachments/assets/21f87545-2b49-491b-8239-4513d27f254a#gh-light-mode-only" alt="Terraform"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/java/methodology-java" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/f14e0e61-df8b-45fb-8634-c7f7a327d24b"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/663376a1-530e-4466-93c0-d6d81106a650"> <img width="70px" src="https://github.com/user-attachments/assets/f14e0e61-df8b-45fb-8634-c7f7a327d24b#gh-light-mode-only" alt="Java"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/csharp/methodology-csharp" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/0d9aec55-502b-491f-b6ca-5432917e26e0"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/915d6c9c-8f26-492c-92ef-a485064254d9"> <img width="70px" src="https://github.com/user-attachments/assets/0d9aec55-502b-491f-b6ca-5432917e26e0#gh-light-mode-only" alt="Csharp"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/php/methodology-php" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/b0e1b486-de15-488c-b367-ce1c8c4bdf36"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/dfe55b2c-aaa4-42b0-9b13-592c5964fd5f"> <img width="70px" src="https://github.com/user-attachments/assets/b0e1b486-de15-488c-b367-ce1c8c4bdf36#gh-light-mode-only" alt="PHP"> </picture> </a> <a href="https://www.speakeasy.com/docs/sdk-design/ruby/methodology-ruby" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/87f12e15-e61d-40c4-8690-ccd2dd12268f"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/2206de37-79c7-4f70-947d-7c5c41337edb"> <img width="70px" src="https://github.com/user-attachments/assets/87f12e15-e61d-40c4-8690-ccd2dd12268f#gh-light-mode-only" alt="Ruby"> </picture> </a> <a href="https://www.speakeasy.com/docs/languages/unity/methodology-unity" target="_blank"> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/1966f876-1ca3-44d7-92c7-c2830e8a32e8"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/445b5109-1d32-4253-a9f4-fa720da5a490"> <img width="70px" src="https://github.com/user-attachments/assets/1966f876-1ca3-44d7-92c7-c2830e8a32e8#gh-light-mode-only" alt="Unity"> </picture> </a> </p> </h1> </div> <br/> <h2> <p>How it works</p> <picture> <source media="(prefers-color-scheme: light)" srcset="https://github.com/user-attachments/assets/41f1f1f2-2bf8-4505-83f2-aa4746a0bf95"> <source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/18978133-c8b5-46c3-95e4-b68c321f8ae4"> <img src="https://github.com/user-attachments/assets/41f1f1f2-2bf8-4505-83f2-aa4746a0bf95#gh-light-mode-only" alt="How it works diagram"> </picture> </a> </h2> <br />Features
- SDK code that looks like you wrote it. Optimised for performance, debuggability and modern idiomatics.
- Complete Terraform Providers built on a Type-safe Go SDK.
- Contract Test generation with a pre built mock-server (Powered by Arazzo)
- Generate clean code-samples for syncing with API docs.
- Make
npm install your-api. Manage versioning and publishing to package managers - Modern OpenAPI 3.X toolchain for linting, cleaning, diff-ing and editing specs. (Powered by Overlays)
Check out the roadmap for whats coming up soon! <br /> <br />
CLI
Installation
Install Speakeasy CLI via:
- Homebrew
- Winget
- Chocolatey
- Shell Script / GitHub Actions
- Docker
Refer to the Speakeasy CLI installation documentation for more information. CLI releases are also directly available in the repository releases.
Usage
Refer to the Speakeasy CLI Reference for usage documentation. Additionally, every CLI command and subcommand supports a --help flag for usage information.
Agent Skills
Use Speakeasy with AI coding agents via our Agent Skills package.
Installation
npx skills add speakeasy-api/agent-skills
Supported Platforms
Usage
Once installed, skills are available with the speakeasy: namespace:
/speakeasy:start-new-sdk-project # Initialize a new SDK project
/speakeasy:validate-openapi-spec # Validate an OpenAPI spec
/speakeasy:regenerate-sdk # Re-run SDK generation
See the agent-skills repository for the full list of available skills.