Skip to content
Preview: The API is still being rolled out and details may change before launch. Follow progress in the changelog.

Rate limits and quotas

A rate limit is the most calls you can make in a short time. A quota is how many messages your bot can use in a whole month. This page lists every number.

Limit Value
API requests per bot (all endpoints together) 120 per minute, bursts of up to 20
Request body 64 KB

Every authenticated answer carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, so you know how much is left (401 INVALID_TOKEN and 403 BOT_DISABLED answers don’t).

Over the limit you get 429 RATE_LIMITED with a Retry-After header and details.retry_after (in seconds). Wait that long, then try again. Retrying faster doesn’t help.

Limit Value
Per chat 6 messages per 10 seconds and 20 per minute
In a channel 10 messages per hour
Per bot, all chats together 60 messages per minute
Messages per request 5
Message length 4,096 characters

Every message the bot posts counts: {"reply"}, reply token and push alike. Chats in slow mode (a setting that limits how often people can post) may answer 429 SLOW_MODE.

  • One person can call one bot at most 20 times a minute. Calls beyond that aren’t delivered and don’t use your quota.
  • At most 2 events per bot are delivered to the webhook at the same time.

Each bot gets a monthly message quota from its plan. Events delivered to the webhook and messages the bot posts count together, per calendar month in Thailand time, restarting on the 1st.

Plan Messages per month Chats at once See every message
ทั่วไป (free, the default) 300 3 No
Other plans Set by Sukson staff Per plan Per plan

See your bot’s actual values in GET /v1/me/quota and what it has used in GET /v1/me/quota/consumption. Plans aren’t on sale yet; staff assign them.

When the quota runs out, your bot gets no new events and sending gets 403 QUOTA_EXCEEDED until the next month.