Playground

El Playground (barra lateral > Playground) te permite ejecutar requests de API en vivo con tu clave 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. Pasas una URL más una regla validate y FourA elige la ruta más barata que funcione.
  • Single: fetch HTTP directo con características de red realistas similares a las de un navegador.
  • Proxy: fetch de proxy rotativo gestionado, opcionalmente limitado a países visibles para el destino.
  • Browser: abre la URL en una instancia de navegador Chrome para sitios renderizados con JS.

Los requests se ejecutan con la clave de API que elijas en la parte superior de la página. El uso se descuenta de la cuota de esa clave de la misma manera que lo haría una llamada en producción, así que no agotes tu plan haciendo pruebas.

Seleccionar una clave

El menú desplegable de claves de API muestra todas las claves activas en tu alcance: claves personales, claves de organización que administras y claves compartidas de equipo a las que tienes acceso. Elige la clave a la que quieres que se facture el request. Si aún no tienes claves activas, un mensaje integrado te enlaza a la página API Keys para crear una.

Elegir un modo

Una fila superior 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 más algunos controles). Cuando desactivas Auto, aparecen tres botones: Single, Proxy, Browser. Al cambiar de botón, se intercambian los campos visibles y el motor al que se envía el request. La selección actual se conserva al recargar la página.

Mode Cuándo usarlo
Auto Nuevo objetivo o sitio con protección mixta. Auto elige la ruta más barata y recuerda lo que funciona.
Single Fetch HTTP rápido. La mejor opción inicial para un host conocido.
Proxy El mismo fetch con rotación automática de proxy. Configura exitCountries cuando necesites un país visible para el destino.
Browser Carga la página en una instancia de navegador Chrome. Úsalo cuando los datos solo aparecen después de que se ejecuta 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 respetan todos los métodos. Browser ignora el método (Chrome siempre emite GET para la navegación) y el cuerpo.

Pestañas del request

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

Tab Qué controla
UI Campos de formulario para tiempos de espera, redirecciones, banderas, proxy, opciones específicas del navegador y reglas de validación
Body Cuerpo de formato libre para requests POST / PUT / PATCH
Headers Headers de request personalizados como pares clave-valor
Cookies Cookies para enviar con el request
Raw El payload JSON exacto que se enviará, editable directamente

Todo lo que cambies en UI / Body / Headers / Cookies se refleja en Raw. Editar en Raw también funciona, y las demás pestañas se actualizan para coincidir. Aparece un punto rojo en cualquier pestaña o sección desplegable que contenga un valor distinto a los predeterminados del motor, para que puedas ver de un vistazo lo que has personalizado.

Secciones del panel de UI

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

  • Timeouts: timeout_ms, connect_timeout_ms, accept_timeout_ms, server_response_timeout_ms, dns_cache_timeout_sec. Auto expone solo timeout_ms (el presupuesto total).
  • Redirecciones: alterna y establece followRedirects (0-20). Para Single, Proxy y Auto. Browser sigue las redirecciones por su cuenta.
  • Flags: unblocker para Single, Proxy y Browser (el desbloqueador en Browser activa la resolución automática de defensas); tryJsonData y returnBuffer para Single y Proxy. Auto expone forceProxy y returnSession en su lugar.
  • Proxy: elige un ID de proxy específico para Single o Browser, o establece maxTries, el timeout externo de Proxy, exitCountries y ignoreProxies para el motor Proxy. Auto también expone ignoreProxies.
  • Browser profile: tres menús desplegables en cascada, os, browser y version, que enumeran lo que FourA realmente puede presentar. Aparecen en el modo Single y Proxy. Déjalos vacíos para obtener la versión más reciente de Chrome. Cada selección restringe a las otras dos, por lo que nunca aparece una combinación que no resuelva a nada. Esta sección requiere que Web Unblocker esté activado: si está desactivado no se envían los headers del navegador, un perfil solo se aplicaría a medias y, en su lugar, la API rechaza el request.
  • Browser: opciones exclusivas del navegador como checkStatus y checkText.
  • Validate: reglas de aceptación o error para validate.status (códigos de estado), validate.headers (reglas clave-valor de header) y validate.data (subcadenas de aceptación o error en el body, alternativas separadas por |). Disponible para todos los modos, incluido Auto.

Delimitación del país de salida (modo Proxy)

El campo exitCountries en Proxy acepta una lista separada por comas de códigos de país de dos letras visibles para el destino (CZ, GB). Al enviarlos, los valores se recortan, se pasan a mayúsculas y se elimina su duplicación. La selección es una lista de permisos estricta: los proxies con salidas desconocidas se excluyen y el request nunca recae en otro país. Si el grupo actual no tiene coincidencias, el response devuelve code: "no_eligible_proxy" y repite el alcance solicitado en details.exitCountries. Conserva el alcance y vuelve a intentarlo más tarde.

Cuando una llamada de proxy tiene éxito bajo esta delimitación, la franja de response muestra exit <CODE> junto al ID del proxy para que puedas verificar que el país servido coincide con el que solicitaste.

