Rate Limits & Credits
What actually throttles MCP usage, and what each tool call costs
Credits are the real limit
Synter doesn't gate MCP usage behind a hard, published per-minute request quota the way some APIs do. Every tool call is priced in credits (1 credit = $0.025), and your credit balance — not a request counter — is what actually bounds how much you can do. Check it any time for free:
get_credit_balance()What tools cost
Costs are set per tool, not per platform or plan tier — everyone pays the same rate for the same tool, from free reads up through several hundred credits for a generated video ad. There isn't a clean tiered price list we can publish here without risking it going stale: some tools bill against a shared internal pricing key rather than a 1:1 rate, so the cheapest and most expensive tools can differ tool-by-tool even within the same category.
Each tool's stated cost is called out in its own description on the Tool Reference page — that's the right place to check before calling something expensive. A tool that isn't explicitly priced still gets billed — Synter fails closed to a conservative 10-credit default rather than running it for free.
A tool's stated cost and its billed cost can differ
get_credit_balance before and after to confirm what you were actually charged, rather than relying solely on the description text.Some read-only tools are free even though they're not free by default
pull_google_ads_performance or run_gaql_query) are currently waived to 0 credits to encourage checking your data before acting, even though they have a nominal per-call cost. This is a configurable incentive, not a permanent guarantee — call get_credit_balance if you want to confirm what you were actually charged.Request rate limiting
On top of credits, a courtesy rate limiter caps bursts of automated calls per user (shared across every API key that user holds, not per individual key). It exists to catch a runaway loop, not as a security boundary — it's intentionally soft, and credit spend is what actually bounds usage. If you hit it, you'll get:
{
"success": false,
"error": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded (60 requests/minute). Please slow down.",
"retry_after_seconds": 60
}retry_after_seconds is a field in the response body, not an HTTP Retry-After header — check the body, not just the status code, before retrying.
No publicly documented per-plan tiers
Daily spend caps
New accounts have a daily credit-spend ceiling that rises as your account's trust level increases (based on usage history and billing status) — this is separate from the per-minute request limiter above and exists to contain runaway agent loops from spending unbounded credits in a single day, not to throttle normal usage.
