Tecnología

Convertir Rate Limit API: RPM, RPS y RPD

Convertí RPM, RPS y RPD al instante. Calculá rate limits de APIs como MercadoPago, OpenAI o Google Maps y evitá errores 429.

🗓️ Actualizado junio de 2026 Revisado por
Calculadora Gratis · Privada
Datos actualizados: · Fuente: NGINX Documentation – limit_req_zone (nginx.org)
Revisado por: (política editorial ) · Última revisión:
¿Tenés una web? Incrustá esta calculadora gratis Gratis — copiá el código y pegalo en tu web Embeber en tu sitio
<iframe src="https://hacecuentas.com/embed/calculadora-rate-limit-api-rpm-rps" width="100%" height="560" style="border:1px solid #e2e8f0;border-radius:12px;max-width:720px" loading="lazy" title="Convertir Rate Limit API: RPM, RPS y RPD"></iframe>
<p style="font-size:13px;text-align:center;margin:8px 0">Powered by <a href="https://hacecuentas.com" target="_blank" rel="noopener">Hacé Cuentas</a> — <a href="https://hacecuentas.com/calculadora-rate-limit-api-rpm-rps" target="_blank" rel="noopener">Convertir Rate Limit API: RPM, RPS y RPD</a></p>
Ver preview →

Pegalo en tu sitio. Dejá el link de crédito — gracias por compartir. Más widgets →

Calculadora específica para Argentina. Las leyes, escalas y valores son los vigentes en Argentina (ARCA, BCRA, ANSES).

Cada vez que integrás una API —MercadoPago, OpenAI, Google Maps, Stripe, Twitter/X— te encontrás con un número y una unidad: 60 RPM, 10 RPS, 100 000 RPD. El problema es que los providers usan unidades distintas, tu backend habla en otra, y NGINX o AWS API Gateway piden configuración en una tercera. Convertir mentalmente 1 200 RPM a RPS mientras estás debugueando un 429 a las 2 de la mañana es exactamente el tipo de fricción que esta calculadora elimina.

La herramienta convierte entre las tres unidades estándar de rate limiting: RPS (Requests Per Second), RPM (Requests Per Minute) y RPD (Requests Per Day). La fórmula base es simple: RPS = RPM ÷ 60 = RPD ÷ 86 400. Pero tener el número exacto importa: si configurás NGINX con 8 r/s cuando tu plan permite 8,33 r/s, estás dejando el 4% de tu cuota sin usar y posiblemente generando rechazos innecesarios en picos de tráfico.

En Argentina, esto tiene relevancia práctica concreta: la API de MercadoPago tiene límites diferenciados entre ambiente productivo y sandbox, y superarlos genera bloqueos temporales que pueden afectar transacciones reales. Las APIs del BCRA (tipos de cambio) y de AFIP/ARCA (validación de CUIT, facturación electrónica) también tienen restricciones de tasa que muchos desarrolladores descubren recién cuando la app explota en producción.

Esta calculadora te da los tres valores simultáneamente: ingresás cualquier unidad y obtenés las otras dos al instante, sin registro, sin conversiones manuales. Útil para diseñar sistemas de retry, dimensionar workers paralelos, comparar planes antes de contratar, y documentar límites en tu README o runbook de incidentes.

Cuándo usar esta calculadora

  • Integrás la API de facturación electrónica de ARCA (ex-AFIP) que permite 60 RPM en el servicio wsfe: convertís a 1 RPS y sabés que con un solo worker sincrónico en producción no vas a tener problemas, pero dos workers concurrentes ya rozan el límite.
  • MercadoPago en producción permite 600 RPM para el endpoint de pagos; en sandbox son 60 RPM. Antes del go-live de tu e-commerce convertís ambos a RPS (10 RPS vs 1 RPS) para ajustar los tests de carga sin que te bloqueen la cuenta.
  • Configurás NGINX para un backend propio que debe aceptar exactamente 1 200 RPM: la calculadora te da 20 RPS, y usás rate=20r/s con burst=40 para absorber picos de 2 segundos sin devolver 503.
  • El tier gratuito de OpenAI GPT-4o tiene 3 RPM y 200 RPD. Convertís el RPD a RPS (200 ÷ 86 400 = 0,0023 RPS) y entendés que la restricción real no es por velocidad sino por volumen diario: 200 requests en 24 horas, sin importar cuán lento los mandes.
  • La API autenticada de GitHub devuelve 5 000 RPH para scraping de repositorios. Dividís por 3 600 y obtenés 1,39 RPS; con eso dimensionás que podés correr 1 worker con un sleep de 720 ms entre requests sin acercarte al límite.
  • Diseñás un sistema de monitoreo que consulta la API pública del BCRA (cotizaciones) cada N segundos desde 50 instancias distribuidas. Con el límite documentado de la API calculás cuántas instancias podés correr en paralelo antes de necesitar un proxy centralizador.
  • Comparás tres planes de un proveedor de SMS en Argentina: Plan A ofrece 100 RPM, Plan B 500 RPM, Plan C 30 RPS. Convertís todo a RPM (Plan C = 1 800 RPM) y elegís Plan C para una campaña de 800 mensajes en el menor tiempo posible.
  • Implementás backoff exponencial en tu cliente de API: sabés que el límite es 10 RPS (600 RPM), el burst tolerado es 30 requests, y calculás que con 3 reintentos (esperas de 1 s, 2 s y 4 s) el tiempo máximo de recuperación es 7 segundos, mucho menos que el minuto que tarda en resetearse la ventana fija.

