These are the limits I’ve set. I’m hosting on my own server with a LOT of users (teachers and admins in many schools) interacting with it through API calls (custom frontend integrated with some other propriety software)
- name: DISCOURSE_ENABLE_HTTPS
value: "yes"
- name: DISCOURSE_PRECOMPILE_ASSETS
value: "yes"
- name: DISCOURSE_MAX_REQS_PER_IP_MODE
value: "none"
- name: DISCOURSE_MAX_USER_API_REQS_PER_MINUTE
value: "20000"
- name: DISCOURSE_MAX_USER_API_REQS_PER_DAY
value: "30000"
- name: DISCOURSE_MAX_ADMIN_API_REQS_PER_MINUTE
value: "20000"
- name: "DISCOURSE_MAX_REQS_PER_IP_PER_MINUTE"
value: "20000"
- name: "DISCOURSE_MAX_REQS_PER_IP_PER_10_SECONDS"
value: "2000"
- name: "DISCOURSE_MAX_ASSET_REQS_PER_IP_PER_10_SECONDS"
value: "2000"
- name: "DISCOURSE_SKIP_PER_IP_RATE_LIMIT_TRUST_LEVEL"
value: "0"
- name: "DISCOURSE_MAX_ADMIN_API_REQS_PER_KEY_PER_MINUTE"
value: "20000"
- name: "DISCOURSE_MESSAGE_BUS_MAX_BACKLOG_SIZE"
value: "1000"
Even with these values there’s some limit that users are hitting at around 60 calls in a minute. It is not pertaining to any specific endpoint, so it seems to be some global rate limit for the whole api in general.