Aller au contenu
Se connecter S'inscrire

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.

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_TOKEN

Les endpoints de compte et de plan sont limités à 60 requêtes par minute, l’endpoint d’historique à 30.

GET https://shifter.io/api/v1/user/usage

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ètreEmplacementRequisDescription
api_tokenqueryouiLe jeton API de votre compte
workspacequerynonID de l’espace de travail, pour ne renvoyer que les plans de cet espace

Exemple :

Fenêtre de terminal
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
}
}
]
}
}

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 :

ChampDescription
idID de l’espace de travail, la valeur attendue par le paramètre de requête workspace
nameNom de l’espace de travail, Personal pour le vôtre
roleVotre rôle dans cet espace : owner, admin, billing ou viewer
personaltrue pour votre propre espace de travail
wallet_balanceFonds 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.

Fenêtre de terminal
curl "https://shifter.io/api/v1/user/usage?workspace=7dLm&api_token=YOUR_API_TOKEN"
GET https://shifter.io/api/v1/memberships/{membership}/usage

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ètreEmplacementRequisDescription
membershippathouiMembership ID ou code court
api_tokenqueryouiLe jeton API de votre compte

Exemple :

Fenêtre de terminal
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
}
}
GET https://shifter.io/api/v1/memberships/{membership}/usage/history

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ètreEmplacementRequisDescription
membershippathouiMembership ID ou code court
api_tokenqueryouiLe jeton API de votre compte
startqueryouiDébut de la fenêtre, inclus
endqueryouiFin 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 :

Fenêtre de terminal
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.

StatutSignification
400start ou end manquant, impossible à analyser, dans le mauvais ordre, ou séparés de plus de 366 jours
503L’historique d’utilisation est temporairement indisponible, réessayez avec un backoff
ChampDescription
idLe code court du plan, accepté dans le chemin au même titre que le Membership ID numérique
planNom du produit tel qu’il apparaît dans le panel
serviceFamille de produits, par exemple backconnect, static-residential-proxies, scraping
statusStatut du plan, par exemple Active, Active Trial, Overdue
meteredIndique si le plan dispose ou non d’un quota de bande passante
quota_bytes / quota_gbBande 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_gbBande passante consommée jusqu’ici sur le cycle de facturation en cours
remaining_bytes / remaining_gbQuota moins utilisation, avec un plancher à zéro
overage_bytes / overage_gbUtilisation au-delà du quota inclus, zéro tant que vous restez dans le quota
used_percentUtilisation en pourcentage du quota. Dépasse 100 lorsque vous êtes en dépassement
resets_atHorodatage ISO 8601 du moment où le cycle bascule et où l’utilisation revient à zéro
overage_billedIndique si le dépassement du quota est facturé sur le portefeuille pour ce plan
overage_rate_per_gbCoût de chaque GB au-delà du quota, en USD. null pour les plans qui ne facturent pas le dépassement
wallet_balanceFonds disponibles dans le portefeuille de l’espace de travail, en USD
wallet_covers_gbNombre approximatif de GB au-delà du quota que le solde permet de payer, à ce tarif

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.

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_gb suppose 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_billed vaut false. 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_gb vaut null : 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.

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.

StatutSignification
401api_token manquant ou invalide
403Le plan se trouve dans un espace de travail dont vous ne faites pas partie
404Plan introuvable
429Plus de 60 requêtes en une minute, réessayez avec un backoff