EZThrottle

When APIs Fail, We Retry

Multi-region HTTP proxy for your outbound API calls

OpenAI returns 429?
We queue and retry.
us-east-1 goes down?
We reroute to us-west.
Stripe times out?
We try another region.

Like Cloudflare, but for outbound. Route your external API calls through our edge network. We handle rate limits, retries, and regional failures so you don't have to.

Coordinated retries across our cluster. No thundering herd.
Why we built this  ยท  Serverless? Read this

Early Access: Running 9 machines across 3 regions on Fly.io's edge network. Join early adopters building the future of API coordination. Full network effect coming soon.

Built for Teams Who Can't Afford API Failures

Every API can fail. Your workflows shouldn't.

๐Ÿค–

AI Agent Builders

Your agents call dozens of APIs per workflow. One 429 error crashes the entire sequence. Restart from scratch. Lose all context.

โŒ Without EZThrottle:

  • โ€ข OpenAI rate limit at step 8/10
  • โ€ข Entire agent workflow crashes
  • โ€ข Restart from beginning
  • โ€ข Lost progress, wasted tokens

โœ… With EZThrottle:

  • โ€ข Rate limit? We queue it
  • โ€ข API down? We retry different region
  • โ€ข Workflow completes successfully
  • โ€ข Zero manual intervention
โ†’ 429 handling: Automatic backoff & queueing
โ†’ 500 handling: Multi-region failover
โ†’ Workflows: Multi-step coordination
๐Ÿ“Š

Data Engineers

Your ETL jobs process millions of records across multiple APIs. Manual rate limiting is slow, brittle, and loses data on failures.

โŒ Without EZThrottle:

  • โ€ข Hit Shopify rate limit at record 5,000
  • โ€ข Pipeline fails, restarts from zero
  • โ€ข Manual sleep() between requests
  • โ€ข 6 hour job fails at hour 4

โœ… With EZThrottle:

  • โ€ข Automatic rate limit coordination
  • โ€ข Resume from checkpoint on failure
  • โ€ข Regional failover for 500 errors
  • โ€ข Job completes in 2 hours
โ†’ 429 handling: Distributed rate limiting
โ†’ 500 handling: Checkpoint & resume
โ†’ Workflows: Paginated batch processing
๐Ÿ›’

E-commerce Platforms

Your checkout flow calls 5+ APIs. Payment succeeds, but if fulfillment fails, orders are orphaned. Manual cleanup required.

โŒ Without EZThrottle:

  • โ€ข Stripe charge succeeds
  • โ€ข ShipStation API returns 500
  • โ€ข Order exists but won't ship
  • โ€ข Manual reconciliation needed

โœ… With EZThrottle:

  • โ€ข Payment succeeds
  • โ€ข Fulfillment retries automatically
  • โ€ข Multi-region failover on 500
  • โ€ข Order ships, zero manual work
โ†’ 429 handling: Queue burst traffic
โ†’ 500 handling: Guaranteed completion
โ†’ Workflows: Transactional consistency

Your APIs can fail. Your workflows won't.

Start with 1 million requests free. Scale to billions with workflows.

Start Free - No Credit Card

What Is an API Aqueduct?

Ancient infrastructure for modern problems

๐Ÿ›๏ธ Roman Aqueducts (19 BC)

  • โœ“ Routed water across hundreds of miles
  • โœ“ Controlled flow with precise gradients
  • โœ“ Multiple channels working together as a network
  • โœ“ Buffered demand in distribution tanks (castellum)
  • โœ“ Still working after 2,000 years

The Aqua Virgo still supplies water to Rome's Trevi Fountain today.

๐Ÿ’ป EZThrottle (2025)

  • โœ“ Routes requests across distributed cluster via Syn
  • โœ“ Controls flow rate (2 req/sec default, adaptive)
  • โœ“ Multiple queues coordinated across machines
  • โœ“ Buffers bursts in distributed in-memory queues
  • โœ“ Built to last on BEAM (40 years proven)

We're building 2,000-year infrastructure with technology that's already lasted 40.

The Aqueduct Advantage

๐ŸŒŠ

Intelligent Routing

Syn finds the least-busy queue across our cluster in real-time. Your floods never block other customers. Fair, distributed coordination.

โš–๏ธ

Flow Control

Smooth, predictable traffic to APIs. No bursts, no 429 errors. Like aqueducts smoothed water pressure, we smooth request flow.

๐Ÿ”—

Network Coordination

BEAM's distributed coordination across machines. Fault-tolerant, scalable, reliable. Infrastructure that just works.

How It Works

Distributed rate limiting with BEAM reliability

The Problem: Rate Limits Kill APIs

Without EZThrottle:

// Your code makes 100 requests/sec
for (let i = 0; i < items.length; i++) {
    await api.post('/process', items[i])
    // โŒ 429 Rate Limit Exceeded
    // Your app crashes
}

