Playground

El Playground (barra lateral > Playground) te permite ejecutar requests de API en vivo con tu API key real sin escribir código. Es la forma más rápida de probar un nuevo sitio de destino, depurar una response compleja o comparar Auto, Single, Proxy y Browser en paralelo.

Ábrelo en foura.ai/dashboard#playground.

Qué hace

Un formulario. Cuatro motores. Tráfico real.

  • Auto: fetch inteligente. Envías una URL junto con una regla validate y FourA elige la ruta más económica que funcione.
  • Single: fetch HTTP directo con características de red realistas similares a las de un navegador
  • Proxy: fetch mediante proxy rotatorio administrado, opcionalmente delimitado a países visibles para el objetivo
  • Browser: abre la URL en una instancia de navegador Chrome para sitios renderizados con JS

Los requests se ejecutan con la API key que elijas en la parte superior de la página. El consumo cuenta para la cuota de esa key de la misma manera que una llamada en producción, así que no agotes tu plan en pruebas.

Elegir una key

El menú desplegable de API keys lista cada key activa que puedes usar: las tuyas en My Keys, y luego un grupo por cada organización a la que perteneces. Cualquier miembro puede ejecutar la key de una organización, y un request en ella cuenta contra el plan del propietario de la organización. Elige a cuál deseas que se facture el request. Si aún no tienes ninguna key activa, un mensaje en línea te vincula a la página API Keys para crear una.

Elegir un modo

Una fila superior de Mode alterna entre Auto y los motores manuales. Cuando se selecciona Auto, el formulario cambia a la interfaz mínima de Auto (URL más validate y algunos ajustes). Ambas filas se muestran siempre: Mode: Auto, y Product: Single, Proxy, Browser. Elegir uno deselecciona el otro. Cambiar de producto modifica qué campos son visibles y a qué motor llega el request. La selección actual se conserva al recargar la página.

Modo Cuándo usarlo
Auto Nuevo objetivo o sitio con protección mixta. Auto elige la ruta más económica y recuerda lo que funciona.
Single Fetch HTTP rápido. La mejor primera opción para un host conocido.
Proxy Mismo fetch con rotación automática de proxy. Configura exitCountries cuando necesites un país visible para el objetivo.
Browser Carga la página en una instancia de navegador Chrome. Úsalo cuando los datos aparezcan solo después de que se ejecute JavaScript.

Construir el request

Fila de URL

La fila superior contiene el método HTTP (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS), la URL de destino y el botón Send. Single, Proxy y Auto admiten todos los métodos. Browser ignora el método (Chrome siempre emite GET para la navegación) y el body.

Pestañas de request

Debajo de la fila de URL, cinco pestañas te permiten completar todo lo demás:

Pestaña Qué controla
UI Campos de formulario para timeouts, redirecciones, flags, proxy, opciones específicas del navegador y reglas de validación
Body Body libre para requests POST / PUT / PATCH
Headers Headers de request personalizados como pares clave-valor
Cookies Cookies que se enviarán con el request
Raw El payload JSON exacto que se enviará, como una vista previa de solo lectura con Copy JSON, y el reproductor de curl debajo

Cualquier cambio que hagas en UI / Body / Headers / Cookies se refleja en Raw. No puedes escribir en Raw: modifica el request en las otras pestañas. Aparece un punto rojo en cualquier pestaña o sección desplegable que contenga un valor diferente a los valores por defecto del motor, para que puedas identificar de un vistazo lo que has personalizado.

Secciones del panel UI