Conversión exacta entre RPS, RPM, RPH y RPD

Equivalencias para los valores de rate limit más frecuentes.

RPMRPSRPHRPD
10,02601.440
100,1760014.400
6013.60086.400
1001,676.000144.000
5008,3330.000720.000
1.00016,6760.0001.440.000
3.00050180.0004.320.000

RPS = RPM ÷ 60. RPH = RPM × 60. RPD = RPM × 1.440. Cuidado: GitHub publica el límite en RPH (por hora), no RPM — dividir por 3.600 para pasar a RPS.

Cómo funciona

Cómo se calcula

Las conversiones entre unidades de rate limit son divisiones y multiplicaciones exactas basadas en los segundos de cada período:

# Conversiones exactas
RPS  = valor_RPM  / 60
RPS  = valor_RPD  / 86400

RPM  = valor_RPS  * 60
RPM  = valor_RPD  / 1440

RPD  = valor_RPS  * 86400
RPD  = valor_RPM  * 1440

# Ejemplo: 60 RPM
RPS = 60 / 60        = 1.0000 RPS
RPD = 60 * 1440      = 86 400 RPD

# Ejemplo: 500 RPS
RPM = 500 * 60       = 30 000 RPM
RPD = 500 * 86400    = 43 200 000 RPD

> Nota de precisión: RPD = RPM × 1 440 (minutos/día = 24 × 60). RPD = RPS × 86 400 (segundos/día = 24 × 3 600).

---

Tabla de referencia

Valores típicos de rate limits de APIs populares en 2025:

API / ServicioPlanLímite publicadoEn RPSEn RPD
OpenAI GPT-4o (free)Free tier3 RPM0.05 RPS4 320 RPD
OpenAI GPT-4o (Tier 1)Pago básico500 RPM8.33 RPS720 000 RPD
OpenAI GPT-3.5 (Tier 1)Pago básico3 500 RPM58.33 RPS5 040 000 RPD
Google Maps PlatformPay-as-you-go3 000 RPM50 RPS4 320 000 RPD
MercadoPago API (sandbox)Sandbox60 RPM1 RPS86 400 RPD
MercadoPago API (prod.)Producción600 RPM10 RPS864 000 RPD
Twitter/X API v2 (free)Free1 500 RPM (app)25 RPS2 160 000 RPD
Stripe APILive mode100 RPS100 RPS8 640 000 RPD
GitHub REST APIAuthenticated5 000 RPH1.39 RPS120 000 RPD
NGINX limit_req típicoConfig propia10 RPS (r/s)10 RPS864 000 RPD

> RPH = Requests Per Hour (÷ 3 600 para convertir a RPS).

---

Casos típicos

Caso 1 — Chatbot con GPT-4o en plan gratuito


Un estudiante quiere un bot de Telegram usando GPT-4o free tier (3 RPM).

RPS = 3 / 60 = 0.05 RPS

Esto significa que solo puede hacer 1 consulta cada 20 segundos. Si el bot recibe 5 mensajes simultáneos, 4 quedarán en cola o recibirán error 429. La solución es implementar un queue con delay mínimo de 20 s entre llamadas, o upgradearse al Tier 1 (500 RPM = 8,33 RPS).

Caso 2 — E-commerce con MercadoPago


Un e-commerce recibe 800 órdenes/hora en Black Friday. El endpoint de payments tiene límite de 600 RPM en producción.

RPS_disponible = 600 / 60 = 10 RPS
Demanda_pico   = 800 / 3600 = 0.22 RPS
Margen          = 10 / 0.22 = 45x  ✓ sobra margen

