🤔 Introducing APISIX AI Gateway – Built for LLMs and AI workloads. Learn More

Apache APISIX Plugin Hub

Powerful plugins. Open integrations.

Explore 100+ Apache APISIX plugins for authentication, security, traffic control, observability, serverless, and AI.

105
plugins
9
categories
100%
open source

01

Traffic

13 plugins

limit-req

The plugin limits request rate using the leaky bucket method

Read documentation

limit-conn

The plugin limits request concurrency

Read documentation

limit-count

The plugin Limits request rate by a fixed number of requests in a given time window

Read documentation

proxy-cache

The proxy-cache Plugin can be used to cache the response from the Upstream

Read documentation

request-validation

The request-validation Plugin can be used to validate the requests before forwarding them to an Upstream service

Read documentation

proxy-mirror

The proxy-mirror Plugin can be used to mirror client requests

Read documentation

api-breaker

The api-breaker Plugin implements circuit breaker functionality to protect Upstream services

Read documentation

traffic-split

The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams

Read documentation

request-id

The request-id Plugin adds a unique ID to each request proxied through APISIX

Read documentation

attach-consumer-label

The attach-consumer-label Plugin injects labels from the authenticated consumer into the request context

Read documentation

proxy-control

The proxy-control Plugin dynamically controls the behavior of the NGINX proxy

Read documentation

client-control

The client-control Plugin can be used to dynamically control the behavior of NGINX to handle a client request, by setting the max size of the request body

Read documentation

traffic-label

The traffic-label Plugin evaluates labels on requests for traffic governance and routing

Read documentation

02

Transformation

10 plugins

03

Authentication

15 plugins

key-auth

An authentication plugin that needs to work with a Consumer to add key authentication to your Services

Read documentation

jwt-auth

An authentication plugin that needs to work with a Consumer to securely authenticate a valid user requesting access

Read documentation

basic-auth

An authentication plugin that needs to work with a Consumer to add Basic Authentication to a Service or a Route

Read documentation

authz-keycloak

An authorization plugin that can be used to add authentication with Keycloak Identity Server

Read documentation

authz-casdoor

An authorization plugin that can be used to add centralized authentication with Casdoor

Read documentation

wolf-rbac

An authorization plugin providing a role-based access control system with wolf to a Route or a Service

Read documentation

openid-connect

An authentication plugin that provides authentication and introspection capability to APISIX

Read documentation

cas-auth

An authorization plugin can be used to access CAS (Central Authentication Service 2.0) IdP (Identity Provider) to do authentication, from the SP (service provider) perspective

Read documentation

hmac-auth

An authentication plugin that needs to work with a Consumer to establish the integrity of incoming requests

Read documentation

authz-casbin

An authorization plugin based on Lua Casbin supporting various access control models

Read documentation

ldap-auth

An authorization plugin can be used to add LDAP authentication to a Route or a Service

Read documentation

jwe-decrypt

The jwe-decrypt Plugin decrypts JWE tokens in incoming requests

Read documentation

multi-auth

The multi-auth Plugin supports multiple authentication methods on the same Route or Service

Read documentation

opa

An authorization plugin can be used to integrate with Open Policy Agent

Read documentation

forward-auth

The forward-auth Plugin implements a classic external authentication model

Read documentation

04

Security

11 plugins

05

AI

10 plugins

ai-proxy

The ai-proxy Plugin simplifies proxying requests to LLM providers compatible with the OpenAI API format

Read documentation

ai-proxy-multi

The ai-proxy-multi Plugin extends ai-proxy with load balancing, retries, fallbacks, and health checks for LLM providers

Read documentation

ai-request-rewrite

The ai-request-rewrite Plugin rewrites client requests with LLM-generated content before proxying upstream

Read documentation

ai-rate-limiting

The ai-rate-limiting Plugin limits LLM usage by tracking and throttling token consumption

Read documentation

ai-prompt-decorator

The ai-prompt-decorator Plugin prepends and appends predefined prompts to user input

Read documentation

ai-prompt-template

The ai-prompt-template Plugin applies predefined prompt templates and accepts values for declared variables

Read documentation

ai-prompt-guard

The ai-prompt-guard Plugin validates prompts against allow and deny patterns before forwarding them to LLM services

Read documentation

ai-aws-content-moderation

The ai-aws-content-moderation Plugin uses AWS Comprehend to detect and block toxic request content

