Best-in-class SDKs and MCP for your API.
Developers expect your API to come with a type-safe client library in their preferred programming language.
From the team behind Stripe's patented code generation system, Stainless generates robust, idiomatic SDKs that elegantly handle HTTP requests, streaming, and more.
Robust & polished SDKs
Great SDKs for your API drive faster integration, broader feature adoption, quicker upgrades, and trust in your engineering quality.
At Stainless, we work hard to make each SDK feel as though it were hand-written by an expert in the language who had the time to get it right.
All our libraries include: rich types (for autocomplete and docs on hover), auto-pagination, auto-retry with backoff, seamless auth, and much more.
Provide your OpenAPI spec
All Stainless needs to get started is your OpenAPI spec. It doesn’t have to be perfect.
We’ll create a starter Stainless config file that standardizes naming and defines core functionality like pagination and authentication.
Generate your SDKs
Receive shippable SDKs in the languages your developers demand.
Iterate & customize
You can customize the Stainless configuration for more bespoke SDKs that best represent you and your developers by fine-tuning names, docs, and more.
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/chat/completions:
post:
operationId: createChatCompletion
tags:
- Chat
summary: Creates a model response for the given chat conversation
requestBody:
required: true
content:
application/json:
schema:
$ref: ‘#/components/schemas/CreateChatCompletionRequest’
SDK Reference Preview
Edit
client.
completions
create
(body: CompletionCreateParams, options?: RequestOptions): CompletionCreateResponse
Snippet
Edit
import OpenAI from 'openai';
const openai = new OpenAI();
async function main() {
const completionCreateResponse = await openai.completions.create
model: ‘string’,
prompt: ‘This is a test.’,
});
console.log(completionCreateResponse.id);
}
main();
Add any custom code, anywhere
Unlike other codegen systems, you can freely edit the generated code as if it were a normal repo – any change, anywhere in the codebase. Your changes will persist the next time Stainless generates a new version.
Automate your updates
Push your updated OpenAPI spec to us whenever it changes with a GitHub Action (or equivalent). We regenerate your SDK and open a pull request.
Publish your packages
You approve our PR and we automatically release the new SDK to your GitHub repos and npm, pypi, or maven packages. You own the code, we automate the toil, and your security team is happy.
Stainless: the API Company
You can think of us like Stripe's API platform for any REST API, but our ambitions are a little bigger, and our starting point is a little narrower.