Ir al contenido
Iniciar sesión Registrarse

API de uso y cuota

Estos endpoints devuelven las mismas cifras de ancho de banda que el panel muestra en su dashboard: cuánto de su plan ha usado en este ciclo de facturación y cuánto le queda. En Residential Proxies también indican qué ocurre cuando se agota la cuota.

También hay un endpoint de historial de uso para consultar el consumo en un intervalo arbitrario, en lugar del ciclo actual.

Los tres endpoints se autentican con un parámetro de consulta api_token. Genere un token en el panel en Account → API Tokens.

?api_token=YOUR_API_TOKEN

Los endpoints de cuenta y de plan tienen un límite de 60 solicitudes por minuto, y el endpoint de historial de 30.

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

Devuelve una entrada por cada plan activo, además de los totales de todos los planes medidos.

El token le pertenece a usted y no a un único workspace, por lo que cubre sus propios planes y los planes de cualquier workspace al que haya sido invitado. La respuesta enumera esos workspaces al principio y etiqueta cada plan con el workspace al que pertenece. Pase workspace para limitarla a un solo workspace.

ParámetroEnObligatorioDescripción
api_tokenqueryEl token de API de su cuenta
workspacequerynoID del workspace, para devolver solo los planes de ese workspace

Ejemplo:

Ventana de terminal
curl "https://shifter.io/api/v1/user/usage?api_token=YOUR_API_TOKEN"

Respuesta:

{
"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 ha sido invitado al workspace de otra persona, sus planes aparecen aquí junto a los suyos. El array workspaces enumera su workspace personal y todos aquellos de los que es miembro, y cada plan incluye el mismo objeto en workspace:

CampoDescripción
idID del workspace, el valor que acepta el parámetro de consulta workspace
nameNombre del workspace, Personal para el suyo propio
roleSu rol en él: owner, admin, billing o viewer
personaltrue para su propio workspace
wallet_balanceFondos en la cartera de ese workspace, en USD

Todos los roles pueden consultar el uso, del mismo modo que todos los roles pueden ver los planes en el panel.

workspaces es siempre la lista completa, incluso cuando se filtra, por lo que basta una sola llamada para descubrir los ID:

Ventana 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

Devuelve el uso de un solo plan, el mismo objeto que aparece en el array memberships anterior, sin el bloque workspace.

El parámetro de ruta {membership} acepta ambas formas del identificador del plan: el Membership ID que aparece en la página del plan en el panel (por ejemplo 68057) o el código corto de la URL del plan y del campo id de estas respuestas (por ejemplo Rxqk). Ambos identifican el mismo plan.

Funciona con cualquier plan al que tenga acceso: los suyos y los de cualquier workspace al que pertenezca.

ParámetroEnObligatorioDescripción
membershippathMembership ID o código corto
api_tokenqueryEl token de API de su cuenta

Ejemplo:

Ventana de terminal
curl "https://shifter.io/api/v1/memberships/68057/usage?api_token=YOUR_API_TOKEN"

Respuesta:

{
"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

Los dos endpoints anteriores responden a “cómo va este ciclo de facturación”. Este responde a “cuánto consumí entre estos dos momentos”, que es una pregunta distinta: las cifras del ciclo se reinician en la renovación, por lo que no pueden decirle nada sobre el martes pasado o el mes pasado.

ParámetroEnObligatorioDescripción
membershippathMembership ID o código corto
api_tokenqueryEl token de API de su cuenta
startqueryInicio del intervalo, inclusivo
endqueryFin del intervalo, exclusivo

start y end aceptan una fecha (2026-08-16) o una marca de tiempo completa (2026-08-16T09:00:00). Una fecha sin hora equivale a medianoche, por lo que un solo día es start=2026-08-16&end=2026-08-17. El intervalo puede ser de tan solo una hora y de 366 días como máximo.

Ejemplo:

Ventana 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"

Respuesta:

{
"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
}
}

Para representar el uso día a día, llámelo una vez por día y use cada día como su propio intervalo. Los totales suman con exactitud, por lo que una semana de llamadas diarias da la misma cifra que una sola llamada que abarque toda la semana.

Este endpoint tiene un límite de 30 solicitudes por minuto, en lugar de las 60 de los otros dos.

EstadoSignificado
400Falta start o end, no se pueden interpretar, están en orden incorrecto o hay más de 366 días entre ellos
503El historial de uso no está disponible temporalmente, reintente con backoff
CampoDescripción
idEl código corto del plan, aceptado en la ruta junto con el Membership ID numérico
planNombre del producto tal como aparece en el panel
serviceFamilia de producto, por ejemplo backconnect, static-residential-proxies, scraping
statusEstado del plan, por ejemplo Active, Active Trial, Overdue
meteredIndica si el plan tiene una cuota de ancho de banda
quota_bytes / quota_gbAncho de banda disponible para el ciclo de facturación actual: la asignación incluida en el plan más cualquier recarga de tráfico que haya comprado para él
used_bytes / used_gbAncho de banda consumido hasta ahora en el ciclo de facturación actual
remaining_bytes / remaining_gbCuota menos uso, con un mínimo de cero
overage_bytes / overage_gbUso por encima de la cuota incluida, cero mientras siga dentro de ella
used_percentUso como porcentaje de la cuota. Supera 100 cuando hay exceso
resets_atMarca de tiempo ISO 8601 en la que el ciclo se renueva y el uso vuelve a cero
overage_billedIndica si superar la cuota se factura desde la cartera en este plan
overage_rate_per_gbLo que cuesta cada GB por encima de la cuota, en USD. null en los planes que no facturan el exceso
wallet_balanceFondos en la cartera del workspace, en USD
wallet_covers_gbAproximadamente cuántos GB por encima de la cuota cubre el saldo, a esa tarifa

ISP Proxies y Sneaker Proxies son ilimitados, y los planes de Web Scraping API y SERP API se facturan por solicitud y no por ancho de banda. Esos planes devuelven "metered": false con cifras null en lugar de un cero que se leería como “no queda nada”. Aun así aparecen en la lista, de modo que la respuesta de la cuenta ofrece una imagen completa de lo que usted tiene.

Residential Proxies no se detiene al llegar al límite: el uso que lo supera se factura desde la cartera de su workspace a una tarifa por GB, por lo que el plan sigue funcionando mientras haya fondos. overage_rate_per_gb es esa tarifa, y wallet_covers_gb indica aproximadamente hasta dónde alcanza el saldo actual con ella: una estimación orientativa del margen disponible, que se suma a remaining_gb.

La tarifa es su tarifa efectiva: el precio del plan dividido entre la cuota del plan, después de cualquier cupón o descuento que tenga aplicado. Es la misma cifra que el panel muestra en Overage rate en la página del plan, y la misma con la que cobra el proceso de facturación.

Algunos puntos que conviene conocer:

  • La cartera es por workspace, no por plan. Si tiene varios planes Residential, wallet_covers_gb en cada uno supone que todo el saldo se destina a ese plan: todos calculan sobre el mismo fondo.
  • Durante una prueba, overage_billed es false. Las pruebas se pausan al alcanzar su asignación en lugar de facturar, por lo que no hay cifra de cobertura. La tarifa se indica igualmente, ya que es lo que cuesta el plan cuando la prueba se convierte.
  • En todos los demás productos overage_rate_per_gb es null: esos planes se detienen en su límite en lugar de facturar más.
  • Cuando el saldo llega a cero y la cuota se ha agotado, el servicio se pausa hasta que añada fondos o se renueve el ciclo.

El uso es acumulativo dentro del ciclo de facturación actual, no una ventana móvil de 30 días. Vuelve a cero en resets_at, cuando el plan se renueva.

EstadoSignificado
401api_token inválido o faltante
403El plan está en un workspace al que usted no pertenece
404Plan no encontrado
429Más de 60 solicitudes en un minuto, reintente con backoff