API, или интерфейс прикладного программирования, определяет набор классов, функций и структур, которые будут использоваться приложением для использования некоторой библиотеки или подсистемы. Например, и мультимедийная подсистема Windows, и подсистема сокетов Windows имеют собственный API. API не является конкретной сущностью, вы не можете указать на файл и сказать, что сам файл является API. API - это просто спецификация протокола связи, которую программа должна использовать для использования библиотеки или подсистемы.
SDK, или комплект разработки программного обеспечения, содержит инструменты, документацию и необходимые файлы для программирования с использованием одного или нескольких API. Некоторые SDK, но далеко не все, могут содержать пример кода для демонстрации использования API. 2 примера SDK - это Windows Platform SDK и .NET Framework SDK.
Наиболее вероятная причина, по которой термины используются взаимозаменяемо, заключается в том, что иногда SDK содержит только инструменты, документацию и файлы для одного API, и оба API и SDK имеют одно и то же имя. Примером этого может служить SDK для разработки плагинов winamp.