Result: Process fails. Data lost. Manual restart required.

With EZThrottle:

// Same code, proxied through EZThrottle
for (let i = 0; i < items.length; i++) {
    await ezthrottle.post('/process', items[i])
    // โœ“ Automatically queued if rate limited
    // โœ“ Retried on failures
}

Result: Process completes. No crashes. Zero manual intervention.

The Architecture

1

Your Request Arrives

Proxied to EZThrottle's edge network (9 machines, 3 regions)

2

Syn Registry Routes

Distributed Syn process finds the least-busy queue across our cluster

3

Rate Limit Check

Token bucket algorithm (configurable rate: 2/sec default)

4

Queue or Forward

Within limit? Forward immediately. Over limit? Queue in memory (BEAM process)

5

Response & Webhook

Get response, trigger webhook if configured, return to client

๐Ÿ’ก Why BEAM? Erlang/OTP has powered telecom systems for 40 years with 99.9999999% uptime. WhatsApp handles 2 billion users on BEAM. Discord serves 150 million concurrent connections. If it's reliable enough for them, it's reliable enough for your API calls.

Official SDKs

Official SDKs for Python, Node.js, and Go

๐Ÿ

Python

$ pip install ezthrottle
from ezthrottle import EZThrottle

client = EZThrottle("your_key")
resp = client.queue_request(
    url="https://api.example.com",
    webhook_url="https://webhook.site"
)
View on PyPI โ†’
๐Ÿ“ฆ

Node.js

$ npm install ezthrottle
const { EZThrottle } =
  require('ezthrottle');

const client = new EZThrottle('key');
const r = await client.queueRequest({
  url: 'https://api.example.com',
  webhookUrl: 'https://webhook.site'
});
View on npm โ†’
๐Ÿ”ท

Go

$ go get github.com/rjpruitt16/ezthrottle-go
import ez "github.com/rjpruitt16/
  ezthrottle-sdk/go"

client := ez.NewClient("key")
resp, _ := client.QueueRequest(
  &ez.QueueRequest{
    URL: "https://api.example.com",
    WebhookURL: "https://webhook.site",
  }
)
View on GitHub โ†’
๐Ÿ’ก

All SDKs support:

โœ“ Automatic rate limit handling โœ“ Retry-After support โœ“ Webhook delivery
View Full Documentation โ†’

Zero Data Storage

โœ“ Requests processed in-memory only

โœ“ No database storage of request/response data

โœ“ Webhooks deliver results directly to you

โœ“ Automatic deletion if temporary storage ever needed

Built on open-source Gleam + BEAM. Code transparency for security-conscious teams. Your data flows through, never stays.

Open & Transparent

Our landing page, FAQ, and trial process are all open source on GitHub.

๐Ÿ” See Exactly How Trial Requests Work

We use email templates for trial requests. No hidden questions, no surprises. You can see the exact template before you apply.

"We're gambling on you. We want to know who we're betting on."

View on GitHub

Read the README โ€ข See trial email template โ€ข Fork if you want

Simple, Transparent Pricing

Start free. Scale as you grow.

Free

Get started

$0/mo

  • โœ“ 1M requests/mo
  • โœ“ All SDKs
  • โœ“ Webhook delivery
  • โœ“ Community support
Get Started

Starter

Small projects

$50/mo

  • โœ“ 2M requests/mo
  • โœ“ All SDKs
  • โœ“ Priority routing
  • โœ“ Email support
Get Started

Growth

Growing teams

$200/mo

  • โœ“ 5M requests/mo
  • โœ“ Priority routing
  • โœ“ Advanced dashboard
  • โœ“ Email support (12hr)
Get Started
POPULAR

Pro

Production scale

$499/mo

  • โœ“ 10M requests/mo
  • โœ“ Priority routing
  • โœ“ Advanced dashboard
  • โœ“ Email support (24hr)
Get Started

Enterprise

Custom needs

Custom

  • โœ“ Unlimited requests
  • โœ“ Dedicated machines
  • โœ“ Custom SLAs
  • โœ“ Priority support
Contact Sales

All plans include access to workflow runners when they launch. Early adopters get priority access.

Overage on paid tiers: $0.0005 per request over quota. We don't block โ€” we charge fees to discourage proxy usage. Use EZThrottle for overflow, not as your API gateway.

Join Early Adopters Building the Future

Start with reliable requests. Grow into workflows. Shape the roadmap.

Roman aqueducts: 2,000 years. BEAM: 40 years. EZThrottle: Built to last.

Start Free - 1 Million Requests โ†’

No credit card required. Integrate in 30 minutes.

ยฉ 2026 EZThrottle. Multi-region API proxy.

Built on BEAM by a solo founder who believes engineers deserve to sleep at night.