La pestaña UI agrupa las configuraciones en secciones desplegables. Los campos vacíos recurren al valor por defecto del esquema del motor. Las secciones que no aplican al modo actual se ocultan.

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec. Auto solo expone timeout_ms (el presupuesto total).
  • Redirects: activa o desactiva y define followRedirects (0-20). Single y Proxy. Browser sigue las redirecciones por su cuenta.
  • Flags: unblocker para Single, Proxy y Browser (unblocker en Browser completa las comprobaciones que solicita una página); tryJsonData y returnBuffer para Single y Proxy. Auto expone forceProxy y returnSession en su lugar.
  • Proxy: selecciona un proxy ID específico para Single o Browser, o define maxTries, el timeout externo de Proxy, exitCountries, exitClass y ignoreProxies para el motor Proxy. Auto también expone ignoreProxies. El selector exitClass tiene tres estados: sin definir no envía ningún campo, standard indica que el request nunca debe escalar y premium le permite escalar a una salida premium cuando el pool estándar tiene dificultades. Sin definir y standard son requests diferentes, así que deja el selector vacío a menos que busques una de las dos opciones. Premium requiere un plan que incluya salidas premium: consulta exitClass.
  • Browser profile: tres menús desplegables en cascada, os, browser y version, que listan lo que FourA puede presentar realmente. Aparecen en modo Single y Proxy. Déjalos vacíos para usar la versión más reciente de Chrome. Cada selector restringe los otros dos, por lo que nunca aparecerá una combinación que no resuelva a nada. La sección necesita unblocker activado: si está desactivado no se envían headers de navegador, el perfil solo se aplicaría a medias y la API rechazará el request en su lugar.
  • Browser: opciones exclusivas de Browser como checkStatus y checkText.
  • Validate: status accept y status fail aceptan códigos de estado separados por comas (validate.status), y body accept y body fail aceptan subcadenas con alternativas separadas por | (validate.data). Disponible para Single, Proxy y Auto. Browser usa checkStatus y checkText en su lugar. El formulario no tiene ningún campo para reglas de headers (validate.headers).

Una vez que una ejecución devuelve un proxy que funcionó, aparece una sección de Working proxies al final de la pestaña de la UI. Lista hasta 20 IDs de proxy, los más recientes primero, cada uno con su país de salida y hora. use coloca uno en el campo proxy en Single o Browser (el motor Proxy encuentra el suyo propio), y × lo elimina de la lista.

Exit Country Scoping (Proxy Mode)

El campo exitCountries en Proxy acepta una lista separada por comas de códigos de país de dos letras visibles para el objetivo (CZ, GB). Los valores se limpian de espacios, se convierten a mayúsculas y se deduplican al enviar. La selección es una lista de permisos estricta: los proxies con salidas desconocidas se excluyen y la request nunca recurre a otro país. Si el grupo actual no tiene coincidencias, la response devuelve code: "no_eligible_proxy" con el alcance solicitado reflejado en details.exitCountries. Conserva el alcance y vuelve a intentarlo más tarde.

Cuando una llamada de proxy tiene éxito bajo el alcance definido, la franja de respuesta muestra exit <CODE> junto al ID del proxy para que puedas verificar que el país servido coincide con lo que solicitaste.

Toolbar Reset

El botón Reset en la barra de herramientas (junto a History y Saved) restablece el playground a un estado limpio. Como es destructivo, abre un cuadro de diálogo de confirmación que detalla exactamente qué se borrará: los formularios de los tres productos (Single, Proxy, Browser), cualquier cookie guardada en el jar, cualquier proxy transferido y la response actual. Los ajustes preestablecidos guardados y la API key seleccionada se conservan. Haz clic en Reset everything para confirmar; cualquier otra acción cancela.

Sending and Canceling

Haz clic en Send para disparar la request. La columna derecha pasa a un estado de carga con un spinner y un botón Cancel mientras la llamada está en curso. Haz clic en Cancel (o presiona el botón nuevamente en dispositivos móviles) para abortar. Una request cancelada restaura el marcador de posición inactivo con "Request canceled." en lugar de mostrar un error.

La tarjeta de respuesta cambia al resultado en el momento en que la request se completa (o falla). Las ejecuciones automáticas pueden tardar más que los motores manuales porque la escala puede subir varios niveles ante un objetivo frío.

Reading the Response

La columna de response refleja la estructura de la request con sus propias pestañas:

