The Salesforce.com Tooling API supports the construction of a variety of custom development tools that work with Force.com applications. Its Salesforce Object Query Language’s flexibility to different metadata types allows developers to recover even the smallest bits of metadata. This ability to recover smaller metadata types is a performance enhancing feature that is well suited for building interactive apps. Developers can select either the REST or SOAP interface of the API depending on the language they are using. The API sends requests in REST or SOAP format and returns responses in JSON format.