> ## 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 conversion de page web en Markdown (WEB_SCRAPE)

> Lisez une page web ou un PDF et obtenez son contenu principal en Markdown, avec son titre, ses métadonnées et ses images.

`WEB_SCRAPE` lit une page et renvoie son contenu principal en Markdown : titres, paragraphes, listes, tableaux, liens et images, sans l'en-tête, le pied de page ni la navigation du site. Les pages qu'un script dessine, comme les fiches produit d'une boutique, sont rendues avant d'être lues. Pour lire un résultat de recherche, passez un `link` des `organicResults` de [`GOOGLE_SERP`](/fr/engines/google-serp).

| | |
| - | - |
| `taskType` | `WEB_SCRAPE` |
| Entrée | `url` (obligatoire) ; `maxChars`, `country` |
| Crédits | 1 par tâche, PDF de plusieurs pages compris |
| Pays | `US`, ou `KR` pour les boutiques Coupang et Olive Young, si vous n'en envoyez pas. |
| Position | Non prise en charge (`422 LOCATION_UNSUPPORTED`). |

## Requête

```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 tâche s'exécute de façon asynchrone. Lisez le résultat comme décrit dans [Tâches asynchrones](/fr/concepts/async-tasks.md).

## Paramètres

| Champ | Obligatoire | Description |
| - | - | - |
| `url` | Oui | Une adresse `http` ou `https` publique sur le port par défaut, jusqu'à 2 048 caractères. Les adresses avec identifiants, les hôtes privés ou internes et les autres ports renvoient `422 VALIDATION_ERROR`. |
| `maxChars` | Non | Plafonne `markdown`, un entier de 1 000 à 200 000. 100 000 par défaut. |
| `country` | Non | La langue et la région pour lesquelles la page est demandée. Sans valeur, les boutiques coréennes Coupang et Olive Young utilisent `KR` et toutes les autres pages `US`. |

## Réponse

Par exemple :

```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
}
```

| Champ | Description |
| - | - |
| `url` | L'adresse envoyée. |
| `finalUrl` | L'adresse après les redirections. |
| `statusCode` | Le statut HTTP de la page lue. |
| `markdown` | Le contenu principal. Jamais vide dans une tâche terminée. |
| `images` | Les images de `markdown`, dans leur ordre d'apparition. |
| `truncated` | `true` quand `markdown` s'est arrêté à `maxChars`. La coupe tombe sur une fin de paragraphe si possible. |
| `title`, `description`, `author`, `publishedAt`, `siteName`, `language`, `image` | Présents quand la page les déclare. |

## PDF

HTML, texte brut et PDF contenant du texte sont pris en charge. Un PDF renvoie son texte dans l'ordre des pages, son titre, son auteur, son sujet (dans `description`) et sa langue quand ils sont présents, avec `images: []`. L'OCR, les pièces jointes et la reconstruction de la mise en page ne sont pas pris en charge.

| Limite PDF | Valeur |
| - | - |
| Taille téléchargée | 8 MiB |
| Pages | 100 |
| Texte extrait | 1 000 000 caractères |
| Durée d'extraction | 20 secondes |

Le document entier est vérifié indépendamment de `maxChars` ; seul le Markdown renvoyé est raccourci. Les PDF sans texte, chiffrés, endommagés, incomplets ou hors limites échouent avec `PAGE_UNAVAILABLE`.

## Limites et erreurs

* Une page illisible fait échouer la tâche avec `PAGE_UNAVAILABLE` et la raison : format non pris en charge, page répondant 404 ou 410, ou site qui refuse la requête.
* Une redirection vers une adresse qui enfreint les règles de `url` fait échouer la tâche. Les règles sont revérifiées à chaque étape de redirection.
* `WEB_SCRAPE` ignore `markdown`, `rawResponse` et `searchQueries`. Il refuse `html` et `analysis` avec `422` et `citationAnalysis` avec `400` ; voir [flags non pris en charge](/fr/engines/response-options.md#flags-non-pris-en-charge).
* Les autres erreurs de requête sont listées dans [Erreurs](/fr/concepts/errors.md).

## Voir aussi

* [Web crawl](/fr/engines/web-crawl.md) pour lire de nombreuses pages d'un site
* [Web map](/fr/engines/web-map.md) pour lister d'abord les adresses d'un site


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