Tab What it shows
Body Parsed body. Cambia entre las vistas JSON, HTML y Text según lo recibido.
Headers Headers de la response, uno por línea.
Cookies Cookies devueltas por el objetivo, tanto en vista analizada (agrupada por host) como sin procesar (texto Set-Cookie). La vista analizada muestra una insignia HO en las cookies exclusivas del host; las cookies de dominio no tienen marca.
Raw El envelope JSON completo devuelto por la API.

La barra de herramientas de response incluye Copy y Download para toda la response, y Find in response (Ctrl+K o Cmd+K) para buscar en la pestaña abierta, con Enter y Shift+Enter para desplazarse por las coincidencias. Body, Headers y Cookies también tienen sus propios botones de Copy y Download exclusivos para esa pestaña.

Una barra de metadatos sobre las pestañas muestra el estado HTTP ascendente, el tiempo total, el ID del proxy que gestionó la llamada y (para una llamada Proxy con ámbito) el exit <CODE> de dos letras. Para las ejecuciones Auto, la barra también muestra qué peldaño de la escala entregó la respuesta, cuántos subintentos se realizaron y los créditos gastados.

Qué necesitó la llamada

Una frase debajo de la barra de metadatos indica detalladamente qué transportó la página. Para una ejecución Auto, nombra el peldaño (una sesión que FourA ya tenía para el host, una request simple, un proxy rotativo, un navegador real o un navegador primero y luego una reproducción económica), si se resolvió un desafío, cuántos intentos tomó y cuánto costó.

Cuando uno de los límites de tu plan rechazó la llamada, la frase lo indica primero: "Detenido por tu plan, no por el sitio", seguido de qué límite (requests de navegador de hoy agotadas, demasiadas requests en curso, créditos de este período gastados, etc.) y un enlace a Uso y límites. La línea se genera a partir del código X-FourA-Limit devuelto por la API, por lo que una página difícil que falla te indica si la detuvo el sitio o el plan.

Trasladar valores entre ejecuciones

Después de cualquier ejecución que haya devuelto datos de sesión reutilizables, un pequeño control Carry en la barra de herramientas de respuesta muestra lo que está disponible:

  • Las ejecuciones Auto ofrecen la terna completa session (proxy, cookies, userAgent).
  • Las ejecuciones Browser ofrecen el userAgent de respuesta, además del ID del proxy si se usó uno.
  • Las ejecuciones Proxy ofrecen el ID del proxy devuelto, el perfil de navegador cuando la rotación eligió uno que no solicitaste y el exitClass que atendió la llamada, de modo que una respuesta premium se pueda reenviar directamente.

Haz clic en Carry y elige dónde aplicar cada valor con un solo clic: userAgent se convierte en un header User-Agent en Single o Proxy, y el ID del proxy se coloca en el campo proxy en Single o Browser. Los campos que reciben un valor trasladado muestran el punto rojo de "modificado" para que puedas ver qué cambió.

Un perfil de navegador trasladado completa los tres selectores de os, browser y version, y activa unblocker, la misma regla que se aplica al seleccionar un perfil manualmente. Se ofrece solo una vez que se ha cargado el catálogo de perfiles, ya que el formulario consta de tres selectores y no de un campo id.

El perfil es el único valor que indica que la request que funcionó no fue la que escribiste: Proxy informa profile solo cuando cambió a una familia de navegadores que no solicitaste. Si reproduces sin él, reproducirás la versión que falló. Consulta Por qué una request de Proxy agotó los intentos.

Expandir a pantalla completa

El icono de expandir en la barra de herramientas de respuesta saca la tarjeta de respuesta del diseño dividido y la coloca en una superposición de pantalla completa. Úsalo para árboles JSON profundos, volcados largos de Set-Cookie o cuerpos HTML anchos donde la columna de medio ancho resulte estrecha. La página deja de desplazarse mientras la superposición está abierta. Haz clic en el icono nuevamente (o presiona Escape) para contraer.

El reproductor curl

En la pestaña Raw de la request, debajo del JSON, un bloque de curl muestra el comando exacto equivalente en línea de comandos para la request que estás creando, junto con un botón Copy curl. Cópialo para reproducir la request desde una terminal, compartirlo con un compañero de equipo o pegarlo en un reporte de error.

