So, you’re playing around with Appwrite and suddenly hit a wall — a rate limit wall. You’re trying to access a collection too fast, and Appwrite says, “Whoa there, buddy!” Sound familiar? Don’t worry — we’ve got you covered. Let’s break down how to disable rate limits on Appwrite collections in a fun, simple, and beginner-friendly way.
TL;DR: You can disable rate limits in Appwrite by adjusting your project’s security rules or tweaking the Appwrite server settings. It’s not magic, just a little bit of tinkering under the hood. Be careful — removing rate limits means more power, but also more risk. Always test and monitor your changes.
🚦 What’s a Rate Limit, Anyway?
Rate limits are like traffic signals for your API calls. They help prevent abuse and make sure no one user overwhelms your Appwrite server. Imagine 1,000 people hammering your collection every second. Chaos, right?
Rate limits keep things safe and smooth. But sometimes, for development or specific use cases, you want to turn them off or raise them.
🛠️ Can You Completely Disable Rate Limits?
Here’s the catch — Appwrite doesn’t give you a big red button that says “DISABLE ALL RATE LIMITS.” But you can work around it.
There are two main ways:
- Change the Rate Limits in the Appwrite Environment Config
- Bypass Limits at the Collection Level via API or SDK using Roles
🎛️ Method 1: Update the Appwrite Environment Config
This is the most powerful method. Basically, you’re telling the Appwrite server itself to chill out a bit. To do this:
- Access your server or container where Appwrite runs.
- Find the
.envfile (usually in the root folder). - Look for (or add) your rate limit variables. Here are some important ones:
_APP_RATE_LIMIT=0 _APP_API_RATE_LIMIT=0 _APP_USAGE_STATS=false
Setting them to 0 disables the limits. After that:
- Restart your Appwrite server/container so changes apply.
Note: This disables rate limits globally, not just for one project or collection.
🔐 Method 2: Use Roles to Bypass Rate Limits
Sometimes, you don’t want to disable rate limits completely — just create exceptions. Appwrite lets you tweak rules using roles.
In your Appwrite project:
- Go to the Users or Collections section.
- Create a new Role or assign permissions to existing users like “admin” or “developer”.
- Set limits on actions per role using the Appwrite SDK or REST API.
For example, if you’re using Admin SDK keys, rate limits are way higher (or might not apply at all). Here’s how you use an SDK key that might escape limits:
import { Client, Databases } from "appwrite";
const client = new Client();
client
.setEndpoint("https://[YOUR-ENDPOINT]")
.setProject("[PROJECT-ID]")
.setKey("[SECRET-API-KEY]");
const databases = new Databases(client);
databases.listDocuments('[DATABASE-ID]', '[COLLECTION-ID]')
.then(response => {
console.log(response);
})
.catch(error => {
console.error(error);
});
With a server-side SDK and proper API keys, you’ll face way fewer limits than regular end users.
🧪 Use Case: Why Would You Disable Rate Limits?
- You’re in development mode and want fast testing.
- You trust your backend and have secure access limits.
- You need real-time syncing and rapid updates across users.
Just remember: No rate limits = no brakes. Don’t go speeding without a seatbelt.
🤓 Pro Tips
Here are some neat extras to make this smoother:
- Log API calls when you’re testing speed — performance does matter.
- Enable Caching or smart querying if you don’t really need high-frequency calls.
- Monitor client activity with Appwrite’s usage dashboard.
🐞 Troubleshooting?
If rate limits still hit you, even after you tweak settings, try the following:
- Check your Appwrite version — older versions might behave differently.
- Make sure you restarted services after editing
.env. - Verify your API keys and roles are active and match your users.
🚫 What Not to Do
Disabling rate limits is cool but also risky if not handled properly. So:
- Don’t disable them on a public endpoint without authentication.
- Don’t let anonymous users hit your collections with endless queries.
- And definitely don’t forget to turn them back on for production!
🎉 Wrap-Up
There you go! Disabling rate limits in Appwrite isn’t scary. It’s all about understanding when to adjust and how. You can take full control via the environment config or by being smart with roles and API keys. Use your powers responsibly!
Still have questions? Experiment, check the docs, and don’t be afraid to break things (in your dev setup, not live!). You got this! 🚀
logo

