> For the complete documentation index, see [llms.txt](https://developers.oxylabs.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.oxylabs.io/api-reference/es/scrapers-dedicados/scrapers-de-motores-de-busqueda.md).

# Scrapers de motores de búsqueda

Referencia de los endpoints scraper de Google y Bing de la Web API: parámetros y modos de entrega para cada endpoint.

<table><thead><tr><th width="108">Scraper</th><th>Puntos de conexión</th></tr></thead><tbody><tr><td><a href="#google">Google</a></td><td><code>/google/search</code>, <code>/google/ads</code>, <code>/google/aimode</code>, <code>/google/shopping/search</code>, <code>/google/shopping/product</code>, <code>/google/maps</code>, <code>/google/travel/hotels</code>, <code>/google/lens</code>, <code>/google/trends/explore</code>, <code>/google</code></td></tr><tr><td><a href="#bing">Bing</a></td><td><code>/bing/search</code>, <code>/bing</code></td></tr></tbody></table>

### Google

#### `POST /v1/scrape/google/search`

Devuelve resultados orgánicos, anuncios y las funciones de la SERP que aparecieron para una consulta.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="157.5">Nombre</th><th width="98.5">Tipo</th><th width="89">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Frase de búsqueda, como la escribiría un usuario</td></tr><tr><td><code>aomd</code></td><td>cadena</td><td>no</td><td>No documentado por Google. Se reenvía tal cual</td></tr><tr><td><code>cr</code></td><td>cadena</td><td>no</td><td>Restricción de país. Se reenvía textualmente</td></tr><tr><td><code>disable_scripts</code></td><td>booleano</td><td>no</td><td>Bloquea los scripts de la página</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>expand_aio</code></td><td>booleano</td><td>no</td><td>Expande el bloque de AI Overview en lugar de devolverlo contraído</td></tr><tr><td><code>filter</code></td><td>entero</td><td>no</td><td>Filtro de contenido duplicado de Google. <code>0</code> lo desactiva y devuelve resultados casi duplicados</td></tr><tr><td><code>fpstate</code></td><td>cadena</td><td>no</td><td>Estado de la página. Se reenvía textualmente</td></tr><tr><td><code>limit_per_page</code></td><td>matriz de objetos</td><td>no</td><td>Recuentos de resultados por página, p. ej. <code>[{"page": 1, "limit": 20}]</code>. Úselo en lugar de <code>pages</code> cuando solo importa la página 1</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>nfpr</code></td><td>cadena</td><td>no</td><td>Suprime la autocorrección ortográfica de Google</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>results_language</code></td><td>cadena</td><td>no</td><td>Restringe los resultados a un idioma, p. ej. <code>lt</code>. Filtra, no traduce</td></tr><tr><td><code>safe_search</code></td><td>booleano</td><td>no</td><td>Filtro SafeSearch de Google. Aquí un booleano, en Bing una cadena</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>tbm</code></td><td>cadena</td><td>no</td><td>Vertical de búsqueda: imágenes, compras, vídeo, libros. Se reenvía textualmente</td></tr><tr><td><code>tbs</code></td><td>cadena</td><td>no</td><td>Filtros de tiempo y calidad, p. ej. últimas 24 horas. Se reenvía textualmente</td></tr><tr><td><code>udm</code></td><td>cadena</td><td>no</td><td>Selector del modo de interfaz de Google. Se reenvía textualmente</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/ads`

Devuelve solo el bloque de pago: anunciantes, orden y texto del anuncio.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="159">Nombre</th><th width="96.5">Tipo</th><th width="91.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Frase de búsqueda para la que se obtienen los anuncios</td></tr><tr><td><code>adstest</code></td><td>booleano</td><td>no</td><td>Devuelve anuncios de la red de prueba de Google en lugar del inventario en vivo</td></tr><tr><td><code>disable_scripts</code></td><td>booleano</td><td>no</td><td>Bloquea los scripts de la página</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>expand_aio</code></td><td>booleano</td><td>no</td><td>Expande el bloque de AI Overview en lugar de devolverlo contraído</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/aimode`

Devuelve la respuesta de AI Mode de Google, separada del AI Overview devuelto por `/google/search`.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="134.5">Nombre</th><th width="96">Tipo</th><th width="94">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>La pregunta que hacer a Google AI Mode</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>sí</td><td>Requerido: <code>true</code></td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

Las respuestas pueden diferir entre solicitudes idénticas.

#### `POST /v1/scrape/google/shopping/search`

Devuelve listados de Google Shopping con precios.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="132">Nombre</th><th width="104.5">Tipo</th><th width="93">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Frase de búsqueda</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>limit</code></td><td>entero</td><td>no</td><td>Número de resultados a devolver</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>max_price</code></td><td>entero</td><td>no</td><td>Precio máximo a incluir, en la moneda de la tienda</td></tr><tr><td><code>min_price</code></td><td>entero</td><td>no</td><td>Precio mínimo a incluir, en la moneda de la tienda</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>sort_by</code></td><td>cadena</td><td>no</td><td><code>r</code> relevancia (predeterminado), <code>rv</code> valoración de mayor a menor, <code>p</code> precio de menor a mayor, <code>pd</code> precio de mayor a menor</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>tbs</code></td><td>cadena</td><td>no</td><td>Filtros de tiempo y calidad, p. ej. últimas 24 horas. Se reenvía textualmente</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/shopping/product`

Devuelve un producto de Google Shopping.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="134.5">Nombre</th><th width="94">Tipo</th><th width="93.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>ID del producto de compras</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/maps`

Devuelve listados locales de Google Maps.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="161">Nombre</th><th width="95">Tipo</th><th width="93.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Frase de búsqueda de lugar o categoría, p. ej. <code>dentist vilnius</code></td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>hotel_dates</code></td><td>cadena</td><td>no</td><td>Fechas de estancia. Sin ellas, se usa la ventana de estancia predeterminada de Google</td></tr><tr><td><code>hotel_occupancy</code></td><td>entero</td><td>no</td><td>Huéspedes en la habitación</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Requerido con <code>output: ["json"]</code> — este endpoint no tiene analizador integrado. <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/travel/hotels`

Devuelve listados de hoteles con precios para las fechas y ocupación dadas.

{% hint style="success" %}
**Para obtener detalles y precios de sitios de reserva de un solo hotel**, envíe la URL del hotel de Google Travel con el `property_token` valor devuelto (p. ej. `https://www.google.com/travel/hotels/entity/<property_token>`) a [`POST /v1/scrape/google`](#post-v1-scrape-google) con `output: ["json"]`. Usa el analizador integrado sin `JSON` prompt ni esquema necesarios.
{% endhint %}

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="146.5">Nombre</th><th width="104">Tipo</th><th width="95">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Nombre del hotel o destino</td></tr><tr><td><code>adults</code></td><td>entero</td><td>no</td><td>Huéspedes adultos</td></tr><tr><td><code>children</code></td><td>entero</td><td>no</td><td>Huéspedes niños</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Google para buscar: <code>com</code>, <code>co.uk</code>, <code>de</code>. Selecciona el índice nacional</td></tr><tr><td><code>hotel_classes</code></td><td>matriz de enteros</td><td>no</td><td>Clasificaciones por estrellas a incluir, p. ej. <code>[4, 5]</code></td></tr><tr><td><code>hotel_dates</code></td><td>cadena</td><td>no</td><td>Fechas de estancia. Sin ellas, se usa la ventana de estancia predeterminada de Google</td></tr><tr><td><code>hotel_occupancy</code></td><td>entero</td><td>no</td><td>Huéspedes en la habitación</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/lens`

Devuelve resultados de coincidencia visual para una URL de imagen.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="132">Nombre</th><th width="98">Tipo</th><th width="99">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>URL de imagen a coincidir. No es texto de búsqueda</td></tr><tr><td><code>keywords</code></td><td>cadena</td><td>no</td><td>Pista de texto para acotar las coincidencias visuales</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/google/trends/explore`

Devuelve el interés de búsqueda relativo a lo largo del tiempo para un término.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="135">Nombre</th><th width="93">Tipo</th><th width="97.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Término a graficar</td></tr><tr><td><code>category_id</code></td><td>cadena</td><td>no</td><td>ID de categoría de Google Trends</td></tr><tr><td><code>date_from</code></td><td>cadena</td><td>no</td><td>Inicio de la ventana, p. ej. <code>2026-01-01</code></td></tr><tr><td><code>date_to</code></td><td>cadena</td><td>no</td><td>Fin de la ventana, p. ej. <code>2026-06-30</code></td></tr><tr><td><code>search_type</code></td><td>cadena</td><td>no</td><td>Vertical de Trends, p. ej. web, imágenes, noticias, YouTube o compras</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Requerido con <code>output: ["json"]</code> — este endpoint no tiene analizador integrado. <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

Los valores de interés son relativos, normalizados dentro de la ventana solicitada: al ampliar `date_from` reescala cada punto.

#### `POST /v1/scrape/google`

Devuelve campos analizados de una página de Google a partir de una URL que proporcione.

{% hint style="info" %}
Este endpoint también puede recopilar y analizar **Viajes: hoteles** detalles. Véase [`/google/travel/hotels`](/api-reference/es/scrapers-dedicados/scrapers-de-motores-de-busqueda.md#post-v1-scrape-google-travel-hotels).
{% endhint %}

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="156.5">Nombre</th><th width="100.5">Tipo</th><th width="99.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>url</code></td><td>cadena</td><td>sí</td><td>Una URL de Google</td></tr><tr><td><code>adstest</code></td><td>booleano</td><td>no</td><td>Devuelve anuncios de la red de prueba de Google en lugar del inventario en vivo</td></tr><tr><td><code>adults</code></td><td>entero</td><td>no</td><td>Huéspedes adultos</td></tr><tr><td><code>aomd</code></td><td>cadena</td><td>no</td><td>No documentado por Google. Se reenvía tal cual</td></tr><tr><td><code>category_id</code></td><td>cadena</td><td>no</td><td>ID de categoría de Google Trends</td></tr><tr><td><code>children</code></td><td>entero</td><td>no</td><td>Huéspedes niños</td></tr><tr><td><code>cr</code></td><td>cadena</td><td>no</td><td>Restricción de país. Se reenvía textualmente</td></tr><tr><td><code>date_from</code></td><td>cadena</td><td>no</td><td>Inicio de la ventana, p. ej. <code>2026-01-01</code></td></tr><tr><td><code>date_to</code></td><td>cadena</td><td>no</td><td>Fin de la ventana, p. ej. <code>2026-06-30</code></td></tr><tr><td><code>disable_scripts</code></td><td>booleano</td><td>no</td><td>Bloquea los scripts de la página</td></tr><tr><td><code>expand_aio</code></td><td>booleano</td><td>no</td><td>Expande el bloque de AI Overview en lugar de devolverlo contraído</td></tr><tr><td><code>filter</code></td><td>entero</td><td>no</td><td>Filtro de contenido duplicado de Google. <code>0</code> lo desactiva y devuelve resultados casi duplicados</td></tr><tr><td><code>fpstate</code></td><td>cadena</td><td>no</td><td>Estado de la página. Se reenvía textualmente</td></tr><tr><td><code>hotel_classes</code></td><td>matriz de enteros</td><td>no</td><td>Clasificaciones por estrellas a incluir, p. ej. <code>[4, 5]</code></td></tr><tr><td><code>hotel_dates</code></td><td>cadena</td><td>no</td><td>Fechas de estancia. Sin ellas, se usa la ventana de estancia predeterminada de Google</td></tr><tr><td><code>hotel_occupancy</code></td><td>entero</td><td>no</td><td>Huéspedes en la habitación</td></tr><tr><td><code>limit</code></td><td>entero</td><td>no</td><td>Número de resultados a devolver</td></tr><tr><td><code>limit_per_page</code></td><td>matriz de objetos</td><td>no</td><td>Recuentos de resultados por página, p. ej. <code>[{"page": 1, "limit": 20}]</code>. Úselo en lugar de <code>pages</code> cuando solo importa la página 1</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code>. Afecta la redacción de las funciones de la SERP, no el ranking</td></tr><tr><td><code>max_price</code></td><td>entero</td><td>no</td><td>Precio máximo a incluir, en la moneda de la tienda</td></tr><tr><td><code>min_price</code></td><td>entero</td><td>no</td><td>Precio mínimo a incluir, en la moneda de la tienda</td></tr><tr><td><code>nfpr</code></td><td>cadena</td><td>no</td><td>Suprime la autocorrección ortográfica de Google</td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>results_language</code></td><td>cadena</td><td>no</td><td>Restringe los resultados a un idioma, p. ej. <code>lt</code>. Filtra, no traduce</td></tr><tr><td><code>safe_search</code></td><td>booleano</td><td>no</td><td>Filtro SafeSearch de Google. Aquí un booleano, en Bing una cadena</td></tr><tr><td><code>search_type</code></td><td>cadena</td><td>no</td><td>Vertical de Trends, p. ej. web, imágenes, noticias, YouTube o compras</td></tr><tr><td><code>sort_by</code></td><td>cadena</td><td>no</td><td><code>r</code> relevancia (predeterminado), <code>rv</code> valoración de mayor a menor, <code>p</code> precio de menor a mayor, <code>pd</code> precio de mayor a menor</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>tbm</code></td><td>cadena</td><td>no</td><td>Vertical de búsqueda: imágenes, compras, vídeo, libros. Se reenvía textualmente</td></tr><tr><td><code>tbs</code></td><td>cadena</td><td>no</td><td>Filtros de tiempo y calidad, p. ej. últimas 24 horas. Se reenvía textualmente</td></tr><tr><td><code>udm</code></td><td>cadena</td><td>no</td><td>Selector del modo de interfaz de Google. Se reenvía textualmente</td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras del origen de la solicitud. Independiente de <code>domain</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

Establezca un parámetro en el cuerpo o en la cadena de consulta de la URL, no en ambos.

### Bing

#### `POST /v1/scrape/bing/search`

Devuelve resultados orgánicos de Bing para una consulta.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="139.5">Nombre</th><th width="93.5">Tipo</th><th width="97">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>query</code></td><td>cadena</td><td>sí</td><td>Frase de búsqueda</td></tr><tr><td><code>domain</code></td><td>cadena</td><td>no</td><td>TLD de Bing</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code></td></tr><tr><td><code>pages</code></td><td>entero</td><td>no</td><td>Páginas consecutivas desde las que obtener <code>start_page</code>. Cada página es una obtención y un cobro separados</td></tr><tr><td><code>safe_search</code></td><td>cadena</td><td>no</td><td>Nivel de SafeSearch. Aquí una cadena, en Google un booleano</td></tr><tr><td><code>start_page</code></td><td>entero</td><td>no</td><td>Primera página a obtener. Predeterminado <code>1</code></td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras desde el que obtener, p. ej. <code>DE</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>

#### `POST /v1/scrape/bing`

Devuelve campos analizados de una página de Bing a partir de una URL que proporcione.

**Modos:** `sincrónico`, `asíncrono`, `por lotes`

<table><thead><tr><th width="134">Nombre</th><th width="97.5">Tipo</th><th width="92.5">Requerido</th><th>Descripción</th></tr></thead><tbody><tr><td><code>url</code></td><td>cadena</td><td>sí</td><td>Una URL de Bing</td></tr><tr><td><code>locale</code></td><td>cadena</td><td>no</td><td>Idioma de la interfaz, p. ej. <code>en_US</code></td></tr><tr><td><code>output</code></td><td>matriz de cadenas</td><td>no</td><td>Formatos a devolver: <code>Markdown</code>, <code>HTML</code>, <code>JSON</code>, <code>captura de pantalla</code>. Predeterminado <code>["html"]</code>. <code>JSON</code> devuelve los campos analizados. <code>captura de pantalla</code> requiere <code>run_js: true</code></td></tr><tr><td><code>JSON</code></td><td>objeto</td><td>no</td><td>Extracción personalizada: <code>{"prompt": string}</code> o <code>{"schema": object}</code>, nunca ambos. Anula el analizador integrado</td></tr><tr><td><code>location</code></td><td>cadena</td><td>no</td><td>Código de país de dos letras desde el que obtener, p. ej. <code>DE</code></td></tr><tr><td><code>device</code></td><td>cadena</td><td>no</td><td><code>escritorio</code> (predeterminado) o <code>móvil</code></td></tr><tr><td><code>run_js</code></td><td>booleano</td><td>no</td><td>Ejecuta el JavaScript de la página antes de capturar. Más lento — use un tiempo de espera del cliente de 120 segundos o más</td></tr><tr><td><code>callback_url</code></td><td>cadena</td><td>no</td><td>URL de webhook para el trabajo finalizado. Solo asíncrono. Las URL mal formadas se rechazan con <code>400</code></td></tr><tr><td><code>storage</code></td><td>objeto</td><td>no</td><td>Entrega el resultado a un bucket en lugar de la respuesta: <code>{"type": string, "url": string}</code>. <code>tipo</code> es <code>s3</code>, <code>s3_gzip</code>, <code>s3_compatible</code>, <code>gcs</code>, o <code>tos</code>. Solo asíncrono. <code>url</code> no se valida</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developers.oxylabs.io/api-reference/es/scrapers-dedicados/scrapers-de-motores-de-busqueda.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
