Costs and limits
#The protection limit
There is one limit: 120 requests per minute for each API key or MCP connection. REST and MCP calls made with the same key or connection count together. It protects you and us from a mistake such as a loop that calls the API without end. It is not a usage cap. A key can lower its own limit; it cannot raise it.
Every answer shows where you stand:
| Header | Meaning |
|---|---|
X-RateLimit-Limit | Requests allowed per minute for this key. |
X-RateLimit-Remaining | Requests left in the current minute. |
X-RateLimit-Reset | When the minute ends (Unix time in seconds). |
X-RateLimit-Class | The class of the call: read, write, send, bulk or upload. |
If you go over, the answer is 429 rate_limited with the header Retry-After (seconds). Wait that long and send the request again. It is safe to repeat the request; nothing was done.
The Python example needs the package requests (pip install requests).
import os
import time
import requests
def get_with_wait(url, headers):
while True:
response = requests.get(url, headers=headers)
if response.status_code != 429:
return response
time.sleep(int(response.headers.get("Retry-After", "1")))
headers = {"Authorization": "Bearer " + os.environ["SMARTCHAT_API_KEY"]}
print(get_with_wait("https://api.smartchat.marketing/v1/me", headers).status_code)SmartChat counts calls in an audit log. If the amount of calls looks unusual, the SmartChat team is warned. There is no other limit on how much you may do.
#The daily limit of the WhatsApp number
This is not a limit of your key. WhatsApp limits how many new people one phone number may write to per day. A newsletter preview shows it: daily_limit is that number (or null if there is none) and estimated_days is how many days the send takes because of it. A larger audience is sent over several days; nothing is lost. See get_newsletter_send_preview.
#Credits
Calls to the API do not use credits. Doing the same thing in the app with an AI feature may use credits. A reference page says "Uses credits" if a call is an exception. Sending messages follows the quota of your plan; if it is used up, the answer is quota_exceeded.