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

# Crawl

> ¿Eres un agente de IA que necesita una clave de API de Evocrawl? Consulta [evocrawl.dev/agent-onboarding/SKILL.md](https://www.evocrawl.com/agent-onboarding/SKILL.md) para obtener instrucciones para la incorporación automatizada.


## OpenAPI

````yaml /es/api-reference/v2-openapi.json POST /crawl
openapi: 3.0.0
info:
  title: Evocrawl API
  version: v2
  description: >-
    API para interactuar con los servicios de Evocrawl y realizar tareas de
    scraping y rastreo web.
  contact:
    name: Evocrawl Support
    url: https://evocrawl.com/support
    email: support@evocrawl.dev
servers:
  - url: https://api.evocrawl.com/v2
security:
  - bearerAuth: []
paths:
  /crawl:
    post:
      tags:
        - Crawling
      summary: Rastrear varias URL en función de las opciones
      operationId: crawlUrls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  format: uri
                  description: La URL base desde la que se iniciará el rastreo
                prompt:
                  type: string
                  description: >-
                    Un prompt que se usa para generar las opciones del crawler
                    (todos los parámetros que se indican a continuación) a
                    partir de lenguaje natural. Los parámetros establecidos
                    explícitamente tendrán prioridad sobre los equivalentes
                    generados.
                excludePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Patrones de expresiones regulares para las rutas (pathname)
                    de URL que excluyen del rastreo las URLs que coincidan con
                    ellos. Por ejemplo, si configuras `"excludePaths":
                    ["blog/.*"]` para la URL base evocrawl.dev, se excluirán
                    todos los resultados que coincidan con ese patrón, como
                    https://www.evocrawl.com/blog/evocrawl-launch-week-1-recap.
                includePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Patrones regex de rutas (pathname) de URL que determinan qué
                    URLs se incluyen en el rastreo. Solo las rutas que coincidan
                    con los patrones especificados se incluirán en la respuesta.
                    Nota: la URL inicial también se comprueba con estos
                    patrones; si no coincide, el rastreo puede devolver 0
                    páginas. Por ejemplo, si configuras "includePaths":
                    ["blog/.*"] para la URL base evocrawl.dev/blog, solo se
                    incluirán en los resultados las páginas bajo /blog/, como
                    https://www.evocrawl.com/blog/evocrawl-launch-week-1-recap.
                maxDiscoveryDepth:
                  type: integer
                  description: >-
                    Profundidad máxima de rastreo basada en el orden de
                    descubrimiento. El sitio raíz y las páginas incluidas en el
                    sitemap tienen una profundidad de descubrimiento de 0. Por
                    ejemplo, si la estableces en 1 y configuras `sitemap:
                    'skip'`, solo se rastreará la URL introducida y todas las
                    URL que estén enlazadas en esa página.
                sitemap:
                  type: string
                  enum:
                    - skip
                    - include
                    - only
                  description: >-
                    Modo de sitemap al rastrear. Si lo configuras en "skip", el
                    crawler ignorará el sitemap del sitio web y solo rastreará
                    la URL indicada y descubrirá páginas a partir de ahí. Si lo
                    configuras en "only", el crawler solo rastreará las URLs del
                    sitemap (más la URL inicial) y no descubrirá enlaces desde
                    el HTML.
                  default: include
                ignoreQueryParameters:
                  type: boolean
                  description: >-
                    No vuelvas a scrapear la misma ruta con distintos parámetros
                    de consulta (o sin parámetros)
                  default: false
                regexOnFullURL:
                  type: boolean
                  description: >-
                    Cuando su valor es true, los patrones de expresiones
                    regulares (regex) de includePaths y excludePaths se comparan
                    con la URL completa (incluidos los parámetros de consulta),
                    en lugar de solo con el pathname de la URL. Resulta útil
                    cuando necesitas filtrar URLs en función de los parámetros
                    de consulta.
                  default: false
                limit:
                  type: integer
                  description: >-
                    Número máximo de páginas a rastrear. El límite por defecto
                    es 10.000.
                  default: 10000
                crawlEntireDomain:
                  type: boolean
                  description: >-
                    Permite que el crawler siga enlaces internos a URLs hermanas
                    o padre, no solo rutas hijas.


                    false: Solo rastrea URLs más profundas (hijas).

                    → p. ej. /features/feature-1 → /features/feature-1/tips ✅

                    → No seguirá /pricing ni / ❌


                    true: Rastrea cualquier enlace interno, incluidos hermanos y
                    padres.

                    → p. ej. /features/feature-1 → /pricing, /, etc. ✅


                    Usa true para lograr una cobertura interna más amplia, más
                    allá de las rutas anidadas.
                  default: false
                allowExternalLinks:
                  type: boolean
                  description: >-
                    Permite que el rastreador siga enlaces a sitios web
                    externos.
                  default: false
                allowSubdomains:
                  type: boolean
                  description: >-
                    Permite que el rastreador siga enlaces a subdominios del
                    dominio principal.
                  default: false
                ignoreRobotsTxt:
                  type: boolean
                  description: >-
                    Ignora las reglas de robots.txt del sitio web. Solo
                    disponible para Enterprise; contacta con
                    support@evocrawl.com para habilitarlo.
                  default: false
                robotsUserAgent:
                  type: string
                  description: >-
                    Cadena User-Agent personalizada para evaluar robots.txt.
                    Cuando se configura, robots.txt se obtiene con este
                    User-Agent y las reglas de allow/disallow se aplican en
                    función de él en lugar del predeterminado. Solo disponible
                    para Enterprise; contacta con support@evocrawl.com para
                    habilitarlo.
                delay:
                  type: number
                  description: >-
                    Retraso, en segundos, entre scrapes. Esto ayuda a respetar
                    los límites de tasa del sitio web. Al configurar esto, la
                    concurrencia se fuerza a 1.
                maxConcurrency:
                  type: integer
                  description: >-
                    Número máximo de scrapes simultáneos. Este parámetro te
                    permite establecer un límite de concurrencia para este
                    rastreo. Si no se especifica, el rastreo respeta el límite
                    de concurrencia de tu equipo.
                webhook:
                  type: object
                  description: Un objeto de especificación de webhook.
                  properties:
                    url:
                      type: string
                      description: >-
                        La URL a la que se enviará el webhook. Se activará al
                        iniciarse el rastreo (crawl.started), en cada página
                        rastreada (crawl.page) y cuando el rastreo se complete
                        (crawl.completed o crawl.failed). La respuesta será la
                        misma que la del endpoint `/scrape`.
                    headers:
                      type: object
                      description: Cabeceras que se enviarán a la URL del webhook.
                      additionalProperties:
                        type: string
                    metadata:
                      type: object
                      description: >-
                        Metadatos personalizados que se incluirán en todos los
                        payloads de webhook de este rastreo
                      additionalProperties: true
                    events:
                      type: array
                      description: >-
                        Tipo de eventos que se enviarán a la URL del webhook
                        (valor predeterminado: todos).
                      items:
                        type: string
                        enum:
                          - completed
                          - page
                          - failed
                          - started
                  required:
                    - url
                scrapeOptions:
                  $ref: '#/components/schemas/ScrapeOptions'
                zeroDataRetention:
                  type: boolean
                  default: false
                  description: >-
                    Si se establece en true, se desactivará la retención de
                    datos para este rastreo. Para habilitar esta función,
                    póngase en contacto con help@evocrawl.dev
              required:
                - url
      responses:
        '200':
          description: Respuesta correcta
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrawlResponse'
        '402':
          description: Se requiere pago
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
        '429':
          description: Demasiadas solicitudes
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
        '500':
          description: Error del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      type: object
      properties:
        formats:
          $ref: '#/components/schemas/Formats'
        onlyMainContent:
          type: boolean
          description: >-
            Devuelve solo el contenido principal de la página, sin incluir
            encabezados, navegación, pies de página, etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se incluirán en la salida.
        excludeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se excluirán de la salida.
        maxAge:
          type: integer
          description: >-
            Devuelve una versión en caché de la página si su antigüedad es menor
            que este valor en milisegundos. Si la versión en caché de la página
            es más antigua que este valor, se hará scraping de la página. Si no
            necesitas datos extremadamente recientes, habilitar esto puede
            acelerar tus procesos de scraping hasta un 500 %. El valor
            predeterminado es de 2 días.
          default: 172800000
        minAge:
          type: integer
          description: |-
            <[
              {
                "key": "0",
                "translation": "Cuando se establece, la solicitud solo consulta la caché y nunca inicia una nueva extracción. El valor se expresa en milisegundos y especifica la antigüedad mínima que deben tener los datos almacenados en caché. Si existen datos en caché que coinciden, se devuelven al instante. Si no se encuentran datos en caché, se devuelve un 404 con el código de error SCRAPE_NO_CACHED_DATA. Establécelo en 1 para aceptar cualquier dato en caché, independientemente de su antigüedad."
              }
            ]</>
        headers:
          type: object
          description: >-
            Encabezados que se enviarán en la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
        waitFor:
          type: integer
          description: >-
            Especifica un tiempo de espera en milisegundos antes de obtener el
            contenido, dando a la página tiempo suficiente para cargarse. Este
            tiempo de espera es adicional a la función de espera inteligente de
            Evocrawl.
          default: 0
        mobile:
          type: boolean
          description: >-
            Defínelo en true si quieres emular el scraping desde un dispositivo
            móvil. Útil para probar páginas responsive y tomar capturas de
            pantalla móviles.
          default: false
        skipTlsVerification:
          type: boolean
          description: Omitir la verificación de certificados TLS al realizar solicitudes.
          default: true
        timeout:
          type: integer
          description: >-
            Tiempo de espera en milisegundos para la solicitud. El mínimo es
            1000 (1 segundo). El valor predeterminado es 60000 (60 segundos). El
            máximo es 300000 (300 segundos).
          default: 60000
          minimum: 1000
          maximum: 300000
        parsers:
          type: array
          description: >-
            Controla cómo se procesan los archivos durante el scraping. Cuando
            se incluye "pdf" (valor predeterminado), se extrae el contenido del
            PDF y se convierte a formato Markdown, con la facturación basada en
            el número de páginas (1 crédito por página). Cuando se pasa un array
            vacío, el archivo PDF se devuelve codificado en base64 con una
            tarifa fija de 1 crédito por todo el PDF.
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                  mode:
                    type: string
                    enum:
                      - fast
                      - auto
                      - ocr
                    default: auto
                    description: >-
                      Modo de procesamiento de PDF. "fast": solo extracción de
                      texto (usa el texto incrustado; es la opción más rápida).
                      "auto" (predeterminado): primero intenta la extracción
                      rápida y, si es necesario, recurre a OCR. "ocr": fuerza el
                      procesamiento con OCR en todas las páginas.
                  maxPages:
                    type: integer
                    minimum: 1
                    maximum: 10000
                    description: >-
                      Número máximo de páginas del PDF que se pueden analizar.
                      Debe ser un número entero positivo de hasta 10 000.
                required:
                  - type
                additionalProperties: false
          default:
            - pdf
        actions:
          type: array
          description: >-
            Acciones que se realizarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - title: Wait
                oneOf:
                  - type: object
                    title: Wait by Duration
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar una cantidad determinada de milisegundos
                      milliseconds:
                        type: integer
                        minimum: 1
                        description: Número de milisegundos que se va a esperar
                    required:
                      - type
                      - milliseconds
                    additionalProperties: false
                  - type: object
                    title: Wait for Element
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar a que aparezca un elemento específico
                      selector:
                        type: string
                        description: Selector CSS del elemento al que se debe esperar
                        example: '#my-element'
                    required:
                      - type
                      - selector
                    additionalProperties: false
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Realiza una captura de pantalla. Los enlaces estarán en la
                      matriz `actions.screenshots` de la respuesta.
                  fullPage:
                    type: boolean
                    description: >-
                      Determina si se debe tomar una captura de pantalla de
                      página completa (omitiendo viewport.height) o limitarla al
                      viewport actual.
                    default: false
                  quality:
                    type: integer
                    description: >-
                      La calidad de la captura de pantalla, de 1 a 100. 100 es
                      la máxima calidad.
                  viewport:
                    type: object
                    properties:
                      width:
                        type: integer
                        description: El ancho del viewport en píxeles
                      height:
                        type: integer
                        description: Altura del viewport en píxeles
                    required:
                      - width
                      - height
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Haz clic en un elemento
                  selector:
                    type: string
                    description: Selector de consulta para localizar el elemento mediante
                    example: '#load-more-button'
                  all:
                    type: boolean
                    description: >-
                      Hace clic en todos los elementos que coinciden con el
                      selector, no solo en el primero. No genera un error si
                      ningún elemento coincide con el selector.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    description: >-
                      Escribe texto en un campo de texto, área de texto o
                      elemento contenteditable. Nota: primero debes enfocar el
                      elemento usando una acción de “hacer clic” antes de
                      escribir. El texto se escribirá carácter por carácter para
                      simular la entrada por teclado.
                  text:
                    type: string
                    description: Texto a teclear
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Pulsa una tecla en la página. Consulta
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para obtener los códigos de teclas.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pulsa una tecla en la página
                  key:
                    type: string
                    description: Tecla que hay que pulsar
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Desplazar la página o un elemento concreto
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Sentido de desplazamiento
                    default: down
                  selector:
                    type: string
                    description: Selector del elemento al que se hará scroll
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: >-
                      Extrae el contenido de la página actual y devuelve la URL
                      y el HTML.
                required:
                  - type
              - type: object
                title: Execute JavaScript
                properties:
                  type:
                    type: string
                    enum:
                      - executeJavascript
                    description: Ejecutar código JavaScript en la página
                  script:
                    type: string
                    description: Código JavaScript a ejecutar
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Genera un PDF de la página actual. El PDF se devolverá en
                      el array `actions.pdfs` de la respuesta.
                  format:
                    type: string
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    description: El tamaño de la página del PDF resultante
                    default: Letter
                  landscape:
                    type: boolean
                    description: Indica si se debe generar el PDF en orientación horizontal
                    default: false
                  scale:
                    type: number
                    description: El factor de escala del PDF resultante
                    default: 1
                required:
                  - type
        location:
          type: object
          description: >-
            Configuración de ubicación para la solicitud. Cuando se especifica,
            se utilizará un proxy adecuado si está disponible y se emularán la
            configuración de idioma y la zona horaria correspondientes. De
            manera predeterminada será "US" si no se especifica.
          properties:
            country:
              type: string
              description: >-
                Código de país alfa-2 según ISO 3166-1 (p. ej., 'US', 'AU',
                'DE', 'JP')
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              description: >-
                Idiomas y configuraciones regionales preferidos para la
                solicitud, en orden de prioridad. De forma predeterminada, se
                utiliza el idioma de la ubicación especificada. Consulta
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                type: string
                example: en-US
        removeBase64Images:
          type: boolean
          description: >-
            Elimina todas las imágenes en base64 de la salida en markdown, que
            puede ser excesivamente larga. Esto no afecta a los formatos html ni
            rawHtml. El texto alternativo de la imagen permanece en la salida,
            pero la URL se sustituye por un marcador de posición.
          default: true
        blockAds:
          type: boolean
          description: Habilita el bloqueo de anuncios y de ventanas emergentes de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          description: |-
            Especifica el tipo de proxy que se usará.

             - **basic**: Proxies para hacer scraping de sitios con poca o ninguna protección antibots. Son rápidos y suelen funcionar bien.
             - **enhanced**: Proxies avanzados para hacer scraping de sitios con soluciones antibots más sofisticadas. Son más lentos, pero más fiables en ciertos sitios. Pueden costar hasta 5 créditos por solicitud.
             - **auto**: Evocrawl reintentará automáticamente el scraping con proxies mejorados si el proxy básico falla. Si el reintento con **enhanced** tiene éxito, se cobrarán 5 créditos por el scraping. Si el primer intento con **basic** tiene éxito, solo se cobrará el coste normal.
          default: auto
        storeInCache:
          type: boolean
          description: >-
            Si es true, la página se almacenará en el índice y la caché de
            Evocrawl. Establecerlo en false es útil si tu actividad de scraping
            puede plantear problemas relacionados con la protección de datos. El
            uso de algunos parámetros asociados con scraping de datos sensibles
            (por ejemplo, acciones, headers) hará que este parámetro sea false.
          default: true
        profile:
          type: object
          description: >-
            Habilita el almacenamiento persistente del navegador entre sesiones
            de scraping e interacción. Pasa un perfil al hacer scraping para
            conservar las cookies, localStorage y los datos de sesión. Las
            sesiones con el mismo nombre de perfil comparten el estado del
            navegador.
          properties:
            name:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Un nombre para el perfil. Los scraping con el mismo nombre
                comparten el estado del navegador (cookies, localStorage y
                sesiones).
            saveChanges:
              type: boolean
              default: true
              description: >-
                Cuando es true, el estado del navegador se vuelve a guardar en
                el perfil cuando se detiene la sesión de interacción.
                Establécelo en false para cargar los datos existentes sin
                escribir. Solo se permite una sesión de guardado a la vez.
          required:
            - name
    CrawlResponse:
      type: object
      properties:
        success:
          type: boolean
        id:
          type: string
        url:
          type: string
          format: uri
    Formats:
      type: array
      items:
        oneOf:
          - type: object
            title: Markdown
            properties:
              type:
                type: string
                enum:
                  - markdown
            required:
              - type
          - type: object
            title: Summary
            properties:
              type:
                type: string
                enum:
                  - summary
            required:
              - type
          - type: object
            title: HTML
            properties:
              type:
                type: string
                enum:
                  - html
            required:
              - type
          - type: object
            title: Raw HTML
            properties:
              type:
                type: string
                enum:
                  - rawHtml
            required:
              - type
          - type: object
            title: Links
            properties:
              type:
                type: string
                enum:
                  - links
            required:
              - type
          - type: object
            title: Images
            properties:
              type:
                type: string
                enum:
                  - images
            required:
              - type
          - type: object
            title: Screenshot
            properties:
              type:
                type: string
                enum:
                  - screenshot
              fullPage:
                type: boolean
                description: >-
                  Determina si se debe tomar una captura de pantalla de página
                  completa (omitiendo viewport.height) o limitarla al viewport
                  actual.
                default: false
              quality:
                type: integer
                description: >-
                  La calidad de la captura de pantalla, del 1 al 100. 100 es la
                  calidad más alta.
              viewport:
                type: object
                properties:
                  width:
                    type: integer
                    description: El ancho del viewport en píxeles
                  height:
                    type: integer
                    description: Altura del viewport en píxeles
                required:
                  - width
                  - height
            required:
              - type
          - type: object
            title: JSON
            properties:
              type:
                type: string
                enum:
                  - json
              schema:
                type: object
                description: >-
                  El esquema que se utilizará para la salida en formato JSON.
                  Debe ajustarse a [JSON Schema](https://json-schema.org/).
              prompt:
                type: string
                description: El prompt que se utilizará para la salida en formato JSON
            required:
              - type
          - type: object
            title: Change Tracking
            properties:
              type:
                type: string
                enum:
                  - changeTracking
              modes:
                type: array
                items:
                  type: string
                  enum:
                    - git-diff
                    - json
                description: >-
                  El modo que se usará para el seguimiento de cambios.
                  'git-diff' proporciona un diff detallado y 'json' compara los
                  datos JSON extraídos.
              schema:
                type: object
                description: >-
                  Esquema JSON para la extracción cuando se usa el modo `json`.
                  Define la estructura de los datos que se van a extraer y
                  comparar. Debe ajustarse a [JSON
                  Schema](https://json-schema.org/).
              prompt:
                type: string
                description: >-
                  Prompt que se usará para el seguimiento de cambios cuando se
                  utilice el modo `json`. Si no se proporciona, se usará el
                  prompt predeterminado.
              tag:
                type: string
                nullable: true
                default: null
                description: >-
                  Etiqueta que se utilizará para el seguimiento de cambios. Las
                  etiquetas pueden separar el historial de seguimiento de
                  cambios en “ramas” independientes, donde el seguimiento de
                  cambios con una etiqueta específica solo se comparará con
                  extracciones realizadas con la misma etiqueta. Si no se
                  proporciona, se usará la etiqueta predeterminada (null).
            required:
              - type
          - type: object
            title: Branding
            properties:
              type:
                type: string
                enum:
                  - branding
            required:
              - type
          - type: object
            title: Audio
            description: >-
              Extrae audio (MP3) de URL de video compatibles, como YouTube.
              Devuelve una URL firmada de GCS.
            properties:
              type:
                type: string
                enum:
                  - audio
            required:
              - type
      description: >-
        Formatos de salida que se incluirán en la respuesta. Puedes especificar
        uno o varios formatos, ya sea como cadenas (p. ej., `'markdown'`) o como
        objetos con opciones adicionales (p. ej., `{ type: 'json', schema: {...}
        }`). Algunos formatos requieren configurar opciones específicas.
        Ejemplo: `['markdown', { type: 'json', schema: {...} }]`.
      default:
        - markdown
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````