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
validatey 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 solotimeout_ms(el presupuesto total). - Redirecciones: alterna y establece
followRedirects(0-20). Para Single, Proxy y Auto. Browser sigue las redirecciones por su cuenta. - Flags:
unblockerpara Single, Proxy y Browser (el desbloqueador en Browser activa la resolución automática de defensas);tryJsonDatayreturnBufferpara Single y Proxy. Auto exponeforceProxyyreturnSessionen su lugar. - Proxy: elige un ID de proxy específico para Single o Browser, o establece
maxTries, el timeout externo de Proxy,exitCountriesyignoreProxiespara el motor Proxy. Auto también exponeignoreProxies. - 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
checkStatusycheckText. - Validate: reglas de aceptación o error para
validate.status(códigos de estado),validate.headers(reglas clave-valor de header) yvalidate.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
userAgentde 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
exitCountriesconfigurado, 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
- Endpoints de la API: Referencia completa de parámetros para los cuatro motores, incluyendo
exitCountriesy los campos de perfil del navegador - Smart Fetch (Auto): Qué hace Auto internamente
- Cómo elegir el endpoint correcto: Cuándo elegir Auto, Single, Proxy o Browser
- Claves de API: Administra las claves con las que autenticas las solicitudes del Playground
- Registro de actividad: Abre una solicitud pasada directamente en el Playground
- Resumen del panel de control: Todas las secciones de la barra lateral