# Búsqueda (/es/api-reference/endpoint/search)

<!-- agent-signals: reading_time_min: 30 · est_tokens: 19940 · updated: 2026-07-30 -->
Related: [Comentarios sobre la búsqueda](/es/api-reference/endpoint/search-feedback.md), [Scrape](/es/api-reference/endpoint/scrape.md), [Raspado en lote](/es/api-reference/endpoint/batch-scrape.md), [Obtener el estado de la captura por lotes](/es/api-reference/endpoint/batch-scrape-get.md), [Cancelar extracción en lote](/es/api-reference/endpoint/batch-scrape-delete.md), [Obtener errores de raspado por lotes](/es/api-reference/endpoint/batch-scrape-get-errors.md)

El endpoint de búsqueda combina la búsqueda web con las capacidades de scraping de Firecrawl para devolver el contenido completo de la página para cualquier consulta.

Incluye `scrapeOptions` con `formats: [{"type": "markdown"}]` para obtener el contenido completo en markdown de cada resultado de búsqueda; de lo contrario, por defecto solo obtendrás los resultados (url, title, description). También puedes usar otros formatos como `{"type": "summary"}` para obtener contenido condensado.

<div id="supported-query-operators">
  ## Operadores de consulta admitidos [#operadores-de-consulta-admitidos]
</div>

Admitimos una variedad de operadores de consulta que te permiten filtrar mejor tus búsquedas.

| Operador      | Funcionalidad                                                                   | Ejemplos                          |
| ------------- | ------------------------------------------------------------------------------- | --------------------------------- |
| `""`          | Coincidencia exacta de una cadena de texto (no difusa)                          | `"Firecrawl"`                     |
| `-`           | Excluye ciertas palabras clave o niega otros operadores                         | `-bad`, `-site:firecrawl.dev`     |
| `site:`       | Devuelve solo resultados de un sitio web específico                             | `site:firecrawl.dev`              |
| `filetype:`   | Devuelve solo resultados con una extensión de archivo específica                | `filetype:pdf`, `-filetype:pdf`   |
| `inurl:`      | Devuelve solo resultados que incluyan una palabra en la URL                     | `inurl:firecrawl`                 |
| `allinurl:`   | Devuelve solo resultados que incluyan varias palabras en la URL                 | `allinurl:git firecrawl`          |
| `intitle:`    | Devuelve solo resultados que incluyan una palabra en el título de la página     | `intitle:Firecrawl`               |
| `allintitle:` | Devuelve solo resultados que incluyan varias palabras en el título de la página | `allintitle:firecrawl playground` |
| `related:`    | Devuelve solo resultados relacionados con un dominio específico                 | `related:firecrawl.dev`           |
| `imagesize:`  | Devuelve solo imágenes con dimensiones exactas                                  | `imagesize:1920x1080`             |
| `larger:`     | Devuelve solo imágenes más grandes que las dimensiones especificadas            | `larger:1920x1080`                |

<div id="location-parameter">
  ## Parámetro de ubicación [#parámetro-de-ubicación]
</div>

Usa el parámetro `location` para obtener resultados de búsqueda geodirigidos. Formato: `"string"`. Ejemplos: `"Germany"`, `"San Francisco,California,United States"`.

