Rate limits
X1-BaaS enforces two layers of rate limiting: a per-IP sliding window on every request, plus subscription tier quotas for API-key users.Per-IP rate limit
Every request (authenticated or not) is subject to a per-IP sliding-window limit of 30 requests per minute by default. When exceeded, the API returns429 with:
The limit is configurable server-side via the
BAAAS_RATE_LIMIT environment
variable. It applies per source IP, so multiple keys behind one IP share the budget.Subscription tiers
API-key users are also subject to monthly request quotas and per-tier burst limits:x402 pay-per-use
x402 requests have no monthly quota — you pay$0.005 USDC per successful
scrape. They remain subject to the 30 RPM per-IP sliding window.
Response headers
Use theX-Request-ID header to correlate rate-limited requests in your logs.
Best practices
Batch strategically. Crawl jobs fetch with configurable
delay_ms and parallel — keep them within your tier’s RPM. Respect
robots.txt. Crawl mode honors it by default and applies Crawl-delay. Handle
429 gracefully. Back off exponentially and retry rather than hammering. Use the response cache. Identical URLs within 5 minutes are served from cache (pass
bypass_cache: true to force a fresh fetch).