Incluso en el pico más exigente, el límite no se alcanza. Sin embargo, si un worker mal configurado hace polling cada 100 ms (10 RPS solo), consume toda la cuota.

Caso 3 — Configurar NGINX como API Gateway


Necesitás limitar un microservicio interno a 1 200 RPM:

RPS = 1200 / 60 = 20 RPS

# nginx.conf
limit_req_zone $binary_remote_addr zone=api:10m rate=20r/s;
limit_req zone=api burst=40 nodelay;

El parámetro burst=40 permite absorber picos de hasta el doble del rate durante 2 segundos sin devolver 503.

---

Errores comunes

1. Confundir RPM de API con RPM de motor: El contexto importa. En tecnología, RPM siempre es Requests Per Minute, no revoluciones. Si copiás un valor de documentación de hardware, verificá las unidades.

2. Ignorar el límite por token/usuario vs. límite global: Muchas APIs (OpenAI, GitHub) tienen rate limits por API key Y por IP. Escalar horizontalmente con múltiples workers bajo la misma key NO multiplica el límite.

3. No contemplar retries en el cálculo: Si tu sistema hace retry automático ante error 429 con 3 intentos, el consumo real de RPS puede triplicarse en escenarios de saturación, generando un loop de saturación.

4. Asumir que el límite es parejo en el tiempo: Algunos proveedores usan ventanas deslizantes (sliding window) y otros usan ventanas fijas (fixed window). En ventana fija, podés gastar 60 RPM en los primeros 5 segundos y quedar bloqueado los 55 restantes.

5. Olvidar convertir RPH a RPS/RPM: La API de GitHub usa Requests Per Hour (5 000 RPH). Dividir por 60 da RPM (83,3), no RPS. El error de conversión puede hacer que configures un cliente 60 veces más restrictivo de lo necesario.

6. No sumar los endpoints: Si tu app llama a /users y a /orders de la misma API, ambos endpoints comparten la cuota global. No importa que cada endpoint parezca "lento"; la suma de todos los calls cuenta contra el mismo límite.

---

Ejemplo de cálculo

60 RPM
1 RPS
1 RPS

Preguntas frecuentes

