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

# Crawl Aanmaken

> Start een nieuwe crawl. Je ontvangt een `id` om de voortgang bij te houden. De operatie kan 1-10 minuten duren, afhankelijk van de site en de diepte- en pagina-parameters.

<Tip>
  **Word op de hoogte gebracht bij voltooiing:** Geef de `webhook` parameter door met jouw endpoint URL om een HTTP POST te ontvangen wanneer de crawl voltooid is. Zie [Webhooks](/api-reference/common/webhooks) voor details.
</Tip>


## OpenAPI

````yaml nl/openapi/crawls.json POST /v1/crawls
openapi: 3.0.3
info:
  title: Crawl API
  version: 1.0.0
servers:
  - url: https://api.olostep.com
security: []
paths:
  /v1/crawls:
    post:
      summary: Start een nieuwe crawl
      description: Start een nieuw crawlproces met de gespecificeerde parameters.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                start_url:
                  type: string
                  description: Het startpunt van de crawl.
                include_urls:
                  type: array
                  items:
                    type: string
                  description: >-
                    URL-padpatronen om op te nemen in de crawl met behulp van
                    glob-syntaxis.  Standaard ingesteld op `/**` wat alle URLs
                    omvat. Gebruik patronen zoals `/blog/**` om specifieke
                    secties te crawlen (bijv. alleen blogpagina's),
                    `/products/*.html` voor productpagina's, of meerdere
                    patronen voor verschillende secties. Ondersteunt standaard
                    glob-functies zoals * (willekeurige tekens) en **
                    (recursieve matching).
                exclude_urls:
                  type: array
                  items:
                    type: string
                  description: >-
                    URL-padnamen in glob-patroon om uit te sluiten.
                    Bijvoorbeeld: `/careers/**`. Uitgesloten URLs zullen
                    voorrang hebben op opgenomen URLs.
                max_pages:
                  type: number
                  description: >-
                    Maximum aantal pagina's om te crawlen. Aanbevolen voor de
                    meeste gebruikssituaties zoals het crawlen van een hele
                    website.
                max_depth:
                  type: number
                  description: >-
                    Maximale diepte van de crawl. Handig om alleen tot n-graad
                    van links te extraheren.
                include_external:
                  type: boolean
                  description: Crawl eerste-graads externe links.
                include_subdomain:
                  type: boolean
                  description: Inclusief subdomeinen van de website. Standaard `false`.
                search_query:
                  type: string
                  description: >-
                    Een optionele zoekopdracht om specifieke links te vinden en
                    ook de resultaten te sorteren op relevantie.
                top_n:
                  type: number
                  description: >-
                    Een optioneel aantal om alleen de top N meest relevante
                    links op elke pagina te crawlen volgens de zoekopdracht.
                webhook:
                  type: string
                  format: uri
                  description: >-
                    HTTPS URL om een POST-verzoek te ontvangen wanneer de crawl
                    voltooid is. Moet een openbaar toegankelijke URL zijn met
                    gebruik van `http://` of `https://` protocol. Kan niet
                    wijzen naar localhost of privé IP-adressen. Zie
                    [Webhooks](/api-reference/common/webhooks) voor
                    payloadformaat en retry-gedrag.
                timeout:
                  type: number
                  description: >-
                    Beëindig de crawl na n seconden met de tot dan toe voltooide
                    pagina's. Kan ~10s extra duren vanaf de opgegeven timeout.
                follow_robots_txt:
                  type: boolean
                  description: >-
                    Of de robots.txt-regels gerespecteerd moeten worden. Als
                    ingesteld op `false`, zal de crawler de website scrapen
                    ongeacht robots.txt disallow-richtlijnen. Standaard `true`.
                  default: true
                scrape_options:
                  type: object
                  description: >-
                    Bepaalt wat elke individuele pagina scrape aanvraagt van de
                    Olostep API. Alle velden zijn optioneel.
                  properties:
                    formats:
                      type: array
                      items:
                        type: string
                        enum:
                          - html
                          - markdown
                          - text
                          - json
                          - screenshot
                      description: >-
                        Uitvoerformaten om aan te vragen voor elke gescrapete
                        pagina. Standaard ingesteld op `["html", "markdown"]`
                        wanneer weggelaten. `html` wordt altijd automatisch
                        toegevoegd. `json` wordt automatisch toegevoegd wanneer
                        een `parser` is opgegeven. Let op: `raw_pdf` wordt niet
                        ondersteund — PDF's kunnen niet gecrawld worden.
                      example:
                        - markdown
                        - screenshot
                    parser:
                      type: string
                      description: >-
                        Parsernaam om op elke pagina uit te voeren en
                        gestructureerde `json` output te produceren (bijv.
                        `"@olostep/extract-emails"`). Voegt automatisch `json`
                        toe aan `formats` wanneer ingesteld.
                      example: '@olostep/extract-emails'
              required:
                - start_url
                - max_pages
      responses:
        '200':
          description: Crawl succesvol gestart.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Crawl ID
                  object:
                    type: string
                    description: Het soort object. "crawl" voor deze endpoint.
                  status:
                    type: string
                    description: '`in_progress` of `completed`'
                  created:
                    type: number
                    description: Aangemaakte tijd in epoch
                  start_date:
                    type: string
                    description: Aangemaakte tijd in datum
                  start_url:
                    type: string
                  max_pages:
                    type: number
                  max_depth:
                    type: number
                  exclude_urls:
                    type: array
                    items:
                      type: string
                  include_urls:
                    type: array
                    items:
                      type: string
                  include_external:
                    type: boolean
                  search_query:
                    type: string
                  top_n:
                    type: number
                  current_depth:
                    type: number
                    description: De huidige diepte van het crawlproces.
                  pages_count:
                    type: number
                    description: Aantal gecrawlde pagina's
                  webhook:
                    type: string
                  follow_robots_txt:
                    type: boolean
                  credits_consumed:
                    type: integer
                    nullable: true
                    description: >-
                      Aantal credits verbruikt door dit verzoek. Wordt ingevuld
                      nadat de uitvoering is voltooid. Credits zijn de bron van
                      waarheid voor facturering.
                  cost_usd:
                    type: number
                    nullable: true
                    description: >-
                      Geschatte kosten in USD voor dit verzoek. Wordt ingevuld
                      nadat de uitvoering is voltooid. Berekend op basis van
                      verbruikte credits en je tariefplan — 99% nauwkeurig, maar
                      credits_consumed is de gezaghebbende waarde.
        '400':
          description: Foutieve aanvraag door onjuiste of ontbrekende parameters.
        '500':
          description: Interne serverfout.
      security:
        - Authorization: []
components:
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer
      description: >-
        Bearer authenticatie header in de vorm Bearer <token>, waar <token> jouw
        auth token is.

````