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 documentationlimit-conn
The plugin limits request concurrency
Read documentationlimit-count
The plugin Limits request rate by a fixed number of requests in a given time window
Read documentationproxy-cache
The proxy-cache Plugin can be used to cache the response from the Upstream
Read documentationrequest-validation
The request-validation Plugin can be used to validate the requests before forwarding them to an Upstream service
Read documentationproxy-mirror
The proxy-mirror Plugin can be used to mirror client requests
Read documentationapi-breaker
The api-breaker Plugin implements circuit breaker functionality to protect Upstream services
Read documentationtraffic-split
The traffic split plugin allows users to incrementally direct percentages of traffic between various upstreams
Read documentationrequest-id
The request-id Plugin adds a unique ID to each request proxied through APISIX
Read documentationattach-consumer-label
The attach-consumer-label Plugin injects labels from the authenticated consumer into the request context
Read documentationproxy-control
The proxy-control Plugin dynamically controls the behavior of the NGINX proxy
Read documentationclient-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 documentationtraffic-label
The traffic-label Plugin evaluates labels on requests for traffic governance and routing
Read documentation02
Transformation
10 plugins
response-rewrite
The response-rewrite Plugin rewrites the content returned by the Upstream and APISIX
Read documentationproxy-rewrite
The proxy-rewrite Plugin rewrites Upstream proxy information such as scheme, uri and host
Read documentationgrpc-transcode
The grpc-transcode Plugin converts between HTTP and gRPC requests
Read documentationgrpc-web
The grpc-web Plugin is a proxy Plugin that can process gRPC Web requests from JavaScript clients to a gRPC service
Read documentationbody-transformer
The body-transformer Plugin transforms request and response bodies between structured formats
Read documentationdegraphql
The degraphql Plugin translates GraphQL queries into upstream REST requests
Read documentationexit-transformer
The exit-transformer Plugin transforms response bodies before APISIX sends them to the client
Read documentationfault-injection
The fault-injection Plugin can be used to test the resiliency of your application. This Plugin will be executed before the other configured Plugins
Read documentationgm
The gm Plugin enables Guomi cryptographic algorithms in APISIX TLS processing
Read documentationmocking
The mocking Plugin is used for mocking an API. When executed, it returns random mock data in the format specified and the request is not forwarded to the Upstream
Read documentation03
Authentication
15 plugins
key-auth
An authentication plugin that needs to work with a Consumer to add key authentication to your Services
Read documentationjwt-auth
An authentication plugin that needs to work with a Consumer to securely authenticate a valid user requesting access
Read documentationbasic-auth
An authentication plugin that needs to work with a Consumer to add Basic Authentication to a Service or a Route
Read documentationauthz-keycloak
An authorization plugin that can be used to add authentication with Keycloak Identity Server
Read documentationauthz-casdoor
An authorization plugin that can be used to add centralized authentication with Casdoor
Read documentationwolf-rbac
An authorization plugin providing a role-based access control system with wolf to a Route or a Service
Read documentationopenid-connect
An authentication plugin that provides authentication and introspection capability to APISIX
Read documentationcas-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 documentationhmac-auth
An authentication plugin that needs to work with a Consumer to establish the integrity of incoming requests
Read documentationauthz-casbin
An authorization plugin based on Lua Casbin supporting various access control models
Read documentationldap-auth
An authorization plugin can be used to add LDAP authentication to a Route or a Service
Read documentationjwe-decrypt
The jwe-decrypt Plugin decrypts JWE tokens in incoming requests
Read documentationmulti-auth
The multi-auth Plugin supports multiple authentication methods on the same Route or Service
Read documentationopa
An authorization plugin can be used to integrate with Open Policy Agent
Read documentationforward-auth
The forward-auth Plugin implements a classic external authentication model
Read documentation04
Security
11 plugins
cors
The plugin can help you enable CORS easily
Read documentationuri-blocker
The plugin intercepts user requests with a set of block_rules
Read documentationip-restriction
The plugin allows you to restrict access to a Service or a Route by either whitelisting or blacklisting IP addresses
Read documentationua-restriction
The plugin allows you to restrict access to a Route or Service based on the User-Agent header with an allowlist and a denylist
Read documentationreferer-restriction
The plugin can be used to restrict access to a Service or a Route by whitelisting/blacklisting the Referer request header
Read documentationconsumer-restriction
The plugin makes corresponding access restrictions based on different objects selected
Read documentationcsrf
Based on the Double Submit Cookie way, protect your API from CSRF attacks
Read documentationchaitin-waf
The chaitin-waf Plugin integrates Chaitin SafeLine WAF inspection with APISIX
Read documentationoas-validator
The oas-validator Plugin validates requests against an OpenAPI specification
Read documentationocsp-stapling
The ocsp-stapling Plugin enables dynamic OCSP stapling for TLS certificates
Read documentationpublic-api
The public-api Plugin is used for exposing an API endpoint through a general HTTP API router
Read documentation05
AI
10 plugins
ai-proxy
The ai-proxy Plugin simplifies proxying requests to LLM providers compatible with the OpenAI API format
Read documentationai-proxy-multi
The ai-proxy-multi Plugin extends ai-proxy with load balancing, retries, fallbacks, and health checks for LLM providers
Read documentationai-request-rewrite
The ai-request-rewrite Plugin rewrites client requests with LLM-generated content before proxying upstream
Read documentationai-rate-limiting
The ai-rate-limiting Plugin limits LLM usage by tracking and throttling token consumption
Read documentationai-prompt-decorator
The ai-prompt-decorator Plugin prepends and appends predefined prompts to user input
Read documentationai-prompt-template
The ai-prompt-template Plugin applies predefined prompt templates and accepts values for declared variables
Read documentationai-prompt-guard
The ai-prompt-guard Plugin validates prompts against allow and deny patterns before forwarding them to LLM services
Read documentationai-aws-content-moderation
The ai-aws-content-moderation Plugin uses AWS Comprehend to detect and block toxic request content
Read documentationai-aliyun-content-moderation
The ai-aliyun-content-moderation Plugin uses Alibaba Cloud content moderation to inspect and block unsafe requests
Read documentationai-rag
The ai-rag Plugin adds retrieval-augmented generation by fetching relevant context from external data sources
Read documentation06
Observability
24 plugins
zipkin
Zipkin is an OpenTracing plugin
Read documentationskywalking
Skywalking uses its native Nginx LUA tracer to provide tracing, topology analysis, and metrics from service and URI perspective
Read documentationopentelemetry
The opentelemetry Plugin can be used to report tracing data according to the OpenTelemetry specification
Read documentationprometheus
The plugin exposes metrics in Prometheus Exposition format
Read documentationnode-status
The node-status Plugin can be used to get the status of requests to APISIX by exposing an API endpoint
Read documentationdatadog
Datadog is a monitoring plugin built into Apache APISIX to push metrics of different services into DatadogHQ via a locally run Datadog agent.
Read documentationhttp-logger
The http-logger Plugin pushes log data to HTTP and HTTPS servers
Read documentationskywalking-logger
The skywalking-logger Plugin can be used to push access log data to SkyWalking OAP server of HTTP
Read documentationtcp-logger
Tcp-logger pushes Log data requests to TCP servers
Read documentationkafka-logger
Kafka-logger is a plugin which works as a Kafka client driver for the ngx_lua nginx module
Read documentationrocketmq-logger
The rocketmq-logger Plugin provides the ability to push logs as JSON objects to your RocketMQ clusters
Read documentationudp-logger
Udp-logger pushes Log data requests to UDP servers
Read documentationclickhouse-logger
The clickhouse-logger Plugin is used to push logs to ClickHouse database
Read documentationsyslog
The syslog Plugin pushes log data to Syslog
Read documentationlog-rotate
The log-rotate Plugin is used to keep rotating access and error log files in the log directory at regular intervals
Read documentationerror-log-logger
Error-log-logger is a plugin which pushes the log data of APISIX's error.log to TCP servers
Read documentationsls-logger
The sls-logger Plugin pushes log data to Alibaba Cloud Log Service with RFC 5424
Read documentationgoogle-cloud-logging
google-cloud-logging plugin is used to send the access log of Apache APISIX to the Google Cloud Logging Service
Read documentationsplunk-hec-logging
The splunk-hec-logging Plugin is used to forward logs to Splunk HTTP Event Collector (HEC) for analysis and storage
Read documentationfile-logger
The file-logger Plugin is used to push log streams to a specific location
Read documentationloggly
The loggly Plugin is used to forward logs to SolarWinds Loggly for analysis and storage
Read documentationloki-logger
The loki-logger Plugin pushes access logs to Grafana Loki
Read documentationelasticsearch-logger
The elasticsearch-logger Plugin is used to forward logs to Elasticsearch for analysis and storage
Read documentationtencent-cloud-cls
The tencent-cloud-cls Plugin uses TencentCloud CLSAPI to forward APISIX logs to your topic
Read documentation07
Serverless
6 plugins
serverless
There are two serverless Plugins in APISIX: serverless-pre-function and serverless-post-function.
Read documentationazure-functions
The azure-functions Plugin is used to integrate APISIX with Azure Serverless Function as a dynamic upstream to proxy all requests for a particular URI to the Microsoft Azure Cloud
Read documentationopenwhisk
The openwhisk Plugin is used to integrate APISIX with the Apache OpenWhisk serverless platform
Read documentationaws-lambda
The aws-lambda Plugin is used for integrating APISIX with AWS Lambda as a dynamic upstream to proxy all requests for a particular URI to the AWS Cloud
Read documentationworkflow
The workflow plugin is used to introduce lua-resty-expr to provide complex traffic control features
Read documentationopenfunction
The openfunction Plugin is used to integrate APISIX with CNCF OpenFunction serverless platform
Read documentation08
Other protocols
4 plugins
dubbo-proxy
The dubbo-proxy Plugin allows you to proxy HTTP requests to Apache Dubbo
Read documentationhttp-dubbo
The http-dubbo Plugin proxies HTTP requests to Apache Dubbo services
Read documentationmqtt-proxy
The mqtt-proxy Plugin is used for dynamic load balancing with client_id of MQTT. It only works in stream mode
Read documentationkafka-proxy
The kafka-proxy plugin can be used to configure advanced parameters for the kafka upstream of Apache APISIX, such as SASL authentication
Read documentation09
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 documentationredirect
The redirect Plugin can be used to configure redirects
Read documentationecho
The echo Plugin is to help users understand how they can develop an APISIX Plugin
Read documentationgzip
The gzip Plugin dynamically sets the behavior of gzip in Nginx
Read documentationbrotli
The brotli Plugin dynamically configures Brotli compression in NGINX
Read documentationreal-ip
The real-ip Plugin is used to dynamically change the client's IP address and port as seen by APISIX
Read documentationserver-info
The server-info Plugin periodically reports basic server information to etcd
Read documentationinspect
The inspect Plugin exposes runtime inspection information for APISIX
Read documentationlago
The lago Plugin reports usage and billing events to Lago
Read documentationext-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 documentationext-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 documentationext-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