Read documentation

ai-aliyun-content-moderation

The ai-aliyun-content-moderation Plugin uses Alibaba Cloud content moderation to inspect and block unsafe requests

Read documentation

ai-rag

The ai-rag Plugin adds retrieval-augmented generation by fetching relevant context from external data sources

Read documentation

06

Observability

24 plugins

zipkin

Zipkin is an OpenTracing plugin

Read documentation

skywalking

Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective

Read documentation

opentelemetry

The opentelemetry Plugin can be used to report tracing data according to the OpenTelemetry specification

Read documentation

prometheus

The plugin exposes metrics in Prometheus Exposition format

Read documentation

node-status

The node-status Plugin can be used to get the status of requests to APISIX by exposing an API endpoint

Read documentation

datadog

Datadog is a monitoring plugin built into Apache APISIX to push metrics of different services into DatadogHQ via a locally run Datadog agent.

Read documentation

http-logger

The http-logger Plugin pushes log data to HTTP and HTTPS servers

Read documentation

skywalking-logger

The skywalking-logger Plugin can be used to push access log data to SkyWalking OAP server of HTTP

Read documentation

tcp-logger

Tcp-logger pushes Log data requests to TCP servers

Read documentation

kafka-logger

Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module

Read documentation

rocketmq-logger

The rocketmq-logger Plugin provides the ability to push logs as JSON objects to your RocketMQ clusters

Read documentation

udp-logger

Udp-logger pushes Log data requests to UDP servers

Read documentation

clickhouse-logger

The clickhouse-logger Plugin is used to push logs to ClickHouse database

Read documentation

syslog

The syslog Plugin pushes log data to Syslog

Read documentation

log-rotate

The log-rotate Plugin is used to keep rotating access and error log files in the log directory at regular intervals

Read documentation

error-log-logger

Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers

Read documentation

sls-logger

The sls-logger Plugin pushes log data to Alibaba Cloud Log Service with RFC 5424

Read documentation

google-cloud-logging

google-cloud-logging plugin is used to send the access log of Apache APISIX to the Google Cloud Logging Service

Read documentation

splunk-hec-logging

The splunk-hec-logging Plugin is used to forward logs to Splunk HTTP Event Collector (HEC) for analysis and storage

Read documentation

file-logger

The file-logger Plugin is used to push log streams to a specific location

Read documentation

loggly

The loggly Plugin is used to forward logs to SolarWinds Loggly for analysis and storage

Read documentation

loki-logger

The loki-logger Plugin pushes access logs to Grafana Loki

Read documentation

elasticsearch-logger

The elasticsearch-logger Plugin is used to forward logs to Elasticsearch for analysis and storage

Read documentation

tencent-cloud-cls

The tencent-cloud-cls Plugin uses TencentCloud CLSAPI to forward APISIX logs to your topic

Read documentation

07

Serverless

6 plugins

08

Other protocols

4 plugins

09

General

12 plugins

batch-requests

The batch-requests plugin accepts multiple requests, sends them from APISIX via HTTP pipelining, and returns an aggregated response to the client

Read documentation

redirect

The redirect Plugin can be used to configure redirects

Read documentation

echo

The echo Plugin is to help users understand how they can develop an APISIX Plugin

Read documentation

gzip

The gzip Plugin dynamically sets the behavior of gzip in Nginx

Read documentation

brotli

The brotli Plugin dynamically configures Brotli compression in NGINX

Read documentation

real-ip

The real-ip Plugin is used to dynamically change the client's IP address and port as seen by APISIX

Read documentation

server-info

The server-info Plugin periodically reports basic server information to etcd

Read documentation

inspect

The inspect Plugin exposes runtime inspection information for APISIX

Read documentation

lago

The lago Plugin reports usage and billing events to Lago

Read documentation

ext-plugin-pre-req

The ext-plugin-pre-req Plugin is for running specific external Plugins in the Plugin Runner before executing the built-in Lua Plugins

Read documentation

ext-plugin-post-req

ext-plugin-post-req differs from the ext-plugin-pre-req Plugin in that it runs after executing the built-in Lua Plugins and before proxying to the Upstream

Read documentation

ext-plugin-post-resp

The ext-plugin-post-resp Plugin is for running specific external Plugins in the Plugin Runner before executing the built-in Lua Plugins

Read documentation