API Utilisation et quota
Ces endpoints renvoient les mêmes chiffres de bande passante que ceux affichés par le panel sur votre tableau de bord : la part de votre plan déjà utilisée sur le cycle de facturation en cours, et ce qu’il en reste. Pour les Residential Proxies, ils indiquent aussi ce qui se passe une fois le quota épuisé.
Il existe également un endpoint d’historique d’utilisation pour la consommation sur une fenêtre arbitraire, plutôt que sur le cycle en cours.
Authentification
Section intitulée « Authentification »Les trois endpoints s’authentifient avec un paramètre de requête api_token. Générez un jeton dans le panel sous Account → API Tokens.
?api_token=YOUR_API_TOKENLes endpoints de compte et de plan sont limités à 60 requêtes par minute, l’endpoint d’historique à 30.
Utilisation du compte
Section intitulée « Utilisation du compte »Renvoie une entrée par plan actif, ainsi que les totaux sur l’ensemble des plans mesurés.
Le jeton vous appartient à vous, et non à un espace de travail en particulier : la réponse couvre donc vos propres plans et ceux de tout espace de travail auquel vous avez été invité. Elle liste ces espaces de travail en tête et associe à chaque plan celui auquel il appartient ; transmettez workspace pour la restreindre à un seul espace de travail.
| Paramètre | Emplacement | Requis | Description |
|---|---|---|---|
api_token | query | oui | Le jeton API de votre compte |
workspace | query | non | ID de l’espace de travail, pour ne renvoyer que les plans de cet espace |
Exemple :
curl "https://shifter.io/api/v1/user/usage?api_token=YOUR_API_TOKEN"Réponse :
{ "error": null, "code": 200, "data": { "totals": { "quota_bytes": 25000000000, "used_bytes": 12300000000, "remaining_bytes": 12700000000, "overage_bytes": 0, "quota_gb": 25, "used_gb": 12.3, "remaining_gb": 12.7, "overage_gb": 0, "used_percent": 49.2 }, "workspaces": [ { "id": "qbz6", "name": "Personal", "role": "owner", "personal": true, "wallet_balance": 25.00 }, { "id": "7dLm", "name": "Acme Inc", "role": "viewer", "personal": false, "wallet_balance": 0 } ], "memberships": [ { "id": "aB3xY9", "plan": "Residential Proxies 25 GB", "service": "backconnect", "status": "Active", "metered": true, "quota_bytes": 25000000000, "used_bytes": 12300000000, "remaining_bytes": 12700000000, "overage_bytes": 0, "quota_gb": 25, "used_gb": 12.3, "remaining_gb": 12.7, "overage_gb": 0, "used_percent": 49.2, "resets_at": "2026-08-14T09:31:00+00:00", "overage_billed": true, "overage_rate_per_gb": 0.4, "wallet_balance": 25.00, "wallet_covers_gb": 62.5, "workspace": { "id": "qbz6", "name": "Personal", "role": "owner", "personal": true } }, { "id": "kM7pQ2", "plan": "ISP Proxies 10 IPs", "service": "static-residential-proxies", "status": "Active", "metered": false, "quota_bytes": null, "used_bytes": null, "remaining_bytes": null, "overage_bytes": null, "quota_gb": null, "used_gb": null, "remaining_gb": null, "overage_gb": null, "used_percent": null, "resets_at": null, "overage_billed": false, "overage_rate_per_gb": null, "wallet_balance": 0, "wallet_covers_gb": null, "workspace": { "id": "7dLm", "name": "Acme Inc", "role": "viewer", "personal": false } } ] }}Espaces de travail
Section intitulée « Espaces de travail »Si vous avez été invité dans l’espace de travail de quelqu’un d’autre, ses plans apparaissent ici aux côtés des vôtres. Le tableau workspaces liste votre espace de travail personnel ainsi que tous ceux dont vous êtes membre, et chaque plan porte le même objet sous workspace :
| Champ | Description |
|---|---|
id | ID de l’espace de travail, la valeur attendue par le paramètre de requête workspace |
name | Nom de l’espace de travail, Personal pour le vôtre |
role | Votre rôle dans cet espace : owner, admin, billing ou viewer |
personal | true pour votre propre espace de travail |
wallet_balance | Fonds disponibles dans le portefeuille de cet espace de travail, en USD |
Tous les rôles peuvent consulter l’utilisation, de la même façon que tous les rôles peuvent voir les plans dans le panel.
workspaces contient toujours la liste complète, même lorsque vous filtrez : un seul appel suffit donc pour découvrir les ID.
curl "https://shifter.io/api/v1/user/usage?workspace=7dLm&api_token=YOUR_API_TOKEN"Utilisation d’un plan
Section intitulée « Utilisation d’un plan »Renvoie l’utilisation d’un seul plan, le même objet que celui qui figure dans le tableau memberships ci-dessus, sans le bloc workspace.
Le paramètre de chemin {membership} accepte les deux formes de l’identifiant du plan : le Membership ID affiché sur la page du plan dans le panel (par exemple 68057), ou le code court issu de l’URL du plan et du champ id de ces réponses (par exemple Rxqk). Les deux désignent le même plan.
Cela fonctionne pour tout plan auquel vous avez accès : les vôtres, et ceux de tout espace de travail dont vous faites partie.
| Paramètre | Emplacement | Requis | Description |
|---|---|---|---|
membership | path | oui | Membership ID ou code court |
api_token | query | oui | Le jeton API de votre compte |
Exemple :
curl "https://shifter.io/api/v1/memberships/68057/usage?api_token=YOUR_API_TOKEN"Réponse :
{ "error": null, "code": 200, "data": { "id": "aB3xY9", "plan": "Residential Proxies 25 GB", "service": "backconnect", "status": "Active", "metered": true, "quota_bytes": 25000000000, "used_bytes": 12300000000, "remaining_bytes": 12700000000, "overage_bytes": 0, "quota_gb": 25, "used_gb": 12.3, "remaining_gb": 12.7, "overage_gb": 0, "used_percent": 49.2, "resets_at": "2026-08-14T09:31:00+00:00", "overage_billed": true, "overage_rate_per_gb": 0.4, "wallet_balance": 25.00, "wallet_covers_gb": 62.5 }}Utilisation sur un intervalle de temps
Section intitulée « Utilisation sur un intervalle de temps »Les deux endpoints ci-dessus répondent à la question « comment se déroule ce cycle de facturation ». Celui-ci répond à « combien ai-je consommé entre ces deux instants », ce qui est une question différente : les chiffres du cycle sont remis à zéro au renouvellement, ils ne peuvent donc rien vous dire sur mardi dernier ou sur le mois dernier.
| Paramètre | Emplacement | Requis | Description |
|---|---|---|---|
membership | path | oui | Membership ID ou code court |
api_token | query | oui | Le jeton API de votre compte |
start | query | oui | Début de la fenêtre, inclus |
end | query | oui | Fin de la fenêtre, exclue |
start et end acceptent soit une date (2026-08-16), soit un horodatage complet (2026-08-16T09:00:00). Une date seule correspond à minuit, une journée unique s’écrit donc start=2026-08-16&end=2026-08-17. La fenêtre peut être aussi courte qu’une heure et ne peut pas dépasser 366 jours.
Exemple :
curl "https://shifter.io/api/v1/memberships/68057/usage/history?start=2026-08-16&end=2026-08-17&api_token=YOUR_API_TOKEN"Réponse :
{ "error": null, "code": 200, "data": { "id": "aB3xY9", "start": "2026-08-16T00:00:00", "end": "2026-08-17T00:00:00", "bytes": 184699800000, "gb": 184.7, "upload_bytes": 8146690000, "download_bytes": 176553110000, "requests": 3775940 }}Pour tracer l’utilisation jour par jour, appelez l’endpoint une fois par jour en utilisant chaque journée comme fenêtre. Les totaux s’additionnent exactement : une semaine d’appels quotidiens donne le même chiffre qu’un seul appel couvrant la semaine.
Cet endpoint est limité à 30 requêtes par minute, au lieu des 60 des deux autres.
| Statut | Signification |
|---|---|
400 | start ou end manquant, impossible à analyser, dans le mauvais ordre, ou séparés de plus de 366 jours |
503 | L’historique d’utilisation est temporairement indisponible, réessayez avec un backoff |
| Champ | Description |
|---|---|
id | Le code court du plan, accepté dans le chemin au même titre que le Membership ID numérique |
plan | Nom du produit tel qu’il apparaît dans le panel |
service | Famille de produits, par exemple backconnect, static-residential-proxies, scraping |
status | Statut du plan, par exemple Active, Active Trial, Overdue |
metered | Indique si le plan dispose ou non d’un quota de bande passante |
quota_bytes / quota_gb | Bande passante disponible pour le cycle de facturation en cours : le volume inclus dans le plan, plus toute recharge de trafic achetée pour ce plan |
used_bytes / used_gb | Bande passante consommée jusqu’ici sur le cycle de facturation en cours |
remaining_bytes / remaining_gb | Quota moins utilisation, avec un plancher à zéro |
overage_bytes / overage_gb | Utilisation au-delà du quota inclus, zéro tant que vous restez dans le quota |
used_percent | Utilisation en pourcentage du quota. Dépasse 100 lorsque vous êtes en dépassement |
resets_at | Horodatage ISO 8601 du moment où le cycle bascule et où l’utilisation revient à zéro |
overage_billed | Indique si le dépassement du quota est facturé sur le portefeuille pour ce plan |
overage_rate_per_gb | Coût de chaque GB au-delà du quota, en USD. null pour les plans qui ne facturent pas le dépassement |
wallet_balance | Fonds disponibles dans le portefeuille de l’espace de travail, en USD |
wallet_covers_gb | Nombre approximatif de GB au-delà du quota que le solde permet de payer, à ce tarif |
Plans non mesurés
Section intitulée « Plans non mesurés »Les ISP Proxies et les Sneaker Proxies sont illimités, et les plans Web Scraping API et SERP API sont tarifés à la requête plutôt qu’à la bande passante. Ces plans renvoient "metered": false avec des valeurs null, plutôt qu’un zéro qui se lirait comme « plus rien de disponible ». Ils restent listés, de sorte que la réponse du compte donne une vue complète de ce que vous possédez.
Dépassement du quota
Section intitulée « Dépassement du quota »Les Residential Proxies ne s’arrêtent pas au plafond : l’utilisation au-delà est facturée sur le portefeuille de votre espace de travail à un tarif par GB, le plan continue donc de fonctionner tant qu’il y a des fonds. overage_rate_per_gb correspond à ce tarif, et wallet_covers_gb indique approximativement jusqu’où le solde actuel permet d’aller à ce tarif : une estimation indicative de la marge restante, en plus de remaining_gb.
Ce tarif est votre tarif effectif : le prix du plan divisé par le quota du plan, après application de tout coupon ou de toute remise dont vous bénéficiez. C’est le même chiffre que celui affiché par le panel sous Overage rate sur la page du plan, et le même que celui appliqué par la tâche de facturation.
Quelques points à connaître :
- Le portefeuille est défini par espace de travail, et non par plan. Si vous utilisez plusieurs plans Residential,
wallet_covers_gbsuppose pour chacun d’eux que la totalité du solde va à ce plan : tous s’appuient sur la même réserve. - Pendant un essai,
overage_billedvautfalse. Les essais se mettent en pause une fois leur volume atteint au lieu de facturer, il n’y a donc pas de chiffre de couverture. Le tarif reste indiqué, puisqu’il correspond à ce que coûte le plan une fois l’essai converti. - Pour tous les autres produits,
overage_rate_per_gbvautnull: ces plans s’arrêtent à leur plafond au lieu de facturer davantage. - Lorsque le solde atteint zéro et que le quota est épuisé, le service se met en pause jusqu’à ce que vous ajoutiez des fonds ou que le cycle se renouvelle.
Remise à zéro de l’utilisation
Section intitulée « Remise à zéro de l’utilisation »L’utilisation est cumulée au sein du cycle de facturation en cours, et non sur une fenêtre glissante de 30 jours. Elle revient à zéro à resets_at, au renouvellement du plan.
| Statut | Signification |
|---|---|
401 | api_token manquant ou invalide |
403 | Le plan se trouve dans un espace de travail dont vous ne faites pas partie |
404 | Plan introuvable |
429 | Plus de 60 requêtes en une minute, réessayez avec un backoff |