> ## 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.

# Website-Crawler mit Markdown-Ausgabe per API (WEB_CRAWL)

> Eine Website ab einer Startadresse crawlen und jede Seite als Markdown erhalten, abgerechnet pro gelieferter Seite.

`WEB_CRAWL` folgt den Links einer Website in Breitensuche ab einer Startadresse und liest jede Seite so wie [`WEB_SCRAPE`](/de/engines/web-scrape). Sie erhalten Markdown, Metadaten und Bilder jeder Seite in einem Ergebnis.

| | |
| - | - |
| `taskType` | `WEB_CRAWL` |
| Eingabe | `url` (Pflicht); `maxPages`, `maxDepth`, `maxChars`, `includePaths`, `excludePaths`, `includeSubdomains`, `country` |
| Credits | 1 pro gelieferter Seite. Der Task reserviert beim Einreichen `maxPages` Credits. |
| Land | Standard ist `US`. |
| Standort | Nicht unterstützt (`422 LOCATION_UNSUPPORTED`). |

## Anfrage

```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_CRAWL", "payload": { "url": "https://www.example.com/docs", "maxPages": 25, "maxDepth": 2, "includePaths": ["/docs/**"] } }'
```

## Parameter

| Feld | Pflicht | Beschreibung |
| - | - | - |
| `url` | Ja | Die Startadresse. Gleiche Regeln wie bei `WEB_SCRAPE`: öffentliches `http` oder `https`, Standardport, bis zu 2.048 Zeichen. Die Startseite wird immer gelesen, unabhängig von Mustern und `robots.txt`. |
| `maxPages` | Nein | Zu lesende Seiten einschließlich der Startseite. Eine Ganzzahl von 1 bis 100. Standard ist 10. |
| `maxDepth` | Nein | Linkschritte ab der Startseite, eine Ganzzahl von 0 bis 5. Standard ist 2. `0` liest nur die Startseite. |
| `maxChars` | Nein | Begrenzt das `markdown` jeder Seite, eine Ganzzahl von 1.000 bis 50.000. Standard ist 20.000. |
| `includePaths`, `excludePaths` | Nein | Pfadmuster wie bei [`WEB_MAP`](/de/engines/web-map): je bis zu 20, beginnend mit `/`, höchstens 200 Zeichen. `*` passt innerhalb eines Abschnitts, `**` über Abschnitte hinweg. `excludePaths` hat Vorrang. |
| `includeSubdomains` | Nein | `true` folgt Links zu den Subdomains der Website. Standard ist `false`. |
| `country` | Nein | Die Region, aus der Seiten abgerufen werden. Standard ist `US`. |

Der Crawl folgt einem Link, wenn er auf der Website bleibt (mit oder ohne `www.`), zu den Pfadmustern passt, auf eine Webseite statt auf eine Datei zeigt (PDFs, Bilder, Archive und andere Dateien werden übersprungen) und die `robots.txt` der Website ihn allen Crawlern erlaubt.

## Antwort

Zum Beispiel:

```json theme={"theme":"css-variables"}
{
  "url": "https://www.example.com/docs",
  "pages": [
    {
      "url": "https://www.example.com/docs",
      "finalUrl": "https://www.example.com/docs",
      "depth": 0,
      "statusCode": 200,
      "title": "...",
      "markdown": "# ...",
      "images": [],
      "truncated": false
    }
  ],
  "failed": [{ "url": "https://www.example.com/docs/old", "depth": 1, "error": "the site answered 404 for this page" }],
  "stopReason": "max-pages"
}
```

| Feld | Beschreibung |
| - | - |
| `pages` | Die gelesenen Seiten in der Reihenfolge, in der der Crawl sie gefunden hat. Jede hat die Felder von `WEB_SCRAPE` plus `depth`, ihre Linkschritte ab der Startseite. |
| `failed` | Seiten, die nicht gelesen werden konnten, jeweils mit `url`, `depth` und dem Grund der Website als `error`. |
| `stopReason` | Warum der Crawl endete. Siehe unten. |

| `stopReason` | Bedeutung |
| - | - |
| `done` | Kein Link war mehr übrig. |
| `max-pages` | `maxPages` Seiten wurden gelesen. |
| `failures` | 10 Seiten in Folge waren nicht lesbar, oder die Gesamtzahl gescheiterter Seiten hat `maxPages` erreicht. |
| `time` | Die Zeit des Crawls ist abgelaufen. Nach etwa 4 Minuten werden keine neuen Seiten mehr begonnen. |

## Credits

Beim Einreichen reserviert der Task 1 Credit pro Seite von `maxPages` (25 Credits im Beispiel oben). Bei Abschluss wird 1 Credit für jede Seite in `pages` berechnet, und der Rest der Reservierung wird freigegeben. Seiten in `failed` werden nicht berechnet. Ein Crawl, der 3 von 25 Seiten liefert, kostet 3 Credits. Wie Reservierungen funktionieren, steht unter [Credits und Limits](/de/concepts/credits-and-limits.md).

## Grenzen und Fehler

* Ist die Startseite nicht lesbar, scheitert der Task mit `PAGE_UNAVAILABLE`. Jede andere nicht lesbare Seite landet in `failed`, und der Crawl läuft weiter.
* Ungültige Optionen liefern `422 VALIDATION_ERROR` mit dem betroffenen Feld.
* `WEB_CRAWL` ignoriert `markdown`, `rawResponse` und `searchQueries`. Es lehnt `html` und `analysis` mit `422` und `citationAnalysis` mit `400` ab; siehe [nicht unterstützte Flags](/de/engines/response-options.md#nicht-unterstützte-flags).
* Weitere Anfragefehler stehen unter [Fehler](/de/concepts/errors.md).

## Verwandt

* [Web map](/de/engines/web-map.md), um die Adressen einer Website aufzulisten, ohne sie zu lesen
* [Web scrape](/de/engines/web-scrape.md) für eine einzelne Seite


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