Customers / OpenAi

Stainless really shines in owning the building of the SDK.”

full-time engineer salaries saved
of issues triaged or resolved
weekly downloads across all Stainless SDK versions
stars on GitHub

OpenAI makes artificial intelligence accessible to millions

“Proud to have Stainless as a partner at OpenAI. All our SDKs are generated by them.

The team is extremely thoughtful about SDK design and push us to improve our API + other products while they're at it.

Stainless is bringing a new standard of SDKs to our industry and this is a great thing for all developers.”

Nikunj Handa
API Product at OpenAI

OpenAI is on a mission to make safe and beneficial AGI widely accessible. Key to that mission is empowering developers with APIs that bring the magic behind ChatGPT into applications everywhere.

Prior to using Stainless, they had built and maintained their own custom Python SDK. They also auto-generated a Node SDK for their API users using the openapi-generator.

Unfortunately, the custom Python build required engineering resources they didn’t have, and the open source, out-of-the box SDKs lacked the complex features their API required. After customer complaints about the painful experiences with their auto-generated SDK, OpenAI knew they needed a new solution. 


“We wanted our engineers to spend time building new APIs to help other businesses.”

Before Stainless, OpenAI didn’t have a dedicated engineer, much less a team, to focus on building world-class SDKs. One engineer spent a month or two creating the foundation of their custom-built Python SDK. Then it became a part-time, shared responsibility to maintain it. The team realized that if they wanted to create SDKs well and have support for multiple languages, they needed full-time engineers to focus on it.

Ideally, OpenAI would like to support as many of the top programming languages as possible, meaning 4-5 SDKs, plus hopefully some of the less common languages. But they knew that would require 2-3 full-time developers to create and maintain. That’s where Stainless became a compelling alternative. OpenAI can now keep engineers dedicated to building the core functionality for their products, instead of distracting them with SDK maintenance.

>25 new API features released with simultaneous SDK support
Closed 100+ GitHub Issues
Delighted developers with streaming, auto-retry, and types
…all with no dedicated eng resources

“It’s easy to code the basics of querying an API, but there’s a lot you don’t think about.”

When OpenAI experimented with building their own custom Python SDK, they ran into unforeseen circumstances. How does a retry work? Does the code work in all the different possible environments? How do you deal with SSL certificate errors if it can’t connect to the server? Stainless SDKs have built-in functionality and expert support to handle these nuanced situations from the start.

Open source SDK generators may work for simple APIs, but OpenAI found there were too many rough edges and features of their complex API that weren’t supported, like streaming chat

Fast, robust HTTP connections
Auto-retry with backoff
Streaming in TypeScript
Types in Python
File uploads that just work from any runtime
All straight from your OpenAPI spec

“Stainless triages and fixes issues, pinging us when a release is ready. It’s super useful.”

Historically, OpenAI had struggled to find time to fix bugs promptly and respond to issues from users. The Stainless team came in proactively addressing those issues and having conversations with end customers on how to improve the SDKs. When you have a million customers, one-in-a-million situations come up all the time—and the Stainless team with their SDKs handle all of them.

Stainless continues to monitor discussions with end customers about how to improve functionality. Using the customer feedback and their expertise, they often make recommendations on how OpenAI can make improvements to their underlying API and benefit all customers.

Ongoing maintenance with over 70 releases shipped
Github developer support with SLAs
Product feedback on API docs and design

We knew it was time for a new SDK after receiving feedback from customers about our existing one. It didn’t support key features like streaming responses, and the developer experience was lacking.”

David Schnurr
Developer Platform at OpenAI