SDKs

Generate
handwritten SDKs

Turn your OpenAPI spec into production-ready, idiomatic SDKs across multiple languages. Built for internal and external APIs alike, every SDK is type-safe, customizable, and ready to drop into your existing workflow.
brew install speakeasy-api/tap/speakeasy
Start building

Trusted by Builders at

SDKs your team will be proud of

Upload your OpenAPI spec and generate production-ready, type-safe SDKs in your team's preferred languages. Speakeasy's SDK Generator handles everything from OAuth 2.0 and custom logic to retries, pagination, and full documentation.

brew install speakeasy-api/tap/speakeasy

Start Generating

TypeScript icon
Python icon
Go icon
Java icon
C# icon
Ruby icon
PHP icon
Launch App

index.ts

1

Generation workflow

APIs change fast.
Your SDKs should too.

1

Upload your OpenAPI

Start with your OpenAPI specification. Speakeasy validates your spec and prepares it for SDK generation across multiple languages.

openapi.yaml

2

Pick a language

Generate SDKs in TypeScript, Python, Go, Java, C#, PHP, and more. Each SDK is idiomatic and follows language-specific best practices.

index.ts

3

Customize with guardrails

Use overlays and hooks to modify SDK functionality, structure, and behavior without altering the core generation process.

Pull Request #127
Openfeat(sdk): add streaming support

speakeasy-bot wants to merge 4 commits into main

src/sdk/chat.ts+24-8
export class ChatClient {
- async create(req: ChatRequest): Promise<ChatResponse> {
+ async create(req: ChatRequest, options?: StreamOptions) {
+ if (options?.stream) {
+ return this.createStream(req);
+ }
return this.client.post('/chat/completions', req);
}

4

Ship with every commit

Incorporate SDK generation into your CI/CD workflows. Every API change automatically triggers SDK updates as pull requests.

Actions
Generate SDKs

Workflow run #127 queued

Validate OpenAPI spec
Generate TypeScript SDK
Generate Python SDK
Run SDK tests
Create pull request

5

Publish with confidence

Easily publish your SDKs to popular package managers like npm, PyPI, Maven, and more to facilitate distribution and adoption.

npm

@acme/ai-sdk

TypeScript SDK for the Acme AI API

v3.2.0
Published 2 hours ago48k weekly downloads
npm install @acme/ai-sdk

"We are very happy with Speakeasy's support… Internally, our developers find the SDK useful, it's actively used, and continues to generate valuable feedback. The Speakeasy team has been instrumental throughout our implementation journey."

Gaspard Blanchet

SOFTWARE ENGINEER @ MISTRAL AI

"We've been using Speakeasy to create Dub.co's TypeScript SDK and it's been an amazing experience so far."

Steven Tey

FOUNDER & CEO @ DUB

"Automating our SDK production with Speakeasy allows us to cost-effectively cover our customers' language requirements and ease their integration cost quite a bit."

Suresh Ramachandran

SR. DIRECTOR OF ENGINEERING @ APEX FINTECH SOLUTIONS

"Speakeasy has been a really good partner for us. We've been able to get support quickly when needed, and the platform has significantly streamlined our SDK generation process. It's allowed our internal teams to integrate with our services much faster, and our customers benefit from a smoother, more efficient onboarding experience."

Joseph Spurrier

SR. STAFF ENGINEER @ PROVE

From manual to maintainable

Speakeasy SDK Generation turns your OpenAPI spec into reliable, maintainable SDKs that scale with your team. No boilerplate. No manual upkeep.

Manual SDK creation and updates
Inconsistent SDK quality across languages
Time-consuming integration processes
Limited or outdated documentation

Frequently askedquestions

What languages does Speakeasy support for SDK generation?
Speakeasy generates SDKs for TypeScript, Python, Go, Java, C#, PHP, Ruby, Swift, Unity, and Terraform. Each language has a dedicated generator that produces idiomatic code following the conventions of that ecosystem, not a generic template.
How are Speakeasy SDKs different from OpenAPI Generator?
OpenAPI Generator produces code that is technically correct but rarely production ready: stringly typed, awkward error handling, no retries, no pagination helpers, no idiomatic patterns. Speakeasy SDKs are written by language specialists, with type-safe models, OAuth 2.0, retries, pagination, webhooks, structured errors, and full documentation generated from the same OpenAPI spec.
Are generated SDKs production ready?
Yes. Speakeasy SDKs are used in production by companies including Vercel, Cloudflare, Mistral, and Honeycomb. They include retries with exponential backoff, pagination, webhook signature verification, structured error types, and OAuth 2.0 flows out of the box.
How are SDKs kept in sync with my OpenAPI spec?
Speakeasy integrates with your CI/CD pipeline. When your OpenAPI spec changes, SDKs are regenerated and a pull request is opened with the diff. Versioning, changelogs, and publishing to package managers can be automated through the same pipeline.
Can I customize the generated SDKs?
Yes. Speakeasy supports OpenAPI extensions for renaming methods, grouping operations, customizing types, and adding language-specific overrides. You can also add hand-written code that survives regeneration through the SDK customization system.
What authentication methods are supported?
OAuth 2.0 (with PKCE and DCR), API keys, bearer tokens, basic auth, and custom security schemes. Token refresh, scope handling, and expiry are managed inside the SDK so the consuming application does not have to.
Does Speakeasy work for internal APIs?
Yes. Many customers use Speakeasy for internal SDKs to standardize how teams consume each other's services. The same generation pipeline that produces external SDKs produces internal ones, with the same type safety and documentation.
Where are generated SDKs published?
Speakeasy can publish to npm, PyPI, Maven Central, NuGet, Packagist, RubyGems, Go modules, and the Terraform Registry. Publishing is automated through the same pipeline that regenerates the SDKs, with version bumps and changelogs handled for you.

Ready to ship better SDKs?