1. A system for securing, managing, and extending functionalities of Application Programming Interfaces (APIs), the system comprising: a plurality of APIs; a plurality of plugins; a data store configured to store software code associated with each of the plurality of plugins and configuration associated with operation of each of the plurality of plugins; and a first and a second gateway node communicatively coupled to the plurality of APIs and the data store where data in the data store is shared by each of the first and second gateway nodes, wherein one or more of the first and the second gateway nodes are configured to: receiving, at a gateway node, a request for installing a particular plugin; upon determining, by the first gateway node, that the particular plugin is not included in the plurality of plugins; saving in the data store, by the first gateway node, software code associated with the particular plugin; retrieving, by the second gateway node, the software code associated with the particular plugin from the data store; installing, by the second gateway node, the particular plugin at the data store, using the retrieved software code associated with the particular plugin; execute a plugin in the plurality of plugins; receive an incoming request related to an API in the plurality of APIs; and proxy the incoming request to the API in the plurality of API.