Limits
Execution limits and quotas.
Execution limits
Every script run has resource limits to ensure fair usage and system stability.
Timeout
Scripts must complete within the timeout limit:
- Free: 30 seconds per run
- Pro: 2 minutes per run
If your script doesn't finish in time, it's terminated and marked as timed out. For long-running tasks, consider breaking them into smaller scripts or processing data in batches.
Memory
Scripts are limited to 128 MB of memory. If your script exceeds this limit, it's terminated with an out-of-memory error.
Tips for reducing memory usage:
- Process data in chunks instead of loading everything at once
- Use generators for large datasets
- Avoid storing large objects in memory
Network
Scripts can make outbound HTTP/HTTPS requests. There's no hard limit on the number of requests, but total execution time still counts against your timeout.
Scripts cannot:
- Listen on ports
- Accept inbound connections
State limits
Scripts can persist up to 64 KB of state data between runs. See State for details.
Environment variable limits
- Key names: max 64 characters, uppercase only
- Values: max 2048 characters
Keys cannot start with reserved prefixes: PYTHON, LD_, PATH, HOME, TMP, LANG.
What counts as a run?
A run is counted when:
- A scheduled execution starts
- You click "Run now"
A run is not counted when:
- You save or edit a script
- You view run history