http-throttled-request

n8n community node with built-in HTTP request throttling (rate limiting)

Package Information

Downloads: 41 weeklyĀ /Ā 863 monthly
Latest Version: 0.3.3

Documentation

@bauer-group/n8n-nodes-http-throttled-request

šŸš€ Release & NPM Publish
npm
GitHub package

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)

  1. Open your self-hosted n8n instance
  2. Go to Settings → Community Nodes
  3. Enter @bauer-group/n8n-nodes-http-throttled-request
  4. 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

  1. Add the HTTP Request (Throttled) node to your workflow
  2. Configure it exactly like the built-in HTTP Request node
  3. Throttling is enabled by default — no extra setup needed
  4. 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

  1. Fork the repository
  2. Create a feature branch
  3. Run tests: npm test
  4. Submit a pull request

Discussion