سلام .
این لینک رو نگاه کنید : رابط برنامهنویسی نرمافزار
فکر میکنم توضیحات لینک بالا کافی باشه .
در مورد Web API چیزی نمیدونم .
شما وقتی یک کتابخانه درست میکنید که قرار کارهای خاصی رو انجام بده و توابع اون رو Export میکنید تا برنامه های دیگه از اون استفاده کنند یعنی شما یک API درست کردید .
یا مثلا توابع خودتون رو به صورت Interface به استفاده کننده بدید هم همین معنی رو میده .
شما همیشه دارید توی برنامه هاتون از API ها و کتابخانه ها استفاده میکنید .
سیستم عامل خودش یکی از ارائه دهتده های API است و خودش هم از API هایی که خودش ارائه میده استفاده میکنه .
البته سیستم عامل یک برنامه و یک فایل و یا یک واحد خاص نیست که بشه بهش اشاره کرد درواقع سیستم عامل یه مجموعه کلی هست و یکی از بخش های خیلی مهم سیستم عامل همین APIیی هست که ارائه میده .