Límites de tasa y facturación
Qué cuesta una llamada, a qué ritmo puedes enviarla y qué pasa al quedarte sin crédito.
Coste por llamada
Pagas por respuestas, no por intentos: solo se cobra un 200. Errores, timeouts y búsquedas
vacías son gratis.
| Endpoint | Por 1000 llamadas |
|---|---|
/movie | $0.80 |
/query | $0.40 |
/idols | $0.50 |
/random | $0.20 |
/discover/* | $0.40 |
/resolve/compare, /resolve/provenance, /resolve/streams | $0.40 |
/resolve (tarjeta) | $1.20 |
/resolve/batch | $0.40 por grupo iniciado de 10 códigos únicos |
/analytics/* | $0.60 |
GET /stats | gratis |
/discover/* es Descubrir, /analytics/* Analítica,
/resolve* Resolución. GET /stats es el contador público del catálogo
(Estadísticas), sin clave ni cargo. /resolve/batch acepta hasta 100 códigos y
factura un grupo por cada 10 códigos únicos iniciados.
Las cuentas nuevas empiezan con $0.02 de crédito, unas 50 búsquedas: suficiente para montar algo pequeño.
Las páginas grandes cuestan más
/query, /idols y /random aceptan un num de 1 a 50. Los precios de arriba son por 10
resultados; si pides más, el precio escala con la página, redondeando hacia arriba:
cost = max(base price, base price × num ÷ 10)Para /query, por 1000 llamadas:
num | Por 1000 llamadas |
|---|---|
| 1–10 | $0.40 |
| 20 | $0.80 |
| 50 | $2.00 |
Cinco llamadas con num=10 cuestan lo mismo que una con num=50. El tamaño de página es
comodidad, no descuento.
La misma fórmula rige en /discover/* y /analytics/*, donde varios endpoints usan por defecto
un num mayor que 10 y ya cuestan más que la tarifa base:
| Endpoint | num predeterminado | Por 1000 llamadas |
|---|---|---|
/discover/similar | 12 | $0.48 |
/discover/trending | 20 | $0.80 |
/discover/underrated | 20 | $0.80 |
/discover/series | 20 | $0.80 |
/discover/for-you | 20 | $0.80 |
/discover/studios | 30 (20 con q) | $1.20 ($0.80 con q) |
/discover/tags | 30 | $1.20 |
/discover/genres | 60 | $2.40 |
/analytics/leaderboard | 20 | $1.20 |
/analytics/idols/costars | 15 | $0.90 |
Pasa num=10 o menos para pagar la tarifa base. Los endpoints fuera de la tabla no toman num
(o usan 10 o menos) y siempre cuestan la base.
/random devuelve 10 resultados por defecto, antes 20. Si dependías del tamaño anterior, pasa
num=20: mismos resultados, doble precio por llamada.
No encontrar nada no es un error
/query sin coincidencias devuelve 200, count: 0 y results vacío, gratis. Comprueba
count, no el código de estado.
Entrega de previews
Los clips de vista previa salen de cdn.javinfo.dev, facturados por datos, no por llamada: $0.30
por GB, solo la primera vez que se traen del origen. Después viven en nuestro almacenamiento de
objetos y toda reproducción posterior es gratis, para todos.
La calidad depende de tu cuenta: tras una recarga obtienes la mejor versión de cada título; antes es estándar.
Las URLs de video están ligadas a tu cuenta y nunca caducan: un enlace guardado el año pasado sigue funcionando. Pero quien lo tenga reproduce con cargo a tu saldo. Cuida las URLs de vista previa como una clave API.
Con qué frecuencia puedes llamar
Los límites son por cuenta, compartidos entre todas tus claves.
| Estado de la cuenta | Solicitudes por minuto |
|---|---|
| Antes de la primera recarga | 10 |
| Después de la primera recarga | 60 |
Si te pasas recibes 429 con Retry-After indicando cuánto esperar. El tope sube solo al
confirmarse tu primer pago, sin solicitudes ni formularios.
Límites por hora en los proveedores en vivo
FANZA, DMM y los proveedores servidos desde nuestro propio catálogo no tienen tope horario. Los que aún consultamos en el origen en cada petición gastan una solicitud real aguas arriba y comparten un presupuesto por hora:
- 6000 resultados por hora y por cuenta. Al superarlo,
/querydevuelve429conRetry-After. - 3000 llamadas por hora y proveedor, entre todos los usuarios. Si uno se satura lo sacamos de la
búsqueda y respondemos con los demás. Si lo fijaste con
providers=, no queda a qué recurrir y recibes503conRetry-After.
El uso normal no se acerca: el presupuesto por cuenta supera con creces la hora legítima más intensa registrada. Existe para que un script descontrolado no haga bloquear una fuente a todos.
Otra protección: paginar más allá de la página 50 con una q vacía devuelve 422. Recorrer así un filtro enumera un catálogo, no busca. Añade una q o afina el filtro.
Cuando te quedas sin saldo
La API devuelve 402 Payment Required sin cobrar. Retry-After marca una hora, pista para
clientes automatizados, no bloqueo: recarga y la siguiente llamada pasa.
Recarga desde tu panel de control. Los pagos de $15 o más suman crédito extra; desde $50, el mayor bono, hasta un 10%. La cifra se sortea por pago y varía dentro del tramo.
Encabezados de respuesta
X-Response-Time-Ms— tiempo de servidor.X-Balance-Remaining— crédito restante después de la llamada.X-Cache: HIT | MISS— si la respuesta vino de caché. Presente en/movie,/query,/idolsy en los endpoints de descubrimiento, analítica y resolución con caché. Un acierto es gratis.X-Degraded— lecturas de índice fallidas al armar la respuesta; su valor es el número. Se sirve gratis y no se cachea.Retry-After— presente en429,402y503. Respétalo.
Lista completa de códigos en Errores.