Difference between API and SDK

This is part of the Semicolon&Sons Code Diary - consisting of lessons learned on the job. You're in the architecture category.

Last Updated: 2024-10-12

How does an SDK differ from an API?

API

An API is simply an interface that allows software to interact with other software. This is part of its name — API, Application Programming Interface. Think of an API as a Rosetta stone, a tablet by which two vastly different languages, two different instruction sets, can be translated and transferred for mutual understanding.

On the world wide web, the API takes on a slightly different function. Web APIs allow for interaction between disparate systems, often for specific use cases

SDK

SDK stands for “Software Development Kit”, which is a great way to think about it — a kit. Think about putting together a model car or plane. When constructing this model, a whole kit of items is needed, including the kit pieces themselves, the tools needed to put them together, assembly instructions, and so forth.

An SDK or devkit functions in much the same way, providing a set of tools, libraries, relevant documentation, code samples, processes, and or guides that allow developers to create software applications on a specific platform.

SDK is a like full-fledged workshop, facilitating creation far outside the scopes of what an API would allow.

Overall comments about differences

Resources