> ## Documentation Index
> Fetch the complete documentation index at: https://docs.querying.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# API de página web a Markdown (WEB_SCRAPE)

> Lee una página web o un PDF y obtén su contenido principal en Markdown, con su título, metadatos e imágenes.

`WEB_SCRAPE` lee una página y devuelve su contenido principal en Markdown: títulos, párrafos, listas, tablas, enlaces e imágenes, sin la cabecera, el pie ni la navegación del sitio. Las páginas que dibuja un script, como las fichas de producto de una tienda, se renderizan antes de leerlas. Para leer un resultado de búsqueda, pasa un `link` de los `organicResults` de [`GOOGLE_SERP`](/es/engines/google-serp).

| | |
| - | - |
| `taskType` | `WEB_SCRAPE` |
| Entrada | `url` (obligatorio); `maxChars`, `country` |
| Créditos | 1 por tarea, incluido un PDF de varias páginas |
| País | `US`, o `KR` para las tiendas de Coupang y Olive Young, si no envías ninguno. |
| Ubicación | No admitida (`422 LOCATION_UNSUPPORTED`). |

## Solicitud

```bash theme={"theme":"css-variables"}
curl -X POST https://api.querying.ai/v1/async/task \
  -H "Authorization: Bearer $QUERYING_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "taskType": "WEB_SCRAPE", "payload": { "url": "https://www.example.com/guide", "maxChars": 50000 } }'
```

La tarea se ejecuta de forma asíncrona. Lee el resultado como se describe en [Tareas asíncronas](/es/concepts/async-tasks.md).

## Parámetros

| Campo | Obligatorio | Descripción |
| - | - | - |
| `url` | Sí | Una dirección `http` o `https` pública en el puerto por defecto, de hasta 2.048 caracteres. Las direcciones con credenciales, hosts privados o internos u otros puertos devuelven `422 VALIDATION_ERROR`. |
| `maxChars` | No | Limita `markdown`, un entero de 1.000 a 200.000. 100.000 por defecto. |
| `country` | No | El idioma y la región para los que se solicita la página. Si se omite, las tiendas de Coupang y Olive Young de Corea usan `KR` y las demás páginas usan `US`. |

## Respuesta

Por ejemplo:

```json theme={"theme":"css-variables"}
{
  "url": "https://www.example.com/guide",
  "finalUrl": "https://www.example.com/guide",
  "statusCode": 200,
  "title": "...",
  "description": "...",
  "author": "...",
  "publishedAt": "2026-09-12T07:36:36Z",
  "siteName": "...",
  "language": "en",
  "image": "https://...",
  "markdown": "# ...\n\n...\n\n![...](https://...)",
  "images": [{ "url": "https://...", "alt": "..." }],
  "truncated": false
}
```

| Campo | Descripción |
| - | - |
| `url` | La dirección que enviaste. |
| `finalUrl` | La dirección tras las redirecciones. |
| `statusCode` | El estado HTTP de la página leída. |
| `markdown` | El contenido principal. Nunca está vacío en una tarea completada. |
| `images` | Las imágenes de `markdown`, en el orden en que aparecen. |
| `truncated` | `true` cuando `markdown` se detuvo en `maxChars`. El corte cae en un salto de párrafo cuando es posible. |
| `title`, `description`, `author`, `publishedAt`, `siteName`, `language`, `image` | Presentes cuando la página los declara. |

## PDF

Se admiten HTML, texto plano y PDF con texto. Un PDF devuelve su texto en orden de páginas, su título, autor, asunto (como `description`) e idioma cuando existen, e `images: []`. No se admiten OCR, adjuntos ni reconstrucción del diseño.

| Límite de PDF | Valor |
| - | - |
| Tamaño de descarga | 8 MiB |
| Páginas | 100 |
| Texto extraído | 1.000.000 de caracteres |
| Tiempo de extracción | 20 segundos |

Se comprueba todo el documento independientemente de `maxChars`; solo se recorta el Markdown devuelto. Los PDF sin texto, cifrados, dañados, incompletos o que superan los límites fallan con `PAGE_UNAVAILABLE`.

## Límites y errores

* Una página que no se puede leer hace fallar la tarea con `PAGE_UNAVAILABLE` y el motivo: un formato no admitido, una página que responde 404 o 410, o un sitio que rechaza la petición.
* Una redirección a una dirección que incumple las reglas de `url` hace fallar la tarea. Las reglas se vuelven a comprobar en cada salto de redirección.
* `WEB_SCRAPE` ignora `markdown`, `rawResponse` y `searchQueries`. Rechaza `html` y `analysis` con `422` y `citationAnalysis` con `400`; consulta [flags no admitidos](/es/engines/response-options.md#flags-no-admitidos).
* Los demás errores de solicitud se enumeran en [Errores](/es/concepts/errors.md).

## Relacionado

* [Web crawl](/es/engines/web-crawl.md) para leer muchas páginas de un sitio
* [Web map](/es/engines/web-map.md) para listar primero las direcciones de un sitio


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.