Rate Limits, Credits & Reliability
Your plan's request limits, the exact credit formula, what happens when a call fails or a provider is down, and how to retry safely.
Direct System Definition: Rate Limits & Credits
RSFlowHub bills API calls in prepaid credits. Each call costs the endpoint's base credits plus 1 credit per 1,000 input characters (and 1 credit per 500 output characters for endpoints that generate text), with a minimum of 2 credits. Failed calls and cache hits are free. Every plan has a per-minute request limit; over the limit the API returns HTTP 429 with a Retry-After header.
Rate limits
Two limits apply per minute: a plan-wide limit across all endpoints, and a per-endpoint limit (60 requests/minute unless stated otherwise). The one that runs out first applies. There is no separate concurrency limit.
| API plan | Plan-wide limit | Over the limit |
|---|---|---|
| Free | 10 requests / minute | HTTP 429 RATE_LIMIT_EXCEEDED |
| Basic | 15 requests / minute | HTTP 429 RATE_LIMIT_EXCEEDED |
| Starter | 30 requests / minute | HTTP 429 RATE_LIMIT_EXCEEDED |
| Growth | 60 requests / minute | HTTP 429 RATE_LIMIT_EXCEEDED |
| Pro | 120 requests / minute | HTTP 429 RATE_LIMIT_EXCEEDED |
Every API response includes these headers:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests per minute allowed by the limit that runs out first. |
X-RateLimit-Remaining | Requests left in the current minute. |
Retry-After | Only on 429: seconds to wait before retrying. Also in the body as error.details.retry_after_seconds. |
X-RateLimit-Reset | Only on 429: Unix time when you can retry. |
X-Request-Id | Our ID for this call. Include it when you contact support. |
Higher plans have higher limits. If you need more than the top plan allows, contact us and we can set a custom limit for your account. We do not offer a contractual uptime SLA today.
Timeouts and retries
Most calls finish in a few seconds, but a call can wait up to 20 seconds for the AI provider and then try a backup model. Set your client timeout to 60 seconds. Retry only on 429, 502, 503, 504 and network errors, and add random jitter so many clients do not retry at the same moment. Do not retry 400, 401, 402, 403 or 422: the same request will fail again.
import random
import time
import requests
RETRYABLE = {429, 502, 503, 504}
def call_rsflowhub(url, headers, payload, max_retries=4, base_delay=1.0, max_delay=16.0):
for attempt in range(max_retries + 1):
try:
response = requests.post(url, headers=headers, json=payload, timeout=60)
except requests.RequestException:
response = None
if response is not None and response.status_code not in RETRYABLE:
return response
if attempt == max_retries:
break
retry_after = response.headers.get("Retry-After") if response is not None else None
if retry_after and retry_after.isdigit():
delay = float(retry_after)
else:
delay = random.uniform(0, min(max_delay, base_delay * (2 ** attempt)))
time.sleep(delay)
raise RuntimeError("RSFlowHub request failed after retries")
A failed call is never charged, so retrying after a 5xx costs nothing extra. If your client gives up but our server finished the call, that call is charged; you will see it in Dashboard → Usage with its request ID.
Provider fallback and its limits
- Each endpoint has a primary AI model and, for most endpoints, a backup model from a different provider.
- If the primary model errors or times out, the same request is sent to the backup. If a model keeps failing, a circuit breaker pauses it for a short time and calls go straight to the backup.
- The price does not change when the backup is used: credits depend only on the endpoint and the size of your text.
- Image generation has no backup model. If its provider is down, the call fails with
502 AI_PROVIDER_ERRORand is not charged. - If both models fail, you get
502 AI_PROVIDER_ERRORand nothing is charged. A backup model can phrase answers a little differently from the primary. - Live provider health is on the status page.
How a call is charged
1. Reserve
Before the AI call we reserve an estimate based on your input and the maximum output. If your balance cannot cover it you get 402 INSUFFICIENT_CREDITS; over your monthly spending limit you get 403 SPENDING_LIMIT_REACHED. Nothing is charged.
2. Process
The request goes to the AI model (or its backup). Validation errors (422) are returned before any AI call.
3. Settle
On success the real charge is calculated from the actual input and output size, and the reservation is settled to that amount (usually lower than the estimate).
4. No charge for failures
If the call fails, the reservation is released and nothing is charged. Cache hits (identical requests within 24 hours, on endpoints that cache) are free.
Freemium Utility API Quotas (Per Plan)
Selected utility endpoints (e.g. Sentiment Analysis, PII Redaction, Spam Detection, Intent Detection) are available completely free without deducting credits from your balance, up to a monthly global quota determined by your active plan:
| Subscription Plan | Global Freemium Limit (per month) |
|---|---|
| Free | 1,000 requests across all free endpoints |
| Basic | 1,000 requests across all free endpoints |
| Starter | 2,000 requests across all free endpoints |
| Growth | 5,000 requests across all free endpoints |
| Pro | 10,000 requests across all free endpoints |
Contact forms and newsletter signups have their own plans, message limits and AI allowances, and never use your API credits or this freemium quota. See Forms plans and limits.
Your plan's freemium utility quota is shared across all endpoints marked as "Freemium" in our documentation. Free calls cover inputs up to 2,000 characters; larger inputs are billed in credits. Once the limit is reached, standard credit rates apply. The quota resets on the 1st of every calendar month (UTC).
The credit formula
The charge for a successful, non-cached call is:
credits = base_credits
+ ceil(input_characters / 1000)
+ ceil(output_characters / 500) (text-generating endpoints only)
minimum 2 credits
- Input characters are the text you send. Our system prompts are never billed.
- Output characters count only for endpoints that write text (replies, summaries, chat, translation, extraction and similar). Classifiers such as sentiment or spam detection are billed on input only.
- Free freemium calls and cache hits cost 0 credits. Every charge is listed per call in Dashboard → Usage.
An endpoint with 2 base credits receives 1,400 input characters and returns 600 output characters:
2 + ceil(1400 / 1000) + ceil(600 / 500) = 2 + 2 + 2 = 6 credits
Endpoint Base Credits Reference
| Category | API Endpoint | Base Credits (Pre-Flight) |
|---|---|---|
| Text & Language | /api/v1/ai/intent-detection |
1 Credit |
| Text & Language | /api/v1/ai/translation |
1 Credit |
| Conversational AI | /api/v1/ai/chat |
1 Credit |
/api/v1/ai/email-reply |
2 Credits | |
| Content Generation | /api/v1/ai/content-generation |
2 Credits |
| Image & Vision | /api/v1/ai/image-generation |
150 Credits / image |
| Account & Usage | /api/v1/account/usage |
0 Credits |
| Account & Usage | /api/v1/account/usage-summary |
0 Credits |
| Account & Usage | /api/v1/account/api-key/current |
0 Credits |
| Data & Extraction | /api/v1/ai/json-extractor |
2 Credits |
/api/v1/ai/email-analyze |
2 Credits | |
/api/v1/ai/email-workflow |
2 Credits | |
| Text & Language | /api/v1/ai/sentiment-analysis |
1 Credit |
| Safety & Moderation | /api/v1/ai/spam-detection |
2 Credits |
| Text & Language | /api/v1/ai/text-summarize |
1 Credit |
| Text & Language | /api/v1/ai/grammar-fix |
1 Credit |
| Safety & Moderation | /api/v1/ai/pii-redaction |
1 Credit |
| FAQ & Knowledge Base | /api/v1/ai/faq-collections |
0 Credits |
| FAQ & Knowledge Base | /api/v1/ai/faq-match |
2 Credits |
| Reviews | /api/v1/ai/review-analyze |
3 Credits |
| Reviews | /api/v1/ai/review-summary |
3 Credits |
| Reviews | /api/v1/ai/review-reply |
2 Credits |
| Reviews | /api/v1/ai/review-insights |
4 Credits |
| Social & Comments | /api/v1/ai/comment-analyze |
2 Credits |
| Social & Comments | /api/v1/ai/comment-reply |
2 Credits |
| Social & Comments | /api/v1/ai/comment-moderate |
3 Credits |
| Customer Support | /api/v1/ai/ticket-analyze |
3 Credits |
| Customer Support | /api/v1/ai/ticket-reply |
2 Credits |
| Customer Support | /api/v1/ai/ticket-workflow |
3 Credits |
| Data & Extraction | /api/v1/ai/search-query-parse |
3 Credits |
| Conversational AI | /api/v1/knowledge-bases |
1 Credit |
| Conversational AI | /api/v1/chatbots |
4 Credits |