Reference
Salesforce governor limits
Per-transaction caps Salesforce enforces on every Apex execution. Bookmark this page; pair it with the dictionary entry for the deeper context.
| Category | Limit | Sync | Async |
|---|---|---|---|
| SOQL | Total SOQL queries | 100 | 200 |
| SOQL | Records returned by SOQL | 50,000 | 50,000 |
| SOQL | Total SOSL queries | 20 | 20 |
| SOQL | Records retrieved by Database.getQueryLocator | 10,000 | 10,000 |
| DML | Total DML statements | 150 | 150 |
| DML | Records processed by DML | 10,000 | 10,000 |
| CPU | Maximum CPU time on Salesforce servers | 10,000 ms | 60,000 ms |
| Heap | Maximum heap size | 6 MB | 12 MB |
| Callouts | Total callouts (HTTP requests or web service calls) | 100 | 100 |
| Callouts | Maximum cumulative timeout for all callouts in a transaction | 120 sec | 120 sec |
| Single emails sent (SingleEmailMessage) | 10 | 10 | |
| Mass emails sent (MassEmailMessage) | 10 | 10 | |
| Push notifications | Mobile push notifications | 10 | 10 |
| Apex | Total stack depth for Apex invocations | 1,000 | 1,000 |
| Apex | Future calls per Apex invocation | 50 | 50 |
| Apex | Queueable jobs added with System.enqueueJob | 50 | 1 |
| Apex | Maximum number of Apex jobs added to the queue with System.enqueueJob | 5,000 / 24h | 5,000 / 24h |
Numbers reflect Spring ‘26 release. Salesforce occasionally raises soft caps - always check the official Apex Developer Guide for the canonical value.