In this article, we'll talk about the differences between an [API gateway](https://konghq.com/blog/learning-center/what-is-an-api-gateway)API gateway and an API proxy — as well as a reverse proxy. We'll cover use cases and when each might be the right tool for the project at hand, including the advantages of API gateways over API proxies and reverse proxies.
## What is an API proxy?
An [API proxy](https://konghq.com/blog/learning-center/what-is-an-api-proxy)API proxy acts like a mediator or go-between for the client and the API. It provides a central point of access to the API. It can add functionality to the API, such as security, caching, or rate limiting — and it can do it without requiring any changes to the API itself. The proxy can route requests to different backend services based on the request path or user, and it can perform tasks like authentication (e.g., key authentication, OAuth flows) and traffic management (e.g., rate limiting).
## Common use cases for API proxies
Some common use cases for API proxies include:
- - **Request forwarding**: The primary function of a proxy (including the API proxy) is to forward incoming requests to appropriate backends. In the case of an API proxy, it's an underlying API or service.
- - **Security**: API proxies can be used to add a basic level of security to an API.
- - **Caching**: API proxies can be used to cache responses from an API, reducing the response time for subsequent requests and improving overall performance.
- - **Load balancing**: API proxies can provide load-balancing functionality by routing requests to the appropriate backend server based on factors such as server load, network latency, or geographic location.
- - **SSL termination**: API proxies can handle SSL termination on behalf of the underlying APIs.
## API proxy vs API gateway
Both the API proxy and the API gateway sit in front of your existing APIs, acting like gatekeepers, but with a big difference in capabilities. In most cases, an API gateway can do everything the API proxy does and more. In terms of capability and as shown in the diagram below, the API proxy only has a subset of the capabilities that the API gateway possesses.

So, when should we use a proxy to expose our APIs and when we should use an API gateway? The answer to that question depends on a few factors:
- - How many APIs are you planning to expose?
- - Are the APIs going to be exposed externally (over the internet) or just internally to your organization?
- - What functionality do you want your proxy or gateway to handle on behalf of your APIs?
- - How much importance do you place on developer experience?
## Advantage of API gateways over API proxies
API proxies are useful when you want to add a very specific (and simple) functionality to an existing API, while API gateways are useful when you want to manage and secure multiple APIs in a centralized manner.
An API proxy is generally a much simpler proxy that forwards API requests from clients to backend APIs, while an API gateway is something that provides more advanced features and a centralized platform to manage multiple APIs.
Some of the key advantages of an API gateway over an API Proxy are:
- - **Advanced API features, including full lifecycle management**: API gateways provide a more comprehensive set of features to help organizations manage a full lifecycle of an API from the initial development stage (e.g., mocking services) to version control as well as request/response transformation.
- - **Advanced security**: Although API proxies may offer basic security features for an API, API gateways offer many more features when it comes to security, including integrating with existing IDPs in an organization and the ability to handle OAuth flows and JWT tokens.
- - **Developer experience**: When it comes to exposing APIs either externally to customers/partners or internally within an organization, API gateways have a range of features that enhance the developer experience, including things like specialized developer portals that can be used to expose API specs, handling the registration of developer applications, giving the ability to try out exposed APIs, and more.