L'API Gmail est soumise à des limites d'utilisation qui restreignent la fréquence à laquelle vous pouvez appeler des méthodes d'API. Les limites sont définies en termes d'unités de quota, une unité de mesure abstraite représentant l'utilisation des ressources Gmail.
Quotas de l'API Gmail
L'API Gmail applique deux types de quotas :
Par minute et par projet : nombre d'unités de quota que votre projet Google Cloud peut utiliser en une minute.
Par minute, par utilisateur et par projet : nombre d'unités de quota qu'un utilisateur particulier peut utiliser dans votre projet Cloud. Cette limite permet de garantir une répartition équitable de l'utilisation entre vos utilisateurs.
Le tableau suivant détaille ces limites :
| Type de limite d'utilisation | Limite |
|---|---|
| Par minute et par projet | 1 200 000 unités de quota |
| Par minute, par utilisateur et par projet | 6 000 unités de quota |
Pour en savoir plus sur la gestion des erreurs de limite, consultez Résoudre les erreurs.
Seuil de facturation quotidien
Cette limite par jour et par projet définit le nombre maximal d'unités de quota que votre projet Google Cloud peut utiliser sur une période de 24 heures avant que des frais ne s'appliquent.
L'utilisation en dessous de ce seuil n'entraîne pas de frais supplémentaires et votre compte Google Cloud n'est pas facturé. Google partagera toutes les informations de facturation plus tard en 2026, au moins 90 jours avant l'entrée en vigueur des modifications.
Vous ne pouvez pas demander d'augmentation de ce seuil quotidien.
Le tableau suivant détaille la limite :
| Type de seuil limite | Limite |
|---|---|
| Par jour et par projet | 80 000 000 d'unités de quota |
Pour en savoir plus, consultez Modèle standardisé Google Workspace pour les outils et les API d'agent.
Utilisation des quotas par méthode
Le nombre d'unités de quota consommées par chaque requête varie en fonction de la méthode que vous appelez et des paramètres de requête. Le tableau suivant décrit l'utilisation des unités de quota par méthode :
| Méthode | Unités de quota |
|---|---|
drafts.create |
10 |
drafts.delete |
10 |
drafts.get |
20 (60 lorsque format est défini sur full, raw ou html) |
drafts.list |
5 |
drafts.send |
100 |
drafts.update |
15 |
getProfile |
1 |
history.list |
2 |
labels.create |
5 |
labels.delete |
5 |
labels.get |
1 |
labels.list |
1 |
labels.update |
5 |
messages.attachments.get |
20 |
messages.batchDelete |
50 |
messages.batchModify |
50 |
messages.delete |
10 |
messages.get |
20 (60 lorsque format est défini sur full, raw ou html) |
messages.import |
25 |
messages.insert |
25 |
messages.list |
5 |
messages.modify |
5 |
messages.send |
100 |
messages.trash |
20 |
messages.untrash |
5 |
settings.delegates.create |
100 |
settings.delegates.delete |
5 |
settings.delegates.get |
1 |
settings.delegates.list |
1 |
settings.filters.create |
5 |
settings.filters.delete |
5 |
settings.filters.get |
1 |
settings.filters.list |
1 |
settings.forwardingAddresses.create |
100 |
settings.forwardingAddresses.delete |
5 |
settings.forwardingAddresses.get |
1 |
settings.forwardingAddresses.list |
1 |
settings.getAutoForwarding |
1 |
settings.getImap |
1 |
settings.getPop |
1 |
settings.getVacation |
1 |
settings.sendAs.create |
100 |
settings.sendAs.delete |
5 |
settings.sendAs.get |
1 |
settings.sendAs.list |
1 |
settings.sendAs.update |
100 |
settings.sendAs.verify |
100 |
settings.updateAutoForwarding |
5 |
settings.updateImap |
5 |
settings.updatePop |
100 |
settings.updateVacation |
5 |
stop |
50 |
threads.delete |
20 |
threads.get |
40 (120 quand format est full) |
threads.list |
10 |
threads.modify |
10 |
threads.trash |
20 |
threads.untrash |
10 |
watch |
100 |
Lorsque vous utilisez l'API Gmail, le nombre de destinataires par e-mail est également limité à 500.
Résoudre les erreurs de quota basées sur le temps
Pour toutes les erreurs temporelles (maximum de N requêtes toutes les X minutes), nous vous recommandons de faire en sorte que votre code intercepte l'exception et utilise une temporisation de retransmission exponentielle tronquée pour vous assurer que vos appareils ne génèrent pas de charge excessive.
L'intervalle exponentiel entre les tentatives est une stratégie standard de gestion des exceptions pour les applications réseau. Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes en augmentant de manière exponentielle le temps d'attente entre les requêtes jusqu'à ce que la durée maximale de l'intervalle soit atteinte. Si les requêtes échouent toujours, il est important que les délais entre les requêtes augmentent au fil du temps jusqu'à ce que la requête aboutisse.
Exemple d'algorithme
Un algorithme d'intervalle exponentiel entre les tentatives relance les requêtes de manière exponentielle, en augmentant le temps d'attente entre les tentatives jusqu'à ce que la durée maximale de l'intervalle exponentiel soit atteinte. Exemple :
- Envoyer une requête à l'API Gmail
- Si la requête échoue, attendez 1 +
random_number_milliseconds, puis effectuez une nouvelle tentative. - Si la requête échoue, attendez 2 +
random_number_milliseconds, puis effectuez une nouvelle tentative. - Si la requête échoue, attendez 4 +
random_number_millisecondssecondes, puis effectuez une nouvelle tentative. - Poursuivez ainsi jusqu'à atteindre la valeur
maximum_backoff. - Continuez d'attendre et de relancer la requête jusqu'à atteindre le nombre maximal de tentatives, mais n'augmentez pas le temps d'attente entre les tentatives.
où :
- Le temps d'attente est défini sur
min(((2^n)+random_number_milliseconds), maximum_backoff), avecnincrémenté de 1 pour chaque itération (requête). random_number_millisecondscorrespond à un nombre aléatoire de millisecondes inférieur ou égal à 1 000. Cela permet d'éviter les cas où de nombreux clients sont synchronisés par une situation et effectuent tous une nouvelle tentative au même moment, envoyant des requêtes par vagues synchronisées. La valeur derandom_number_millisecondsest recalculée après chaque nouvelle tentative de la requête.- La valeur
maximum_backoffest généralement définie sur 32 ou 64 secondes. La valeur appropriée dépend du cas d'utilisation.
Le client peut continuer à effectuer des nouvelles tentatives après avoir atteint le délai maximum_backoff.
Au-delà de ce point, il n'est pas nécessaire de continuer à augmenter la durée de l'intervalle exponentiel entre les tentatives. Par exemple, si un client utilise un délai maximum_backoff de 64 secondes, une fois celui-ci atteint, il peut effectuer une nouvelle tentative toutes les 64 secondes. À un certain moment, vous devez empêcher les clients d'effectuer des tentatives à l'infini.
Le temps d'attente entre les nouvelles tentatives et le nombre de tentatives dépendent de votre cas d'utilisation et des conditions du réseau.
Tarifs
L'utilisation standard de l'API Gmail est disponible sans frais supplémentaires. Le dépassement des limites de demandes de quota entraînera des frais sur votre compte de facturation Google Cloud plus tard en 2026. Pour en savoir plus, consultez Modèle standardisé Google Workspace pour les outils et les API d'agent.
Demander une augmentation du quota
Selon l'utilisation des ressources de votre projet, vous pouvez demander un ajustement de quota. Les appels d'API effectués par un compte de service sont considérés comme utilisant un seul compte. La demande d'ajustement de quota ne garantit pas l'approbation. Les demandes d'ajustement de quota qui augmenteraient considérablement la valeur du quota peuvent prendre plus de temps à être approuvées.
Tous les projets ne sont pas soumis aux mêmes quotas. À mesure que votre utilisation de Google Cloud s'accroît, vos quotas peuvent augmenter en conséquence. Si vous prévoyez une augmentation notable de l'utilisation, vous pouvez anticiper cette évolution en demandant des ajustements de quota sur la page Quotas et limites du système de la console Google Cloud.
Pour en savoir plus, consultez les ressources suivantes :
- À propos des ajustements de quotas
- Afficher l'utilisation et les limites de quotas
- Demander une augmentation de limite de quota
Quotas du serveur MCP Gmail
Le serveur MCP Gmail utilise une métrique d'attribution des coûts des requêtes. Les tableaux suivants détaillent le coût des requêtes pour chaque méthode de serveur MCP Gmail par section :
Quotas MCP pour Gmail
Le serveur applique deux types de quotas :
Par minute et par projet : coût des requêtes pour votre projet Cloud pendant une minute.
Par minute, par utilisateur et par projet : il s'agit du coût des requêtes pour votre projet Cloud pendant une minute, qu'un utilisateur particulier peut utiliser.
Le tableau suivant détaille ces quotas :
| Type de limite d'utilisation | Coût des requêtes |
|---|---|
| Par minute et par projet | 1 200 000 |
| Par minute, par utilisateur et par projet | 6 000 |
Quotas de l'ensemble d'outils MCP Gmail
Le tableau suivant détaille le coût des requêtes pour chaque ensemble d'outils gmailmcp.googleapis.com :
| Point de terminaison | Outil | Coût des requêtes |
|---|---|---|
/mcp/v1 |
|
10 |
|
40 |
|
|
10 |
|
|
10 |
|
|
5 |
|
|
1 |
|
|
10 |
|
|
10 |
|
|
10 |
Pour en savoir plus, consultez la documentation de référence de l'API Gmail MCP.