Proporcionado por DataForSEO
Captura una captura de pantalla de una tarea de resultados de búsqueda existente con DataForSEO
Captura de pantalla renderizada de la página de resultados de búsqueda de una tarea SERP orgánica de Google finalizada, para un preset de escritorio, tableta o móvil; la URL de la imagen sigue siendo válida durante un día. Usa el id de tarea de un Run de tarea SERP orgánica de Google de este Workspace (en un plazo de 7 días); la tarea SERP nunca se repite aquí.
Cómo ejecutarlo
Paso 1Configurar
Una vez: pega esto en el chat de tu agente. Skill instala el CLI e inicia sesión por sí solo. Si tu agente no puede usar un shell, conéctalo mediante MCP en su lugar.
set up https://glasser.ai/SKILL.md
Show me how to use the DataForSEO endpoint /v3/serp/screenshot on Glasser.glasser run -p dataforseo -e '/v3/serp/screenshot' -i '{"task_id":"09110940-2417-0066-0000-20934010d5f1","browser_preset":"desktop"}' --endpoint-version 1Usa la versión de endpoint 1. Comprueba el precio actual antes de ejecutar. Instala e inicia sesión primero en Comenzar.
Una vez por Run:
IDEMPOTENCY_KEY=$(uuidgen)Ejecútalo y copia este mismo bloque para volver a enviarlo:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"dataforseo","endpoint":"/v3/serp/screenshot","input":{"task_id":"09110940-2417-0066-0000-20934010d5f1","browser_preset":"desktop"},"endpoint_version":1}'Reutiliza la misma Idempotency-Key para volver a enviarlo: el segundo envío es una lectura del primer Run. Una clave nueva crea un Run y un Charge nuevos. Usa la versión de endpoint 1; comprueba el precio actual antes de ejecutar.
Paso 2Prueba una tarea de ejemplo específica
Cuando necesites investigar una pregunta, puedes buscar fuentes relevantes y revisar qué resultados merecen una lectura más detenida.
Copia este prompt en tu agente para encontrar fuentes para tu pregunta de investigación.
Use dataforseo:/v3/serp/screenshot on Glasser.
Search for sources about my research question and explain which returned results are relevant.Estructura del endpoint
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"task_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 100,
"minimum": 1
},
"task_id": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"browser_preset": {
"enum": [
"desktop",
"tablet",
"mobile"
],
"type": "string"
},
"browser_screen_width": {
"type": "integer",
"maximum": 9999,
"minimum": 240
},
"browser_screen_height": {
"type": "integer",
"maximum": 9999,
"minimum": 240
},
"browser_screen_scale_factor": {
"anyOf": [
{
"type": "number"
},
{
"enum": [
"Infinity",
"-Infinity",
"NaN"
],
"type": "string"
}
]
}
},
"additionalProperties": false
}{
"task_id": "09110940-2417-0066-0000-20934010d5f1",
"browser_preset": "desktop"
}Este endpoint no publica ningún esquema de salida. Recibes el cuerpo de respuesta propio del proveedor de datos, sin cambios — no garantizamos una estructura que no podemos asegurar.
Cómo funcionan los precios
| Datos devueltos o sin coincidencias | El mismo precio con o sin datos coincidentes. | $0.004 |
|---|---|---|
| Error del proveedor de datos | El proveedor de datos no pudo responder. | $0.00 |
| Tiempo de espera agotado | El Run superó su límite de tiempo. | $0.00 |
| Error interno | Un error interno impidió completar la operación. | $0.00 |