¿Qué es exactamente un rate limit en una API y por qué existe?
Un rate limit es el techo máximo de requests que un cliente puede hacer a una API en un período determinado. Existe por tres razones principales: proteger la infraestructura del proveedor contra sobrecarga, garantizar disponibilidad equitativa entre todos los clientes, y monetizar el servicio ofreciendo más capacidad en planes pagos. Técnicamente se implementa con contadores en memoria (Redis es el estándar) que se decrementan con cada request y se resetean al vencer el período. Cuando el contador llega a cero, el servidor responde con HTTP 429 Too Many Requests hasta que el contador se resetea. En Argentina, APIs como las de ARCA para facturación electrónica o la del BCRA para tipos de cambio tienen límites documentados que los desarrolladores deben respetar para mantener acceso continuo al servicio.
¿Cómo se calcula la conversión entre RPS, RPM y RPD?
La fórmula base es: RPS = RPM ÷ 60 = RPD ÷ 86 400. Los 86 400 son los segundos en un día (60 × 60 × 24). Para ir en sentido inverso: RPM = RPS × 60 y RPD = RPS × 86 400. Ejemplos concretos: 300 RPM = 5 RPS = 432 000 RPD. 1 000 RPD = 0,01157 RPS = 0,694 RPM (menos de 1 request por minuto). 100 RPS = 6 000 RPM = 8 640 000 RPD. La conversión parece trivial, pero el error típico es confundir la unidad base del proveedor: GitHub usa RPH (por hora), entonces hay que dividir por 3 600 para obtener RPS, no por 60.
¿Qué significa el error HTTP 429 y cuál es la forma correcta de manejarlo en código?
El código 429 Too Many Requests indica que superaste el rate limit del endpoint. La respuesta usualmente incluye headers informativos: Retry-After (segundos hasta que podés reintentar), X-RateLimit-Limit (el techo total), X-RateLimit-Remaining (requests restantes en la ventana actual) y X-RateLimit-Reset (timestamp Unix del próximo reset). La práctica recomendada es backoff exponencial con jitter: primer reintento a los 1 s, segundo a los 2 s, tercero a los 4 s, agregando un valor aleatorio pequeño (jitter) para evitar que múltiples workers hagan retry exactamente al mismo tiempo. Se recomienda un máximo de 3 a 5 reintentos antes de loguear el error como fallo definitivo y alertar al equipo de operaciones.
¿Qué diferencia hay entre ventana fija y ventana deslizante en rate limiting?
En ventana fija (fixed window), el contador se resetea cada X segundos exactos: a las 14:00:00, a las 14:01:00, etc. Esto crea una vulnerabilidad: podés gastar 60 requests entre los segundos :59 y :01 del minuto siguiente, generando una ráfaga de 120 requests en 2 segundos que técnicamente no viola la regla pero satura el servidor. En ventana deslizante (sliding window), el sistema mide siempre los últimos X segundos desde el momento actual, distribuyendo el tráfico de forma más uniforme. Hay una variante híbrida llamada sliding window log que registra el timestamp de cada request y es más precisa pero más costosa en memoria. La mayoría de los proveedores grandes (OpenAI, Stripe) usan sliding window. NGINX por defecto usa ventana deslizante con el módulo limit_req.
¿Cómo configuro rate limiting en NGINX sabiendo el RPM que me permite la API externa?
Primero convertís RPM a RPS dividiendo por 60. Para 500 RPM: 500 ÷ 60 = 8,33 RPS. En NGINX usás: limit_req_zone $binary_remote_addr zone=miapi:10m rate=8r/s;. Desde NGINX 1.17+ podés usar directamente rate=500r/m para mayor precisión. En el location block agregás limit_req zone=miapi burst=20 nodelay;. El parámetro burst define cuántos requests adicionales se encolan sin error: con burst=20 y 8 r/s, podés recibir hasta 28 requests en el primer segundo sin devolver 503. Sin nodelay, los requests del burst se espacian al ritmo del rate; con nodelay se procesan inmediatamente pero se consumen del bucket. Para un backend propio que consume una API externa, es mejor configurar el rate un 10% por debajo del límite real para absorber latencias de red.
¿Cuáles son los rate limits reales de las principales APIs usadas en Argentina?
Los valores documentados públicamente al momento de redacción son: MercadoPago: 600 RPM en producción, 60 RPM en sandbox para la mayoría de endpoints de pagos. OpenAI GPT-4o tier gratuito: 3 RPM y 200 RPD; Tier 1 pago: 500 RPM. Google Maps Platform: 3 000 RPM por defecto para la mayoría de APIs, ajustable por cuota. GitHub API autenticada: 5 000 RPH (≈ 83 RPM). Stripe: 100 RPS en live mode, 25 RPS en test mode. Twitter/X API v2 gratuita: 500 000 tweets/mes de lectura, con restricciones por endpoint. BCRA API pública: no documenta límite oficial pero en la práctica implementa throttling. Los límites cambian frecuentemente; siempre verificá la documentación oficial del proveedor antes de dimensionar tu arquitectura.
¿Qué es el concepto de 'burst' en rate limiting y cómo lo calculo para mi caso?
El burst es la cantidad de requests adicionales que podés hacer momentáneamente por encima del rate sostenido sin recibir error. Se modela con el algoritmo token bucket: el bucket se llena a la tasa permitida (ej.: 10 tokens por segundo) y tiene capacidad máxima igual al burst (ej.: 50 tokens). Podés gastar hasta 50 tokens instantáneamente si el bucket está lleno, pero después debés esperar a que se recargue a 10 por segundo. Para calcular el burst necesario: burst = RPS × segundos_de_pico_esperado. Si tu tráfico pico dura 3 segundos y el rate es 10 RPS, necesitás burst = 30. En AWS API Gateway esto se configura en el parámetro Burst Limit (distinto del Rate Limit). En NGINX es el parámetro burst de la directiva limit_req.
¿Cómo manejar rate limits cuando varios microservicios comparten la misma API key?
Cuando múltiples servicios comparten una API key, el rate limit se consume en conjunto: si tenés 3 microservicios y cada uno intenta usar 400 RPM sobre un plan de 600 RPM, siempre vas a tener colisiones. La solución estándar es un API Gateway centralizado (Kong, AWS API Gateway, NGINX con upstream, o un sidecar custom) que actúe como único cliente externo. Internamente distribuye la cuota usando algoritmos de fair queuing o prioridad por servicio. Una alternativa más simple es un rate limiter compartido en Redis: todos los servicios decrementan el mismo contador antes de hacer el request. Para APIs críticas como MercadoPago en un e-commerce argentino, se recomienda además tener una cola de mensajes (RabbitMQ, SQS) que acepte todos los eventos de pago y los procese respetando el rate, en vez de hacer requests síncronos directos.
¿Cómo convierto RPH (Requests Per Hour) que usan algunas APIs como GitHub?
Dividís por 3 600 (segundos en una hora): RPS = RPH ÷ 3 600. Ejemplos concretos: GitHub API autenticada con 5 000 RPH → 5 000 ÷ 3 600 = 1,39 RPS ó 83,3 RPM. Sin autenticación el límite es 60 RPH = 0,017 RPS = 1 RPM, prácticamente 1 request por minuto. Para convertir RPH a RPD multiplicás por 24: 5 000 RPH × 24 = 120 000 RPD. Esta herramienta trabaja con RPM, RPS y RPD; para RPH simplemente hacés la conversión previa (RPH ÷ 60 = RPM) y después usás la calculadora normalmente. El error más común es dividir por 60 pensando que RPH son RPM, lo que da un resultado 60 veces más alto que el real.
¿Qué diferencia hay entre rate limit y throttling, y por qué importa en la práctica?
El rate limit es el techo absoluto: X requests en Y tiempo, pasado ese número el servidor rechaza con 429. El throttling es el mecanismo que actúa antes de llegar al corte: en vez de rechazar, agrega latencia artificial para desacelerar al cliente. En la práctica: si tu API tiene throttling, empezás a ver respuestas lentas (200 ms → 500 ms → 2 000 ms) antes de recibir el 429. Esto es una señal temprana de que te estás acercando al límite. Algunos proveedores como AWS API Gateway implementan ambos: throttling suave hasta cierto punto y rate limit duro después. Para sistemas de monitoreo, es útil medir el percentil 95 de latencia de la API: si empieza a subir sin causa aparente, probablemente estés siendo throttleado. La diferencia impacta también en el diseño del cliente: con throttling conviene reducir la tasa proactivamente al detectar latencia alta, antes de llegar al 429.
¿Cómo diseño un sistema de retry robusto usando la información del rate limit?
Un sistema de retry robusto para APIs con rate limits necesita cuatro componentes: 1) Detección: escuchá el código 429 y los headers X-RateLimit-Remaining y X-RateLimit-Reset. Si Remaining llega a 0, esperá hasta Reset antes del próximo request. 2) Backoff exponencial con jitter: esperas de 1 s, 2 s, 4 s, 8 s con ±30% de variación aleatoria. 3) Circuit breaker: si recibís más de 5 errores 429 en 60 segundos, abrís el circuito y rechazás requests localmente por 2 minutos, sin ni siquiera intentar la API externa. 4) Monitoreo: métricas de tasa de éxito, requests por período y cantidad de reintentos. Para una app en producción argentina que integra MercadoPago o ARCA, agregá alertas cuando el porcentaje de 429 supere el 1% del tráfico: es señal de que necesitás revisar el dimensionamiento del plan o la concurrencia de workers.
¿Los rate limits aplican por IP, por API key o por cuenta? ¿Cómo saber cuál es tu caso?
Depende del proveedor y el endpoint. Lo más común: por API key (Stripe, OpenAI, MercadoPago): el límite es global para esa key, sin importar desde cuántas IPs hagas requests. Por IP (APIs públicas sin autenticación, BCRA, GitHub sin token): el límite se aplica a tu dirección IP de origen. Por cuenta/organización (OpenAI en algunos tiers, Google Cloud): el límite es compartido entre todas las keys de una misma organización. Por usuario final (en APIs que reciben el ID del usuario en el payload): el límite se aplica por usuario, no por cliente. Para saber cuál aplica en tu caso, revisá los headers de la respuesta: si incluyen X-RateLimit-Scope: user o similar, el scope está documentado. Si no, probás desde dos IPs distintas con la misma key: si ambas tienen el mismo contador, es por key; si tienen contadores independientes, es por IP. Esta distinción es crítica para decidir si necesitás rotar keys o usar múltiples cuentas para escalar.

Metodología y confianza

Editorial

Calculadora de tecnología revisada por el equipo editorial de Hacé Cuentas, contrastada con NGINX Documentation – limit_req_zone (nginx.org), según nuestra política editorial y metodología.

Actualización

Última revisión: 22 de junio de 2026. Los parámetros se verifican periódicamente con las fuentes citadas.

Privacidad

Los cálculos corren 100% en tu navegador. No guardamos ni transmitimos tus datos.

Limitaciones

Resultados orientativos. Para decisiones críticas, consultá con un profesional.

📌 Cómo citar esta calculadora

Rodríguez, M. (2026). Convertir Rate Limit API: RPM, RPS y RPD. Hacé Cuentas. https://hacecuentas.com/calculadora-rate-limit-api-rpm-rps

Contenido bajo licencia CC-BY 4.0 — reutilizable citando la fuente con enlace a Hacé Cuentas.

✉️ Reportar un error en esta calculadora