API Windows / Windows API, tên không chính thức WinAPI, là bộ giao diện lập trình ứng dụng (API) cốt lõi của Microsoft có sẵn trong các hệ điều hành Microsoft Windows. Tên Windows API gọi chung là một số triển khai nền tảng khác nhau thường được gọi bằng tên riêng của họ (ví dụ: API Win32); xem phần phiên bản. Hầu như tất cả các chương trình Windows đều tương tác với API Windows. Trên dòng hệ điều hành Windows NT, một số nhỏ (như các chương trình được khởi động sớm trong quy trình khởi động Windows) sử dụng API gốc.[1]
Hỗ trợ nhà phát triển có sẵn dưới dạng bộ công cụ phát triển phần mềm, Microsoft Windows SDK, cung cấp tài liệu và công cụ cần thiết để xây dựng phần mềm dựa trên API Windows và các giao diện Windows được liên kết.
API Windows (Win32) tập trung chủ yếu vào ngôn ngữ lập trình C [2] ở chỗ các chức năng và cấu trúc dữ liệu được hiển thị của nó được mô tả bằng ngôn ngữ đó trong các phiên bản tài liệu gần đây. Tuy nhiên, các API có thể được sử dụng bởi bất kỳ ngôn ngữ lập trình biên dịch hoặc lắp ráp có thể xử lý các (rõ ràng) cấu trúc dữ liệu ở mức độ thấp cùng với các quy định công ước gọi cho các cuộc gọi và callback. Tương tự, việc triển khai nội bộ chức năng của API đã được phát triển bằng nhiều ngôn ngữ, theo lịch sử.[3] Mặc dù thực tế rằng C không phải là ngôn ngữ lập trình hướng đối tượng, API Windows và Windows đều được mô tả theo lịch sử là hướng đối tượng. Cũng có nhiều lớp và phần mở rộng (từ Microsoft và các phần mở rộng khác) cho các ngôn ngữ hướng đối tượng làm cho cấu trúc hướng đối tượng này rõ ràng hơn (Thư viện lớp Microsoft Foundation (MFC), Thư viện thành phần trực quan (VCL), GDI +, v.v.). Chẳng hạn, Windows 8 cung cấp API Windows và API WinRT, được triển khai trong C ++ [4] và được định hướng theo đối tượng theo thiết kế ban đầu.[4]