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. Each row of the table indicates protocol and language support for an API. Language support can be a full SDK, an add-on library, or in some cases partial library support for the API.
Table 1. vSphere APIs Compared

API

function

SOAP

JSON

Java

Python

Golang

vSphere Automation API datacenter management advanced features Yes SDK SDK govmomi (partial)
VIM API datacenter management basic features Yes Yes SDK pyvmomi govmomi
vCenter Server Management API vCenter Server Appliance admin Yes SDK SDK govmomi
Storage Policy API

storage affinity profiles

Yes

SDK pyvmomi govmomi
Storage Monitoring manage storage arrays Yes SDK pyvmomi govmomi
vSAN API pooling ESXi attached storage Yes SDK SDK + pyvmomi SDK
Virtual Storage Lifecycle Management manage standalone virtual disks Yes SDK build from WSDL
ESX Agent Manager (EAM) vSphere extensions & services Yes SDK pyvmomi govmomi
Virtual Disk Development Kit (VDDK) operate on virtual disks, C language and Java local local VADP
For reference, the following diagram shows key service endpoints used by different vSphere APIs.
Figure 1. vCenter Server endpoints