Use Redis to rate-limit your low-code API
Needs changesNeeds changes. This template uses 1 thing(s) that n8n 3.0 removes: Function (legacy). 1 breaking item(s) found. Static check, last run 2026-10-19.
What this workflow does
This workflow has 11 nodes and runs when an HTTP GET request hits its webhook URL. Along the way it connects Airtable and Redis.
How it runs
Trigger: When an HTTP GET request hits its webhook URL.
- Set (Edit Fields (Set)): sets or maps fields
- Redis: incr
- Per minute (If): checks a condition and branches into true / false
- Set (Edit Fields (Set)): sets or maps fields
- Set (Edit Fields (Set)): sets or maps fields
- Redis: incr
- Per hour (If): checks a condition and branches into true / false
- Airtable: list
- Set (Edit Fields (Set)): sets or maps fields
- Function: runs custom JavaScript (legacy Function node)
Services it uses
Before you upgrade to n8n 3.0
1 thing in this workflow is removed in n8n 3.0. Fix it before you upgrade:
- Function (legacy) in Function: replace with Code node, mode 'Run Once for All Items'.
| Removed in 3.0 | Replace with |
|---|---|
| Function (legacy) Function | Code node, mode 'Run Once for All Items' |
Nodes used (6)
- Airtable
n8n-nodes-base.airtable - Redis
n8n-nodes-base.redis - Edit Fields (Set)
n8n-nodes-base.set - Webhook
n8n-nodes-base.webhook - Function
n8n-nodes-base.function - If
n8n-nodes-base.if
From the author
This workflow demonstrates how to can use Redis to implement rate limits to your API. The workflow uses the incoming API key to uniquely identify the user and use it as a key in Redis. Every time a request is made, the value is incremented by one, and we…