Introduction to vSphere APIs

VMware vSphere® is VMware's virtualization platform, which transforms data centers into aggregated computing infrastructures that include CPU, storage, and networking resources. vSphere manages these infrastructures as a unified operating environment, and provides you with the tools to administer the data centers that participate in that environment. VMware offers a number of powerful APIs and SDKs to help you manage your virtualization infrastructure.

VMware provides APIs for managing different aspects of VMware vCenter Server® and the data center. This publication describes APIs in vSphere release 8.0 and later.

The following table provides a quick comparison of vSphere APIs with respect to functional capabilities and language bindings.
Table 1. vSphere APIs Compared
API function protocol REST Java Python C# Other
vSphere Automation API datacenter management advanced features JSON-RPC Yes SDK SDK Open source Open source Perl, Ruby
VIM Web Services API datacenter management basic features SOAP-XML SDK see pyvmomi add-on build from WSDL see govmomi add-on
VIM JSON protocol (same as Web Services) JSON-RPC Yes
vCenter Server Management API vCenter Server Appliance admin JSON-RPC Yes SDK SDK Open source Open source Perl, Ruby
Storage Policy API storage affinity profiles SOAP-XML SDK build from WSDL
Storage Monitoring API manage storage arrays SOAP-XML SDK build from WSDL
VSAN API pools ESXi attached storage SOAP-XML SDK SDK SDK PowerCLi; Open source Perl, Ruby
Virtual Storage Lifecycle Management (VSLM) manage virtual disks standalone SOAP-XML SDK build from WSDL
ESX Agent Manager (EAM) vSphere extensions & services SOAP-XML SDK
pyvmomi layer on Web Services SOAP-XML Yes
govmomi layer on Web Services SOAP-XML Go