SDK vs API
Nedir SDK vs API?
Bu terim şu anda yalnızca İngilizce olarak sunulmaktadır.
An API is the interface itself — the documented endpoints, request fields, and response shapes a service exposes over the network. An SDK is a language-specific package built on top of that API, bundling the client code, types, retry logic, samples, and testing tools so you integrate in your own language instead of hand-rolling HTTP calls. An SDK typically wraps the API, so anything an SDK can do, the raw API can do too.
More detail
The API is the contract. For an SMS send, that contract is the POST to /v1/messages with your API key and a JSON body — every capability the platform ships is reachable that way, and the request-response cycle you can inspect with curl. The SDK sits one layer above it: install the package, initialize a client with your API key, and call a method instead of assembling the request by hand. Type-checking, pagination helpers, webhook-signature verification, standardized error objects, and retry with backoff come from the SDK layer, not the wire protocol.
Choose the SDK when you work primarily in one language and want to write less integration code — the SDK's own documentation is the place to start. Choose the raw API when your language has no SDK yet, when you need a feature the SDK has not surfaced, or when you want a thin, dependency-free integration you fully control. The two are not competing options: the SDK is a convenience wrapper over the API, and both paths land on the same endpoints with the same behavior and limits.
Sık sorulan sorular
- Is an SDK just a wrapper around the API?
- Yes — an SDK wraps the platform's API in idiomatic client code for a specific language, and typically adds helpers on top: typed request and response objects, retries with backoff, error classes mapped from the API's error codes, pagination iterators, and webhook-signature verifiers. Every SDK call still resolves to an API call, so capabilities and rate limits are identical on both paths.
- When should I use the API directly instead of an SDK?
- Call the API directly when your language has no maintained SDK, when you need an endpoint the SDK has not wrapped yet, when a dependency-free integration matters (a serverless function with a tight bundle budget, for example), or when you want to debug the exact wire behavior. Error responses include a machine-readable code either way, so building a thin client of your own is a supported pattern — many teams start on raw HTTP and adopt an SDK later.
- Do SDK versions and API versions move together?
- The API's version lives in the path (for example /v1/), and an SDK release tracks the API version it targets — when an SDK release names a new API version, the release notes say so. Pin your dependency version in production, and treat an SDK major bump the same way you treat an API version change: read what changed before upgrading.
See also
Build it on Orbit
Voice, messaging, email, video, and AI agents on one platform and one pay-as-you-go bill. Start free — no credit card required.