Para las keys que se pueden revelar, el botón Reveal key junto al fragmento inserta la key real en texto plano directamente en el curl para que puedas copiar y ejecutar tal cual. Haz clic de nuevo para ocultarla. Las keys antiguas (creadas antes del lanzamiento de esta función) mantienen el marcador de posición PASTE_PLAINTEXT_FOR_<key-name>; regenera la key desde la página API Keys para que se pueda revelar.

Cada revelación queda registrada en los logs de auditoría del servidor, y la key en texto plano solo permanece en memoria durante la sesión actual de la página.

Guardar ajustes predefinidos

Si necesitas reconfigurar el mismo target repetidamente, guárdalo. Haz clic en Save en la fila de pestañas de la request para almacenar la configuración actual como un preset con nombre.

Abre Saved en la barra de herramientas para ver tus presets. Haz clic en Load para completar el formulario o en Delete para eliminar uno.

Una request abierta desde la pestaña DevTools de la extensión de Chrome de FourA se carga con la key de la extensión seleccionada si dicha key está en tu cuenta, y la página lo indicará. De lo contrario, te pedirá que elijas una key. Una request reproducida que no defina unblocker se ejecutará con esta opción activada, tal como hace la API.

Campo del preset Qué almacena
Name Una etiqueta corta (hasta 100 caracteres)
Description Notas opcionales (hasta 500 caracteres)
Endpoint Para qué motor está destinado el preset (auto / single / proxy / browser)
Config El payload completo de la request, incluidos los campos de la UI, headers, cookies y body

Los presets están limitados a tu cuenta de usuario y no se comparten con los miembros del equipo.

Reproducir desde el historial

Cada request que ejecutas queda registrada. Abre History en la barra de herramientas para ver tus últimas 20 ejecuciones, ordenadas de más reciente a más antigua.

Cada fila muestra el endpoint, la URL de destino, el status y la hora. Haz clic en Replay en cualquier fila para cargar esa request de nuevo en el formulario, y luego en Send para ejecutarla otra vez.

El historial se limita automáticamente a tu cuenta: solo ves tus propias ejecuciones.

Abrir desde la actividad

El cuadro de diálogo de detalles de Activity Log tiene un botón Open in Playground. Haz clic en él y el Playground se cargará con la request archivada y la response archivada. El formulario se completa con el payload almacenado, y la tarjeta de response muestra lo que devolvió la API en ese momento con una insignia "archived" en la barra de metadatos del proxy ("archived

Desde allí puedes cambiar un parámetro y hacer clic en Send para ejecutar una nueva request contra la API en vivo, o simplemente inspeccionar el payload archivado sin volver a ejecutarlo. Los payloads se conservan durante 24 horas, por lo que las filas de Activity más antiguas no tendrán una response recargable.

Consejos

  • Comienza en Playground antes de escribir código para un nuevo objetivo. Con Auto activado, sabrás en segundos si basta con un fetch económico o si el sitio exige un renderizado de navegador.
  • Para objetivos bloqueados por país, realiza una llamada a Proxy con exitCountries definido y, a continuación, traslada el ID del proxy devuelto a una llamada a Browser para que el renderizado de JavaScript se ejecute a través de la misma salida.
  • Guarda un ajuste preestablecido para cada objetivo del que extraigas datos con frecuencia. Volver a ejecutar un preset guardado requiere un solo clic; reconstruir la request de memoria lleva más tiempo.
  • Usa la pestaña Cookies para depurar el scraping basado en sesiones. La vista raw de Set-Cookie muestra con exactitud lo que envió el objetivo.
  • Cuando un objetivo te rechace, prueba con otra opción en los selectores de perfil de Browser antes de recurrir a un motor más pesado. Cambiar el navegador presentado no tiene costo; un renderizado de navegador sí.
  • Las requests de Playground se facturan a la clave que elijas. Utiliza una clave dedicada con cuota baja para la exploración casual si deseas mantener limpio el uso en producción.
Actualizado: 30 de septiembre de 2026