SDK (Software Development Kit)
An SDK (Software Development Kit) is a collection of language-specific libraries, documentation, and tooling that a platform provides to help developers integrate with its API more quickly; An SDK wraps the underlying API calls in native language objects and methods; Using an official SDK reduces integration time and ensures best practices for authentication and error handling are built in
An SDK (Software Development Kit) is a collection of language-specific libraries, documentation, and tooling that a platform provides to help developers integrate with its API more quickly. SDKs handle boilerplate such as authentication, serialization, retries, and error handling.
How it works
An SDK wraps the underlying API calls in native language objects and methods. For example, instead of manually crafting a POST request with JSON headers, a developer calls stripe.charges.create() and the SDK handles authentication, request construction, and response parsing.
Key facts
- Language-specific: SDKs are typically published per language (Python, Node.js, Go, Ruby, etc.)
- Version pinning: SDK versions should be pinned to avoid breaking changes from automatic upgrades
- Official vs. community: Official SDKs receive security patches; community SDKs may lag or be abandoned
For builders
Using an official SDK reduces integration time and ensures best practices for authentication and error handling are built in. When an SDK is unavailable, generating a client from an OpenAPI spec is a reliable alternative.
Sources
- IETF. RFC 9110: HTTP Semantics. datatracker.ietf.org
- IETF. RFC 9112: HTTP/1.1. datatracker.ietf.org
- Fielding, R. (2000). Architectural Styles and the Design of Network-based Software Architectures (REST). UC Irvine. ics.uci.edu
- OWASP. API Security Top 10 (2023). owasp.org
- MDN Web Docs. HTTP reference. developer.mozilla.org