Package Information
Downloads: 41 weeklyĀ /Ā 863 monthly
Latest Version: 0.3.3
Documentation
@bauer-group/n8n-nodes-http-throttled-request
An n8n community node that adds intelligent rate-limit throttling to HTTP requests. It automatically detects rate-limit responses (HTTP 429, 503, 504) and waits the appropriate time before retrying, using information from response headers.
Features
- Full V3 Feature Set ā Inherits all parameters from the built-in HTTP Request node (50+ auth types, pagination, response format, proxy, SSL, etc.)
- Automatic Rate Limit Detection ā Detects HTTP 429, 503, and 504 status codes
- Smart Wait Time Calculation ā Parses
Retry-After,X-RateLimit-*, and HubSpot-specific headers - Jitter Support ā Prevents thundering herd with configurable random variance
Installation
n8n Community Nodes (Recommended)
- Open your self-hosted n8n instance
- Go to Settings ā Community Nodes
- Enter
@bauer-group/n8n-nodes-http-throttled-request - Click Install
The node appears immediately in the node panel ā no restart required.
Community Nodes are only available on self-hosted n8n instances.
Docker
Create a custom Dockerfile that pre-installs the package:
FROM n8nio/n8n:latest
USER root
RUN npm install -g @bauer-group/n8n-nodes-http-throttled-request
USER node
Then build and run:
docker build -t n8n-throttled .
docker run -it --rm -p 5678:5678 n8n-throttled
Or with docker-compose ā replace image with build:
services:
n8n:
build: .
ports:
- "5678:5678"
Quick Start
- Add the HTTP Request (Throttled) node to your workflow
- Configure it exactly like the built-in HTTP Request node
- Throttling is enabled by default ā no extra setup needed
- When the API returns 429, the node automatically waits and retries
Default Throttling Settings
| Setting | Default | Description |
|---|---|---|
| HTTP Codes | 429 | Status codes that trigger throttling |
| Default Wait Time | 5000 ms | Fallback wait when no header is present |
| Random Jitter | ±25% | Variance to prevent thundering herd |
| Max Throttle Retries | 5 | Max attempts before failing |
Documentation
| Document | Description |
|---|---|
| Configuration | Full parameter reference, throttling settings, safety limits |
| How It Works | Throttling behavior, header priority, architecture, execution flow |
| Migration Guide | Replace existing HTTP Request nodes (manual, JSON, API script) |
| Troubleshooting | Common issues and solutions |
Development
npm install
npm run build
npm test
Project Structure
āāā src/
ā āāā nodes/
ā āāā HttpRequest/
ā āāā HttpRequestThrottled.node.ts # Main node (V3 composition + fallback)
ā āāā v3-loader.ts # Dynamic V3 node loader
ā āāā throttle-wrapper.ts # Helper interception for throttling
ā āāā throttling.ts # Wait time calculation logic
ā āāā throttling-props.ts # Throttling UI properties
ā āāā translations/de/ # German translation
āāā docs/ # Documentation
āāā test/
ā āāā throttling.test.ts # Unit tests
āāā package.json
āāā tsconfig.json
License
MIT
Contributing
- Fork the repository
- Create a feature branch
- Run tests:
npm test - Submit a pull request