Docs

Quick start

Get your proxy URL in under 2 minutes. No SDK, no config files — just a URL swap.

  1. 1.Sign up at watsonlb.online and create a new project.
  2. 2.Add your backend URLs (Render, Railway, Fly.io, Vercel, etc.).
  3. 3.Copy your proxy URL from the project dashboard.
  4. 4.Replace your BACKEND_URL env var with the proxy URL.
  5. 5.Done — WatsonLB handles routing, failover, and queuing.

Integration

Your proxy URL works as a drop-in replacement for any backend URL. Just swap the base URL — all paths, headers, and request bodies pass through unchanged.

bash
# Before
BACKEND_URL=https://myapp.onrender.com

# After — single line change
BACKEND_URL=https://watsonlb.online/p/YOUR_SLUG/

All HTTP methods are supported (GET, POST, PUT, PATCH, DELETE). Streaming responses and WebSockets are supported on Pro and Max plans.

Adding backends

Add up to 2 backends on the Free plan, 4 on Pro, and unlimited on Max. All backends must use HTTPS.

Supported providers: Render · Railway · Fly.io · Koyeb · Vercel · Heroku · Any HTTPS URL

WatsonLB pings each backend every 5 minutes. After 3 consecutive failures, the circuit breaker opens and that backend is excluded from routing until it recovers.

Routing & failover

By default, traffic is round-robined across all healthy backends. If a backend returns a 5xx error or times out, the request is automatically retried on the next backend.

Cold-start detection: if a backend responds in >3s, WatsonLB marks it as cold-starting and holds subsequent requests in a short queue rather than letting them pile up and 502.

  • Free: 20s queue timeout
  • Starter: 30s queue timeout
  • Pro: 60s queue timeout, priority queue
  • Max: 90s queue timeout, priority queue

Shield middleware

Shield blocks malicious traffic before it reaches your backends. Enable it per-project from the project settings.

  • Blocks known bad user-agents (scrapers, vulnerability scanners)
  • Path traversal attack detection (../../, %2e%2e)
  • Rate limiting: 100 req/min per IP on Free, configurable on Pro+
  • Returns 403 for blocked requests with no backend impact

Pricing: Free/Starter plans: ₹0.20/hr while Shield is active. Pro and Max: Shield included.

Alerts & reports

WatsonLB monitors your backends continuously and sends alerts when things go wrong.

  • Morning report (Starter+): Email at 8am with uptime %, downtime windows, and response times from the past 24h.
  • Real-time alerts (Pro+): Email within 60s of a backend going down.
  • WhatsApp alerts (Pro+): Instant WhatsApp message when any backend goes down.

REST API

All dashboard actions are available via API. Authenticate with your API key from Settings → API Keys.

bash
# List projects
curl https://api.watsonlb.online/api/projects \
  -H "Authorization: Bearer YOUR_API_KEY"

# Add a backend
curl -X POST https://api.watsonlb.online/api/projects/:id/backends \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://myapp.onrender.com","providerHint":"Render"}'

# Get project health
curl https://api.watsonlb.online/api/projects/:id \
  -H "Authorization: Bearer YOUR_API_KEY"

FAQ

Q: Does WatsonLB add latency?
Approximately 10–30ms. Our Cloudflare Worker runs at the edge globally, so it often routes traffic faster than going directly to a single-region backend.
Q: What happens when all backends are down?
Requests are queued in memory for up to your plan's timeout (20–90s). When any backend recovers, queued requests are flushed immediately.
Q: Can I use WatsonLB with databases?
WatsonLB is designed for HTTP backends. Database query routing (routing SQL queries across read replicas) is coming in Max plan.
Q: Is WebSocket supported?
WebSocket proxying is supported on Pro and Max plans.
Q: Does WatsonLB store my request data?
No. WatsonLB proxies requests in-flight and stores only metadata (response codes, latencies) for health monitoring. Request bodies are never logged.

Ready to set it up?

Free tier available. No credit card required.

Create free account →