What is the difference between API and SDK?

API stands for Application Programming Interface is a description of the interface of something. A set of rules by which something should work.

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

SDK stands for Software Development Kit, is a set of tools for working with something. SDK 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.