Restablecimiento de la barra de herramientas

El botón Reset en la barra de herramientas (junto a History y Saved) limpia el playground para dejarlo en blanco. Como es destructivo, abre un diálogo de confirmación que detalla exactamente qué se borrará: los tres formularios de productos (Single, Proxy, Browser), cualquier cookie guardada en el jar, cualquier proxy acarreado y la respuesta actual. Los preajustes guardados y la clave API seleccionada se mantienen. Haz clic en Reset everything para confirmar; cualquier otra acción lo cancela.

Enviar y cancelar

Haz clic en Send para lanzar la solicitud. La columna derecha cambia a un estado de carga con un indicador y un botón Cancel mientras la llamada está en curso. Haz clic en Cancel (o toca el botón de nuevo en el móvil) para abortar. Una solicitud 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 se completa (o falla) la solicitud. Las ejecuciones de Auto pueden tardar más que los motores manuales porque la escalera puede subir varios peldaños en un objetivo frío.

Leer la respuesta

La columna de respuesta refleja el diseño de la solicitud con sus propias pestañas:

Tab Lo que muestra
Body Cuerpo analizado. Cambia entre las vistas JSON, HTML y Text dependiendo de lo que haya devuelto.
Headers Encabezados de respuesta, uno por línea.
Cookies Las cookies devueltas por el objetivo, tanto en vista analizada (agrupadas por host) como cruda (texto de Set-Cookie). La vista analizada muestra una insignia HO en las cookies exclusivas del host; las cookies de dominio no están marcadas.
Raw El sobre JSON completo devuelto por la API.

Una franja meta 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 alcance) el exit <CODE> de dos letras. Para las ejecuciones de Auto, la franja también muestra qué peldaño de la escalera entregó la respuesta, cuántos subintentos se hicieron y los créditos gastados.

Acarrear 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 de Auto ofrecen la tripleta completa de session (proxy, cookies, userAgent).
  • Las ejecuciones de Browser ofrecen la userAgent de respuesta, más el ID del proxy si se usó uno.
  • Las ejecuciones de Proxy ofrecen el ID del proxy devuelto.

Haz clic en Carry y elige dónde aplicar cada valor con un clic: userAgent se convierte en un encabezado 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 acarreado muestran un punto rojo de "modificado" para que puedas ver qué cambió.

Expandir a pantalla completa

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

El reproductor de curl

Debajo de la response, un bloque cURL muestra el equivalente exacto de línea de comandos de la request que acabas de crear. 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 claves revelables, un botón de Reveal key junto al fragmento inserta la clave real en texto plano directamente en el cURL para que puedas copiar y ejecutar tal cual. Haz clic de nuevo para ocultarla. Las claves antiguas (creadas antes de que se lanzara la función de revelar) mantienen un marcador de posición PASTE_PLAINTEXT_FOR_<key-name>; regenera la clave desde la página API Keys para hacerla revelable.

La revelación se registra en el registro de auditoría del servidor cada vez, y la clave en texto plano solo vive en la memoria para la sesión actual de la página.

Guardar Presets

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

Abre Saved en la barra de herramientas para explorar, cambiar el nombre o eliminar tus presets. Haz clic en cualquier preset para volver a cargarlo en el formulario.

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

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

Reproducir desde History

Cada request que ejecutas se registra. Abre History en la barra de herramientas para ver tus últimas 20 ejecuciones, ordenadas desde la más reciente.

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

History se vincula automáticamente a tu cuenta: solo ves tus propias ejecuciones.

Abrir desde Activity

El diálogo de detalles del Activity Log tiene un botón Open in Playground. Haz clic en él y el Playground se carga con la request archivada y la response archivada. El formulario se rellena a partir del payload almacenado, y la tarjeta de response muestra lo que la API devolvió en ese momento con una etiqueta "archived" en la franja meta del proxy ("archived

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

Consejos

  • Comienza en el Playground antes de escribir código para un objetivo nuevo. Con Auto activado, sabrás en segundos si basta con un fetch económico o si el sitio obliga a usar una resolución por navegador.
  • Para objetivos bloqueados por país, ejecuta una llamada de Proxy con exitCountries configurado, y luego pasa el ID del proxy devuelto a una llamada de Browser para que el renderizado de JavaScript ocurra por la misma salida.
  • Guarda un preset para cada objetivo que proceses regularmente. Repetir un preset guardado toma un clic; reconstruir la solicitud de memoria toma más tiempo.
  • Usa la pestaña de Cookies para depurar el scraping basado en sesiones. La vista sin procesar de Set-Cookie muestra exactamente lo que envió el objetivo.
  • Cuando un objetivo te rechace, prueba con otra entrada en la selección de perfil de Browser antes de usar un motor más pesado. Cambiar el navegador presentado es gratis; el renderizado en navegador no lo es.
  • Las solicitudes del Playground se facturan a la clave que elijas. Usa una clave dedicada con cuota baja para la exploración ocasional si quieres mantener limpio el uso en producción.

Relacionado

Actualizado: 12 de agosto de 2026