SDK
ess-dee-kay
Software development kit: a set of tools and libraries for building with a specific platform or API.
An SDK (software development kit) is a package of tools, libraries, documentation, and code samples that makes it easier to build on a specific platform or service. If an API is the raw interface, an SDK is the friendly wrapper that handles the boilerplate.
Without an SDK, a developer calling a payment API would need to construct HTTP requests, handle authentication headers, parse JSON responses, and manage error codes manually. With an SDK, the same operation is a single function call: stripe.charges.create({ amount: 1000 }). The SDK handles everything underneath.
SDKs exist for specific programming languages. A company with a REST API might offer SDKs for Python, JavaScript, Go, Java, and Ruby. Each SDK wraps the same API in idiomatic code for that language, so a Python developer writes Pythonic code and a Go developer writes Go-style code.
Examples
A developer integrates a payment service.
Instead of writing raw HTTP calls to the payment API, the developer installs the Python SDK: pip install stripe. They initialize it with their API key and call stripe.PaymentIntent.create(amount=2000, currency='usd'). Five lines of code instead of thirty.
A company decides which SDK languages to support.
The company's API analytics show that 60% of requests come from Node.js, 25% from Python, and 10% from Go. They build SDKs for Node.js and Python first, with Go as the next priority. The remaining 5% of users work directly with the REST API.
An SDK version falls behind the API.
The API ships a new feature but the Python SDK has not been updated in three months. Python developers cannot use the new feature without making raw API calls. The company invests in automated SDK generation to keep all language SDKs in sync with the API.
In practice
Read more on the blog
Frequently asked questions
Does every API need an SDK?
Not necessarily. Simple APIs with a few endpoints may not need SDKs. Complex APIs with authentication, pagination, webhooks, and many endpoints benefit greatly from SDKs. If developers are spending significant time writing boilerplate to use your API, you need an SDK.
How many programming languages should an SDK support?
Start with the languages your customers use most. Check your API logs to see which languages are making requests. Most companies start with 2-3 SDKs (JavaScript/TypeScript and Python are the most common) and add more based on demand.
Related terms
Application programming interface: a defined way for software programs to communicate with each other.
Command-line interface: a text-based tool for interacting with software through typed commands.
Written resources that explain how to use a product, including guides, tutorials, API references, and troubleshooting information.
How easy, productive, and enjoyable it is for developers to use a product, from documentation to API design to error messages.

Want the complete playbook?
Picks and Shovels is the definitive guide to developer marketing. Amazon #1 bestseller with practical strategies from 30 years of marketing to developers.