Consulta la [lista completa de ubicaciones compatibles](https://firecrawl.dev/search_locations.json) para ver todos los países e idiomas disponibles.

<div id="country-parameter">
  ## Parámetro country [#parámetro-country]
</div>

Usa el parámetro `country` para especificar el país de los resultados de búsqueda usando códigos de país ISO. Valor predeterminado: `"US"`.

Ejemplos: `"US"`, `"DE"`, `"FR"`, `"JP"`, `"UK"`, `"CA"`.

```json
{
  "query": "restaurantes",
  "country": "DE"
}
```

<div id="categories-parameter">
  ## Parámetro `categories` [#parámetro-categories]
</div>

Filtra los resultados de búsqueda por categorías específicas usando el parámetro `categories`:

* **`github`**: Busca en repositorios de GitHub, código, issues y documentación
* **`research`**: Busca en sitios web académicos y de investigación (arXiv, Nature, IEEE, PubMed, etc.)
* **`pdf`**: Busca archivos PDF

<div id="example-usage">
  ### Ejemplo de uso [#ejemplo-de-uso]
</div>

```json
{
  "query": "aprendizaje automático",
  "categories": ["github", "investigación"],
  "limit": 10
}
```

<div id="domain-filters">
  ## Filtros de dominio [#filtros-de-dominio]
</div>

Usa `includeDomains` para limitar los resultados a dominios específicos, o `excludeDomains` para excluir dominios específicos de la búsqueda. Los dominios deben ser únicamente nombres de host, sin protocolo ni ruta.

`includeDomains` y `excludeDomains` son mutuamente excluyentes.

<div id="include-domains-example">
  ### Ejemplo de inclusión de dominios [#ejemplo-de-inclusión-de-dominios]
</div>

```json
{
  "query": "web scraping",
  "includeDomains": ["firecrawl.dev", "docs.firecrawl.dev"],
  "limit": 10
}
```

<div id="exclude-domains-example">
  ### Ejemplo de exclusión de dominios [#ejemplo-de-exclusión-de-dominios]
</div>

```json
{
  "query": "web scraping tools",
  "excludeDomains": ["example.com"],
  "limit": 10
}
```

<div id="category-response">
  ### Respuesta de categoría [#respuesta-de-categoría]
</div>

Cada resultado incluye un campo `category` que indica su origen:

```json
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Machine Learning Project",
        "description": "Implementation of ML algorithms",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "ML Research Paper",
        "description": "Latest advances in machine learning",
        "category": "research"
      }
    ]
  }
}
```

<div id="time-based-search">
  ## Búsqueda por tiempo [#búsqueda-por-tiempo]
</div>

Usa el parámetro `tbs` para filtrar los resultados por períodos de tiempo, incluidos rangos de fechas personalizados. Consulta la [documentación de la funcionalidad de búsqueda](https://docs.firecrawl.dev/features/search#time-based-search) para ver ejemplos detallados y formatos compatibles.

> ¿Eres un agente de IA que necesita una clave de API de Firecrawl? Consulta [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para obtener instrucciones para la incorporación automatizada.

`POST /search`

Buscar y, opcionalmente, scrapear los resultados de búsqueda

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "properties": {
            "categories": {
              "description": "Categorías por las que filtrar los resultados. De forma predeterminada se establece en [], lo que significa que los resultados no se filtrarán por ninguna categoría.",
              "items": {
                "oneOf": [
                  {
                    "properties": {
                      "type": {
                        "enum": [
                          "github"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "GitHub",
                    "type": "object"
                  },
                  {
                    "properties": {
                      "type": {
                        "enum": [
                          "research"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "Research",
                    "type": "object"
                  },
                  {
                    "properties": {
                      "type": {
                        "enum": [
                          "pdf"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "PDF",
                    "type": "object"
                  }
                ]
              },
              "type": "array"
            },
            "country": {
              "default": "US",
              "description": "Código de país ISO para la segmentación geográfica de los resultados de búsqueda (por ejemplo, `US`). Para obtener mejores resultados, establece tanto este parámetro como el parámetro `location`.",
              "type": "string"
            },
            "enterprise": {
              "description": "Opciones de search para Enterprise con Zero Data Retention (ZDR). Usa `[\"zdr\"]` para ZDR de extremo a extremo (10 credits / 10 resultados) o `[\"anon\"]` para ZDR anonimizado (2 credits / 10 resultados). Debe estar habilitado para tu equipo.",
              "items": {
                "enum": [
                  "anon",
                  "zdr"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "excludeDomains": {
              "description": "Excluye los resultados de búsqueda de los dominios especificados. Los dominios deben ser únicamente nombres de host, sin protocolo ni ruta. No se puede usar con includeDomains.",
              "items": {
                "format": "hostname",
                "type": "string"
              },
              "type": "array"
            },
            "highlights": {
              "default": true,
              "description": "Genera highlights relevantes para la query en los resultados de búsqueda. Establécelo en false para devolver descripciones o fragmentos del proveedor sin resaltado.",
              "type": "boolean"
            },
            "ignoreInvalidURLs": {
              "default": false,
              "description": "Excluye de los resultados de búsqueda las URLs que no son válidas para otros endpoints de Firecrawl. Esto ayuda a reducir errores si estás enviando datos desde la búsqueda a otros endpoints de la API de Firecrawl.",
              "type": "boolean"
            },
            "includeDomains": {
              "description": "Restringe los resultados de búsqueda a los dominios especificados. Los dominios deben ser únicamente nombres de host, sin protocolo ni ruta. No se puede usar con excludeDomains.",
              "items": {
                "format": "hostname",
                "type": "string"
              },
              "type": "array"
            },
            "limit": {
              "default": 10,
              "description": "Número máximo de resultados que se devolverán (por tipo de fuente cuando se utilizan varias fuentes)",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            },
            "location": {
              "description": "Parámetro de ubicación para los resultados de la búsqueda (por ejemplo, `San Francisco,California,United States`). Para obtener mejores resultados, configura tanto este parámetro como el parámetro `country`.",
              "type": "string"
            },
            "query": {
              "description": "Consulta de búsqueda",
              "maxLength": 500,
              "type": "string"
            },
            "scrapeOptions": {
              "allOf": [
                {
                  "properties": {
                    "actions": {
                      "description": "Acciones que se realizarán en la página antes de extraer el contenido",
                      "items": {
                        "oneOf": [
                          {
                            "oneOf": [
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "milliseconds": {
                                    "description": "Número de milisegundos que se va a esperar",
                                    "minimum": 1,
                                    "type": "integer"
                                  },
                                  "type": {
                                    "description": "Esperar una cantidad determinada de milisegundos",
                                    "enum": [
                                      "wait"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "milliseconds"
                                ],
                                "title": "Wait by Duration",
                                "type": "object"
                              },
                              {
                                "additionalProperties": false,
                                "properties": {
                                  "selector": {
                                    "description": "Selector CSS del elemento al que se debe esperar",
                                    "example": "#my-element",
                                    "type": "string"
                                  },
                                  "type": {
                                    "description": "Esperar a que aparezca un elemento específico",
                                    "enum": [
                                      "wait"
                                    ],
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "type",
                                  "selector"
                                ],
                                "title": "Wait for Element",
                                "type": "object"
                              }
                            ],
                            "title": "Wait"
                          },
                          {
                            "properties": {
                              "fullPage": {
                                "default": false,
                                "description": "Determina si se debe tomar una captura de pantalla de página completa (omitiendo viewport.height) o limitarla al viewport actual.",
                                "type": "boolean"
                              },
                              "quality": {
                                "description": "La calidad de la captura de pantalla, de 1 a 100. 100 es la máxima calidad.",
                                "type": "integer"
                              },
                              "type": {
                                "description": "Realiza una captura de pantalla. Los enlaces estarán en la matriz `actions.screenshots` de la respuesta.",
                                "enum": [
                                  "screenshot"
                                ],
                                "type": "string"
                              },
                              "viewport": {
                                "properties": {
                                  "height": {
                                    "description": "Altura del viewport en píxeles",
                                    "type": "integer"
                                  },
                                  "width": {
                                    "description": "El ancho del viewport en píxeles",
                                    "type": "integer"
                                  }
                                },
                                "required": [
                                  "width",
                                  "height"
                                ],
                                "type": "object"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Screenshot",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "all": {
                                "default": false,
                                "description": "Hace clic en todos los elementos que coinciden con el selector, no solo en el primero. No genera un error si ningún elemento coincide con el selector.",
                                "type": "boolean"
                              },
                              "selector": {
                                "description": "Selector de consulta para localizar el elemento mediante",
                                "example": "#load-more-button",
                                "type": "string"
                              },
                              "type": {
                                "description": "Haz clic en un elemento",
                                "enum": [
                                  "click"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "selector"
                            ],
                            "title": "Click",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "text": {
                                "description": "Texto a teclear",
                                "example": "Hello, world!",
                                "type": "string"
                              },
                              "type": {
                                "description": "Escribe texto en un campo de texto, área de texto o elemento contenteditable. Nota: primero debes enfocar el elemento usando una acción de “hacer clic” antes de escribir. El texto se escribirá carácter por carácter para simular la entrada por teclado.",
                                "enum": [
                                  "write"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "text"
                            ],
                            "title": "Write text",
                            "type": "object"
                          },
                          {
                            "description": "Pulsa una tecla en la página. Consulta https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html para obtener los códigos de teclas.",
                            "properties": {
                              "key": {
                                "description": "Tecla que hay que pulsar",
                                "example": "Enter",
                                "type": "string"
                              },
                              "type": {
                                "description": "Pulsa una tecla en la página",
                                "enum": [
                                  "press"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "key"
                            ],
                            "title": "Press a key",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "direction": {
                                "default": "down",
                                "description": "Sentido de desplazamiento",
                                "enum": [
                                  "up",
                                  "down"
                                ],
                                "type": "string"
                              },
                              "selector": {
                                "description": "Selector del elemento al que se hará scroll",
                                "example": "#my-element",
                                "type": "string"
                              },
                              "type": {
                                "description": "Desplazar la página o un elemento concreto",
                                "enum": [
                                  "scroll"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Scroll",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "description": "Extrae el contenido de la página actual y devuelve la URL y el HTML.",
                                "enum": [
                                  "scrape"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Scrape",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "script": {
                                "description": "Código JavaScript a ejecutar",
                                "example": "document.querySelector('.button').click();",
                                "type": "string"
                              },
                              "type": {
                                "description": "Ejecutar código JavaScript en la página",
                                "enum": [
                                  "executeJavascript"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "script"
                            ],
                            "title": "Execute JavaScript",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "format": {
                                "default": "Letter",
                                "description": "El tamaño de la página del PDF resultante",
                                "enum": [
                                  "A0",
                                  "A1",
                                  "A2",
                                  "A3",
                                  "A4",
                                  "A5",
                                  "A6",
                                  "Letter",
                                  "Legal",
                                  "Tabloid",
                                  "Ledger"
                                ],
                                "type": "string"
                              },
                              "landscape": {
                                "default": false,
                                "description": "Indica si se debe generar el PDF en orientación horizontal",
                                "type": "boolean"
                              },
                              "scale": {
                                "default": 1,
                                "description": "El factor de escala del PDF resultante",
                                "type": "number"
                              },
                              "type": {
                                "description": "Genera un PDF de la página actual. El PDF se devolverá en el array `actions.pdfs` de la respuesta.",
                                "enum": [
                                  "pdf"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Generate PDF",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "auditMetadata": {
                      "additionalProperties": false,
                      "description": "Atribución de usuario incluida en los eventos de registro SIEM cuando SIEM Logging está habilitado para la organización.",
                      "properties": {
                        "username": {
                          "description": "El nombre de usuario asociado a la solicitud.",
                          "maxLength": 1024,
                          "type": "string"
                        }
                      },
                      "required": [
                        "username"
                      ],
                      "type": "object"
                    },
                    "blockAds": {
                      "default": true,
                      "description": "Habilita el bloqueo de anuncios y de ventanas emergentes de cookies.",
                      "type": "boolean"
                    },
                    "excludeTags": {
                      "description": "Etiquetas que se excluirán de la salida.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "formats": {
                      "default": [
                        "markdown"
                      ],
                      "description": "Formatos de salida que se incluirán en la respuesta. Puedes especificar uno o varios formatos, ya sea como cadenas (p. ej., `'markdown'`) o como objetos con opciones adicionales (p. ej., `{ type: 'json', schema: {...} }`). Algunos formatos requieren configurar opciones específicas. Ejemplo: `['markdown', { type: 'json', schema: {...} }]`.",
                      "items": {
                        "oneOf": [
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "markdown"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Markdown",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "summary"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Summary",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "html"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "HTML",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "rawHtml"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Raw HTML",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "links"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Links",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "images"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Images",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "fullPage": {
                                "default": false,
                                "description": "Determina si se debe tomar una captura de pantalla de página completa (omitiendo viewport.height) o limitarla al viewport actual.",
                                "type": "boolean"
                              },
                              "quality": {
                                "description": "La calidad de la captura de pantalla, del 1 al 100. 100 es la calidad más alta.",
                                "type": "integer"
                              },
                              "type": {
                                "enum": [
                                  "screenshot"
                                ],
                                "type": "string"
                              },
                              "viewport": {
                                "properties": {
                                  "height": {
                                    "description": "Altura del viewport en píxeles",
                                    "type": "integer"
                                  },
                                  "width": {
                                    "description": "El ancho del viewport en píxeles",
                                    "type": "integer"
                                  }
                                },
                                "required": [
                                  "width",
                                  "height"
                                ],
                                "type": "object"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Screenshot",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "prompt": {
                                "description": "El prompt que se utilizará para la salida en formato JSON",
                                "type": "string"
                              },
                              "schema": {
                                "description": "El esquema que se utilizará para la salida en formato JSON. Debe ajustarse a [JSON Schema](https://json-schema.org/).",
                                "type": "object"
                              },
                              "type": {
                                "enum": [
                                  "json"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "JSON",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "modes": {
                                "description": "El modo que se usará para el seguimiento de cambios. 'git-diff' proporciona un diff detallado y 'json' compara los datos JSON extraídos.",
                                "items": {
                                  "enum": [
                                    "git-diff",
                                    "json"
                                  ],
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "prompt": {
                                "description": "Prompt que se usará para el seguimiento de cambios cuando se utilice el modo `json`. Si no se proporciona, se usará el prompt predeterminado.",
                                "type": "string"
                              },
                              "schema": {
                                "description": "Esquema JSON para la extracción cuando se usa el modo `json`. Define la estructura de los datos que se van a extraer y comparar. Debe ajustarse a [JSON Schema](https://json-schema.org/).",
                                "type": "object"
                              },
                              "tag": {
                                "default": null,
                                "description": "Etiqueta que se utilizará para el seguimiento de cambios. Las etiquetas pueden separar el historial de seguimiento de cambios en “ramas” independientes, donde el seguimiento de cambios con una etiqueta específica solo se comparará con extracciones realizadas con la misma etiqueta. Si no se proporciona, se usará la etiqueta predeterminada (null).",
                                "nullable": true,
                                "type": "string"
                              },
                              "type": {
                                "enum": [
                                  "changeTracking"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Change Tracking",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "branding"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Branding",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "product"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Product",
                            "type": "object"
                          },
                          {
                            "properties": {
                              "type": {
                                "enum": [
                                  "menu"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Menu",
                            "type": "object"
                          },
                          {
                            "description": "Extrae audio (MP3) de URLs de video compatibles, p. ej., YouTube. Devuelve una URL firmada de GCS.",
                            "properties": {
                              "type": {
                                "enum": [
                                  "audio"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Audio",
                            "type": "object"
                          },
                          {
                            "description": "Extrae video en la mejor calidad de URLs de video compatibles, p. ej., YouTube. Devuelve una URL firmada de GCS.",
                            "properties": {
                              "type": {
                                "enum": [
                                  "video"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "title": "Video",
                            "type": "object"
                          },
                          {
                            "description": "Haz una question en lenguaje natural sobre la página. Devuelve la respuesta en el campo `answer` de la respuesta.",
                            "properties": {
                              "question": {
                                "description": "La question que se debe responder sobre la página. Máximo 10.000 caracteres.",
                                "maxLength": 10000,
                                "type": "string"
                              },
                              "type": {
                                "enum": [
                                  "question"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "question"
                            ],
                            "title": "Question",
                            "type": "object"
                          },
                          {
                            "description": "Encuentra texto fuente relevante en la página. Devuelve el texto seleccionado en el campo `highlights` de la respuesta.",
                            "properties": {
                              "query": {
                                "description": "La consulta de selección de texto que se ejecutará en la página. Máximo 10.000 caracteres.",
                                "maxLength": 10000,
                                "type": "string"
                              },
                              "type": {
                                "enum": [
                                  "highlights"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type",
                              "query"
                            ],
                            "title": "Highlights",
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "headers": {
                      "description": "Encabezados que se enviarán en la solicitud. Pueden usarse para enviar cookies, user-agent, etc.",
                      "type": "object"
                    },
                    "includeTags": {
                      "description": "Etiquetas que se incluirán en la salida.",
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "location": {
                      "description": "Configuración de ubicación para la solicitud. Cuando se especifica, se utilizará un proxy adecuado si está disponible y se emularán la configuración de idioma y la zona horaria correspondientes. De manera predeterminada será \"US\" si no se especifica.",
                      "properties": {
                        "country": {
                          "default": "US",
                          "description": "Código de país alfa-2 según ISO 3166-1 (p. ej., 'US', 'AU', 'DE', 'JP')",
                          "pattern": "^[A-Z]{2}$",
                          "type": "string"
                        },
                        "languages": {
                          "description": "Idiomas y configuraciones regionales preferidos para la solicitud, en orden de prioridad. De forma predeterminada, se utiliza el idioma de la ubicación especificada. Consulta https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language",
                          "items": {
                            "example": "en-US",
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object"
                    },
                    "lockdown": {
                      "default": false,
                      "description": "Si es true, la solicitud se atiende únicamente desde la caché de Firecrawl y nunca se realiza una solicitud saliente a la URL de destino. Está diseñado para entornos con requisitos estrictos de cumplimiento o aislados de redes externas, donde la propia solicitud de scraping podría filtrar información sensible. Si no hay una entrada en caché, devuelve un 404 con el código de error SCRAPE_LOCKDOWN_CACHE_MISS (la URL nunca se registra cuando no hay una entrada en caché). Las solicitudes de Lockdown se consideran de retención de datos cero. El valor predeterminado de maxAge se amplía a 2 años para que las páginas ya almacenadas en caché sigan siendo aptas. Se facturan 5 créditos en caso de acierto de caché y 1 crédito en caso de fallo de caché.",
                      "type": "boolean"
                    },
                    "maxAge": {
                      "default": 172800000,
                      "description": "Devuelve una versión en caché de la página si su antigüedad es menor que este valor en milisegundos. Si la versión en caché de la página es más antigua que este valor, se hará scraping de la página. Si no necesitas datos extremadamente recientes, habilitar esto puede acelerar tus procesos de scraping hasta un 500 %. El valor predeterminado es de 2 días.",
                      "type": "integer"
                    },
                    "minAge": {
                      "description": "<[\n  {\n    \"key\": \"0\",\n    \"translation\": \"Cuando se establece, la solicitud solo consulta la caché y nunca inicia una nueva extracción. El valor se expresa en milisegundos y especifica la antigüedad mínima que deben tener los datos almacenados en caché. Si existen datos en caché que coinciden, se devuelven al instante. Si no se encuentran datos en caché, se devuelve un 404 con el código de error SCRAPE_NO_CACHED_DATA. Establécelo en 1 para aceptar cualquier dato en caché, independientemente de su antigüedad.\"\n  }\n]</>",
                      "type": "integer"
                    },
                    "mobile": {
                      "default": false,
                      "description": "Defínelo en true si quieres emular el scraping desde un dispositivo móvil. Útil para probar páginas responsive y tomar capturas de pantalla móviles.",
                      "type": "boolean"
                    },
                    "onlyCleanContent": {
                      "default": false,
                      "description": "Beta. Ejecuta una pasada adicional basada en LLM sobre el markdown generado para eliminar el contenido repetitivo residual que `onlyMainContent` puede pasar por alto (banners de cookies, bloques de anuncios, widgets para compartir en redes sociales, rutas de navegación, suscripciones a boletines, secciones de comentarios y listas de artículos relacionados). Se conservan los encabezados, las listas, las tablas, los bloques de código, las referencias de imágenes y los enlaces en línea. Puede combinarse con `onlyMainContent` (la configuración más habitual) o usarse por sí solo. Se omite con una advertencia cuando el markdown supera el límite de tokens de salida del modelo de limpieza (se conserva el markdown original). No es compatible con solicitudes con retención cero de datos.",
                      "type": "boolean"
                    },
                    "onlyMainContent": {
                      "default": true,
                      "description": "Devuelve solo el contenido principal de la página, excluyendo encabezados, navegación, pies de página, etc. Es un filtro determinista a nivel de HTML que se aplica antes de generar el markdown; no interviene ningún LLM.",
                      "type": "boolean"
                    },
                    "parsers": {
                      "default": [
                        "pdf"
                      ],
                      "description": "Controla cómo se procesan los archivos durante el scraping. Cuando se incluye \"pdf\" (valor predeterminado), se extrae el contenido del PDF y se convierte a formato Markdown, con la facturación basada en el número de páginas (1 crédito por página). Cuando se pasa un array vacío, el archivo PDF se devuelve codificado en base64 con una tarifa fija de 1 crédito por todo el PDF.",
                      "items": {
                        "oneOf": [
                          {
                            "additionalProperties": false,
                            "properties": {
                              "maxPages": {
                                "description": "Número máximo de páginas del PDF que se pueden analizar. Debe ser un número entero positivo de hasta 10 000.",
                                "maximum": 10000,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "mode": {
                                "default": "auto",
                                "description": "Modo de procesamiento de PDF. \"fast\": solo extracción de texto (usa el texto incrustado; es la opción más rápida). \"auto\" (predeterminado): primero intenta la extracción rápida y, si es necesario, recurre a OCR. \"ocr\": fuerza el procesamiento con OCR en todas las páginas.",
                                "enum": [
                                  "fast",
                                  "auto",
                                  "ocr"
                                ],
                                "type": "string"
                              },
                              "type": {
                                "enum": [
                                  "pdf"
                                ],
                                "type": "string"
                              }
                            },
                            "required": [
                              "type"
                            ],
                            "type": "object"
                          }
                        ]
                      },
                      "type": "array"
                    },
                    "profile": {
                      "description": "Habilita el almacenamiento persistente del navegador entre sesiones de scraping e interacción. Pasa un perfil al hacer scraping para conservar las cookies, localStorage y los datos de sesión. Las sesiones con el mismo nombre de perfil comparten el estado del navegador.",
                      "properties": {
                        "name": {
                          "description": "Un nombre para el perfil. Los scraping con el mismo nombre comparten el estado del navegador (cookies, localStorage y sesiones).",
                          "maxLength": 128,
                          "minLength": 1,
                          "type": "string"
                        },
                        "saveChanges": {
                          "default": true,
                          "description": "Cuando es true, el estado del navegador se vuelve a guardar en el perfil cuando se detiene la sesión de interacción. Establécelo en false para cargar los datos existentes sin escribir. Solo se permite una sesión de guardado a la vez.",
                          "type": "boolean"
                        }
                      },
                      "required": [
                        "name"
                      ],
                      "type": "object"
                    },
                    "proxy": {
                      "default": "auto",
                      "description": "Especifica el tipo de proxy que se usará.\n\n - **basic**: Proxies para hacer scraping de sitios con poca o ninguna protección antibots. Son rápidos y suelen funcionar bien.\n - **enhanced**: Proxies avanzados para hacer scraping de sitios con soluciones antibots más sofisticadas. Son más lentos, pero más fiables en ciertos sitios. Pueden costar hasta 5 créditos por solicitud.\n - **auto**: Firecrawl reintentará automáticamente el scraping con proxies mejorados si el proxy básico falla. Si el reintento con **enhanced** tiene éxito, se cobrarán 5 créditos por el scraping. Si el primer intento con **basic** tiene éxito, solo se cobrará el coste normal.",
                      "enum": [
                        "basic",
                        "enhanced",
                        "auto"
                      ],
                      "type": "string"
                    },
                    "redactPII": {
                      "default": false,
                      "description": "Redacta la información de identificación personal del markdown devuelto. Pasa `true` para usar la configuración predeterminada, o un objeto para ajustar el modo, las entidades y el estilo de reemplazo.",
                      "oneOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "additionalProperties": false,
                          "description": "Opciones de ajuste para la redacción de IIP.",
                          "properties": {
                            "entities": {
                              "description": "Restringe la redacción a estas categorías de entidades. Si se omite, se redactan todas las entidades compatibles.",
                              "items": {
                                "description": "Categorías públicas de entidades de IIP compatibles con la redacción de Firecrawl.",
                                "enum": [
                                  "PERSON",
                                  "EMAIL",
                                  "PHONE",
                                  "LOCATION",
                                  "FINANCIAL",
                                  "SECRET"
                                ],
                                "type": "string"
                              },
                              "type": "array"
                            },
                            "mode": {
                              "default": "accurate",
                              "description": "Estrategia de redacción. `accurate` usa solo el modelo y está optimizada para la precisión, `aggressive` aumenta la cobertura con heurísticas adicionales, y `fast` usa heurísticas sin llamar al modelo.",
                              "enum": [
                                "accurate",
                                "aggressive",
                                "fast"
                              ],
                              "type": "string"
                            },
                            "replaceStyle": {
                              "default": "tag",
                              "description": "`tag` reemplaza los fragmentos por marcadores como `<EMAIL>`, `mask` reemplaza los caracteres por `*` y `remove` elimina el texto del fragmento.",
                              "enum": [
                                "tag",
                                "mask",
                                "remove"
                              ],
                              "type": "string"
                            }
                          },
                          "type": "object"
                        }
                      ]
                    },
                    "removeBase64Images": {
                      "default": true,
                      "description": "Elimina todas las imágenes en base64 de la salida en markdown, que puede ser excesivamente larga. Esto no afecta a los formatos html ni rawHtml. El texto alternativo de la imagen permanece en la salida, pero la URL se sustituye por un marcador de posición.",
                      "type": "boolean"
                    },
                    "skipTlsVerification": {
                      "default": true,
                      "description": "Omitir la verificación de certificados TLS al realizar solicitudes.",
                      "type": "boolean"
                    },
                    "storeInCache": {
                      "default": true,
                      "description": "Si es true, la página se almacenará en el índice y la caché de Firecrawl. Establecerlo en false es útil si tu actividad de scraping puede plantear problemas relacionados con la protección de datos. El uso de algunos parámetros asociados con scraping de datos sensibles (por ejemplo, acciones, headers) hará que este parámetro sea false.",
                      "type": "boolean"
                    },
                    "threatProtection": {
                      "description": "Anulación por solicitud de [Protección contra amenazas](https://docs.firecrawl.dev/features/threat-protection). Los campos que proporciones reemplazan los campos correspondientes de la política de tu organización solo para esta solicitud; los campos omitidos conservan sus valores a nivel de organización. Requiere que Protección contra amenazas esté habilitada para tu equipo (función enterprise); de lo contrario, la solicitud se rechaza con un 403. Si tu organización ha deshabilitado las anulaciones por solicitud, cualquier solicitud que incluya este objeto se rechaza con un 403. Si Protección contra amenazas se aplica de forma obligatoria a tu equipo, `mode` no puede establecerse en `off`.",
                      "properties": {
                        "blacklist": {
                          "description": "Dominios que siempre se deben bloquear, como dominios simples (`example.com`) o patrones con comodines (`*.example.com`). Sin protocolo, ruta ni puerto.",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 1000,
                          "type": "array"
                        },
                        "blockedTlds": {
                          "description": "Dominios de nivel superior que se bloquean directamente, en minúsculas y sin el punto inicial (p. ej., `zip`).",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 1000,
                          "type": "array"
                        },
                        "failurePolicy": {
                          "description": "Qué hacer cuando no se puede acceder al clasificador: `closed` bloquea la solicitud; `open` la permite.",
                          "enum": [
                            "open",
                            "closed"
                          ],
                          "type": "string"
                        },
                        "mode": {
                          "description": "Modo de análisis de URL para esta solicitud. `normal` verifica las URL con Google Web Risk (+2 créditos por URL analizada).",
                          "enum": [
                            "off",
                            "normal"
                          ],
                          "type": "string"
                        },
                        "riskScoreThreshold": {
                          "description": "Puntuación de riesgo normalizada (0–100) a partir de la cual el veredicto de un clasificador bloquea la URL. Cuanto más bajo, más estricto.",
                          "example": 75,
                          "maximum": 100,
                          "minimum": 0,
                          "type": "integer"
                        },
                        "whitelist": {
                          "description": "Dominios que siempre se deben permitir, como dominios simples o patrones con comodines. Tiene prioridad sobre cualquier otra regla.",
                          "items": {
                            "type": "string"
                          },
                          "maxItems": 1000,
                          "type": "array"
                        }
                      },
                      "title": "Threat Protection Override",
                      "type": "object"
                    },
                    "timeout": {
                      "default": 60000,
                      "description": "Tiempo de espera en milisegundos para la solicitud. El mínimo es 1000 (1 segundo). El valor predeterminado es 60000 (60 segundos). El máximo es 300000 (300 segundos).",
                      "maximum": 300000,
                      "minimum": 1000,
                      "type": "integer"
                    },
                    "waitFor": {
                      "default": 0,
                      "description": "Especifica un tiempo de espera en milisegundos antes de obtener el contenido, dando a la página tiempo suficiente para cargarse. Este tiempo de espera es adicional a la función de espera inteligente de Firecrawl.",
                      "type": "integer"
                    }
                  },
                  "type": "object"
                }
              ],
              "default": {},
              "description": "Opciones para scrapear resultados de búsqueda"
            },
            "sources": {
              "default": [
                "web"
              ],
              "description": "Fuentes en las que buscar. Determinarán los arrays disponibles en la respuesta. Por defecto es ['web'].",
              "items": {
                "oneOf": [
                  {
                    "properties": {
                      "location": {
                        "description": "Parámetro de ubicación para los resultados de búsqueda",
                        "type": "string"
                      },
                      "tbs": {
                        "description": "Parámetro de búsqueda por tiempo. Admite rangos de tiempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`), rangos de fechas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) y ordenación por fecha (`sbd:1`). Los valores se pueden combinar, p. ej. `sbd:1,qdr:w`.",
                        "type": "string"
                      },
                      "type": {
                        "enum": [
                          "web"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "Web",
                    "type": "object"
                  },
                  {
                    "properties": {
                      "type": {
                        "enum": [
                          "images"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "Images",
                    "type": "object"
                  },
                  {
                    "properties": {
                      "type": {
                        "enum": [
                          "news"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "type"
                    ],
                    "title": "News",
                    "type": "object"
                  }
                ]
              },
              "type": "array"
            },
            "tbs": {
              "description": "Parámetro de búsqueda por tiempo. Admite rangos de tiempo predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`), rangos de fechas personalizados (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) y ordenación por fecha (`sbd:1`). Los valores se pueden combinar, p. ej. `sbd:1,qdr:w`.",
              "type": "string"
            },
            "threatProtection": {
              "description": "Anulación por solicitud de [Protección contra amenazas](https://docs.firecrawl.dev/features/threat-protection). Los campos que proporciones reemplazan los campos correspondientes de la política de tu organización solo para esta solicitud; los campos omitidos conservan sus valores a nivel de organización. Requiere que Protección contra amenazas esté habilitada para tu equipo (función enterprise); de lo contrario, la solicitud se rechaza con un 403. Si tu organización ha deshabilitado las anulaciones por solicitud, cualquier solicitud que incluya este objeto se rechaza con un 403. Si Protección contra amenazas se aplica de forma obligatoria a tu equipo, `mode` no puede establecerse en `off`.",
              "properties": {
                "blacklist": {
                  "description": "Dominios que siempre se deben bloquear, como dominios simples (`example.com`) o patrones con comodines (`*.example.com`). Sin protocolo, ruta ni puerto.",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 1000,
                  "type": "array"
                },
                "blockedTlds": {
                  "description": "Dominios de nivel superior que se bloquean directamente, en minúsculas y sin el punto inicial (p. ej., `zip`).",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 1000,
                  "type": "array"
                },
                "failurePolicy": {
                  "description": "Qué hacer cuando no se puede acceder al clasificador: `closed` bloquea la solicitud; `open` la permite.",
                  "enum": [
                    "open",
                    "closed"
                  ],
                  "type": "string"
                },
                "mode": {
                  "description": "Modo de análisis de URL para esta solicitud. `normal` verifica las URL con Google Web Risk (+2 créditos por URL analizada).",
                  "enum": [
                    "off",
                    "normal"
                  ],
                  "type": "string"
                },
                "riskScoreThreshold": {
                  "description": "Puntuación de riesgo normalizada (0–100) a partir de la cual el veredicto de un clasificador bloquea la URL. Cuanto más bajo, más estricto.",
                  "example": 75,
                  "maximum": 100,
                  "minimum": 0,
                  "type": "integer"
                },
                "whitelist": {
                  "description": "Dominios que siempre se deben permitir, como dominios simples o patrones con comodines. Tiene prioridad sobre cualquier otra regla.",
                  "items": {
                    "type": "string"
                  },
                  "maxItems": 1000,
                  "type": "array"
                }
              },
              "title": "Threat Protection Override",
              "type": "object"
            },
            "timeout": {
              "default": 60000,
              "description": "Tiempo de espera en milisegundos",
              "type": "integer"
            }
          },
          "required": [
            "query"
          ],
          "type": "object"
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "creditsUsed": {
                "description": "El número de créditos consumidos en la búsqueda",
                "type": "integer"
              },
              "data": {
                "description": "Los resultados de la búsqueda. Los arrays disponibles dependerán de las fuentes que especifiques en la solicitud. De forma predeterminada, se devolverá el array `web`.",
                "properties": {
                  "images": {
                    "items": {
                      "properties": {
                        "imageHeight": {
                          "description": "Altura de la imagen",
                          "type": "integer"
                        },
                        "imageUrl": {
                          "description": "URL de la imagen",
                          "type": "string"
                        },
                        "imageWidth": {
                          "description": "Ancho de la imagen",
                          "type": "integer"
                        },
                        "position": {
                          "description": "Posición del resultado de la búsqueda",
                          "type": "integer"
                        },
                        "title": {
                          "description": "Título del resultado de la búsqueda",
                          "type": "string"
                        },
                        "url": {
                          "description": "URL del resultado de la búsqueda",
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "news": {
                    "items": {
                      "properties": {
                        "audio": {
                          "description": "URL firmada del archivo de audio MP3 extraído si `audio` está en `formatos`. La URL firmada caduca al cabo de 1 hora.",
                          "nullable": true,
                          "type": "string"
                        },
                        "date": {
                          "description": "Fecha del artículo",
                          "type": "string"
                        },
                        "html": {
                          "description": "Contenido HTML si se solicita en los formatos",
                          "nullable": true,
                          "type": "string"
                        },
                        "imageUrl": {
                          "description": "URL de la imagen del artículo",
                          "type": "string"
                        },
                        "links": {
                          "description": "Enlaces encontrados si se solicitan en los formatos",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "markdown": {
                          "description": "Contenido en Markdown si se solicitó scraping",
                          "nullable": true,
                          "type": "string"
                        },
                        "metadata": {
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "error": {
                              "nullable": true,
                              "type": "string"
                            },
                            "numPages": {
                              "description": "Para entradas PDF, el número de páginas procesadas (limitado por la opción maxPages de los analizadores).",
                              "type": "integer"
                            },
                            "sourceURL": {
                              "description": "La URL original solicitada. Puede diferir de la URL final de la página si hubo redirecciones.",
                              "type": "string"
                            },
                            "statusCode": {
                              "type": "integer"
                            },
                            "title": {
                              "type": "string"
                            },
                            "totalPages": {
                              "description": "Para entradas PDF, el número real de páginas del documento antes de que se aplique cualquier límite de maxPages. Se omite cuando no puede determinarse; un totalPages mayor que numPages indica que el resultado se truncó.",
                              "type": "integer"
                            },
                            "url": {
                              "description": "La URL final de la página después de seguir todas las redirecciones.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "position": {
                          "description": "Posición del artículo",
                          "type": "integer"
                        },
                        "rawHtml": {
                          "description": "Contenido HTML sin procesar si se solicita en los formatos",
                          "nullable": true,
                          "type": "string"
                        },
                        "screenshot": {
                          "description": "URL de la captura de pantalla si se solicita en los formatos. Las capturas de pantalla caducan después de 24 horas y dejan de estar disponibles para su descarga.",
                          "nullable": true,
                          "type": "string"
                        },
                        "snippet": {
                          "description": "Extracto del artículo",
                          "type": "string"
                        },
                        "title": {
                          "description": "Título del artículo",
                          "type": "string"
                        },
                        "url": {
                          "description": "URL del artículo",
                          "type": "string"
                        },
                        "video": {
                          "description": "URL firmada del archivo de vídeo extraído si `video` está en `formats`. La URL firmada caduca al cabo de 1 hora.",
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "web": {
                    "items": {
                      "properties": {
                        "audio": {
                          "description": "URL firmada del archivo de audio MP3 extraído si `audio` está en `formatos`. La URL firmada caduca al cabo de 1 hora.",
                          "nullable": true,
                          "type": "string"
                        },
                        "description": {
                          "description": "Descripción del resultado de la búsqueda",
                          "type": "string"
                        },
                        "html": {
                          "description": "Contenido HTML si se solicita en los formatos",
                          "nullable": true,
                          "type": "string"
                        },
                        "links": {
                          "description": "Enlaces encontrados si se solicitan en los formatos correspondientes",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "markdown": {
                          "description": "Contenido en formato Markdown si se solicitó scraping",
                          "nullable": true,
                          "type": "string"
                        },
                        "metadata": {
                          "properties": {
                            "description": {
                              "type": "string"
                            },
                            "error": {
                              "nullable": true,
                              "type": "string"
                            },
                            "numPages": {
                              "description": "Para entradas PDF, el número de páginas procesadas (limitado por la opción maxPages de los analizadores).",
                              "type": "integer"
                            },
                            "sourceURL": {
                              "description": "La URL original solicitada. Puede diferir de la URL final de la página si hubo redirecciones.",
                              "type": "string"
                            },
                            "statusCode": {
                              "type": "integer"
                            },
                            "title": {
                              "type": "string"
                            },
                            "totalPages": {
                              "description": "Para entradas PDF, el número real de páginas del documento antes de que se aplique cualquier límite de maxPages. Se omite cuando no puede determinarse; un totalPages mayor que numPages indica que el resultado se truncó.",
                              "type": "integer"
                            },
                            "url": {
                              "description": "La URL final de la página después de seguir todas las redirecciones.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "rawHtml": {
                          "description": "Contenido HTML sin procesar cuando se solicite en formatos",
                          "nullable": true,
                          "type": "string"
                        },
                        "screenshot": {
                          "description": "URL de la captura de pantalla si se solicita en los formatos. Las capturas de pantalla caducan después de 24 horas y después ya no se pueden descargar.",
                          "nullable": true,
                          "type": "string"
                        },
                        "title": {
                          "description": "Título del resultado de la búsqueda",
                          "type": "string"
                        },
                        "url": {
                          "description": "URL del resultado de la búsqueda",
                          "type": "string"
                        },
                        "video": {
                          "description": "URL firmada del archivo de vídeo extraído si `video` está en `formats`. La URL firmada caduca al cabo de 1 hora.",
                          "nullable": true,
                          "type": "string"
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  }
                },
                "type": "object"
              },
              "id": {
                "description": "El ID de la tarea de búsqueda",
                "type": "string"
              },
              "success": {
                "type": "boolean"
              },
              "warning": {
                "description": "Mensaje de advertencia si ocurre algún problema",
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Respuesta satisfactoria"
    },
    "408": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Request timed out",
                "type": "string"
              },
              "success": {
                "example": false,
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Tiempo de espera de la solicitud agotado"
    },
    "500": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "code": {
                "example": "UNKNOWN_ERROR",
                "type": "string"
              },
              "error": {
                "example": "An unexpected error occurred on the server.",
                "type": "string"
              },
              "success": {
                "example": false,
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Error del servidor"
    }
  }
}
```
