> ## Documentation Index
> Fetch the complete documentation index at: https://student-213fb9fc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Crawl

> Nota: Una nueva [versión v2 de esta API](/es/api-reference/endpoint/crawl-post) ya está disponible con funciones y rendimiento mejorados.


## OpenAPI

````yaml es/api-reference/v1-openapi.json post /crawl
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v1
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /crawl:
    post:
      tags:
        - Crawling
      summary: Rastrear varias URL en función de 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
                excludePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Patrones de expresiones regulares para el pathname de la URL
                    que excluyen del rastreo las URL que coincidan. Por ejemplo,
                    si configuras `"excludePaths": ["blog/.*"]` para la URL base
                    firecrawl.dev, se excluirán todos los resultados que
                    coincidan con ese patrón, como
                    https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.
                includePaths:
                  type: array
                  items:
                    type: string
                  description: >-
                    Patrones regex de rutas 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. Por
                    ejemplo, si configuras `"includePaths": ["blog/.*"]` para la
                    URL base firecrawl.dev, solo se incluirán los resultados que
                    coincidan con ese patrón, como
                    https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.
                regexOnFullURL:
                  type: boolean
                  description: >-
                    Cuando es true, los patrones regex de includePaths y
                    excludePaths se comparan con la URL completa (incluidos los
                    parámetros de consulta), en lugar de solo con la ruta
                    (pathname) de la URL. Es útil cuando necesitas filtrar URLs
                    en función de las cadenas de consulta (query strings).
                  default: false
                maxDepth:
                  type: integer
                  description: >-
                    Profundidad absoluta máxima de rastreo desde la base de la
                    URL introducida. Básicamente, es el número máximo de barras
                    diagonales (/) que puede contener el pathname de una URL
                    rastreada.
                  default: 10
                maxDiscoveryDepth:
                  type: integer
                  description: >-
                    Profundidad máxima de rastreo basada en el orden de
                    descubrimiento. El sitio raíz y las páginas del mapa del
                    sitio tienen una profundidad de descubrimiento de 0. Por
                    ejemplo, si la configuras en 1 y habilitas ignoreSitemap,
                    solo se rastreará la URL ingresada y todas las URL que estén
                    enlazadas en esa página.
                ignoreSitemap:
                  type: boolean
                  description: Ignorar el sitemap del sitio web durante el rastreo
                  default: false
                ignoreQueryParameters:
                  type: boolean
                  description: >-
                    No vuelvas a hacer scraping de la misma ruta con distintos
                    parámetros de consulta (o sin parámetros)
                  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
                allowBackwardLinks:
                  type: boolean
                  description: >-
                    ⚠️ EN DESUSO: Usa 'crawlEntireDomain' en su lugar. Permite
                    que el rastreador siga enlaces internos a URL hermanas o
                    superiores, no solo a rutas hijas.
                  default: false
                  deprecated: true
                crawlEntireDomain:
                  type: boolean
                  description: >-
                    Permite que el rastreador siga enlaces internos a URLs del
                    mismo nivel o superiores, 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, incluyendo del mismo
                    nivel y superiores.

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


                    Usa true para lograr una cobertura interna más amplia, más
                    allá de 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
                delay:
                  type: number
                  description: >-
                    Pausa en segundos entre scrapes. Esto ayuda a respetar los
                    límites de tasa del sitio web.
                maxConcurrency:
                  type: integer
                  description: >-
                    Número máximo de scrapes concurrentes. Este parámetro te
                    permite establecer un límite de concurrencia para este
                    rastreo. Si no se especifica, el rastreo se ajusta al límite
                    de concurrencia de tu equipo.
                webhook:
                  type: object
                  description: Un objeto de especificación de un webhook.
                  properties:
                    url:
                      type: string
                      description: >-
                        La URL a la que se enviará el webhook. Este se activará
                        cuando se inicie 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 HTTP 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, no se conservarán datos de este
                    rastreo. Para activar esta función, ponte en contacto con
                    help@firecrawl.dev.
              required:
                - url
      responses:
        '200':
          description: Respuesta exitosa
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrawlResponse'
        '402':
          description: Pago requerido
          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:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - type: object
          properties:
            formats:
              type: array
              items:
                type: string
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
              description: Formatos que se incluirán en el resultado.
              default:
                - markdown
            changeTrackingOptions:
              type: object
              description: >-
                Opciones de seguimiento de cambios (Beta). Solo aplicable cuando
                'changeTracking' está incluido en los formatos. El formato
                'markdown' también debe especificarse al usar el seguimiento de
                cambios.
              properties:
                modes:
                  type: array
                  items:
                    type: string
                    enum:
                      - git-diff
                      - json
                  description: >-
                    El modo que se utilizará para el seguimiento de cambios.
                    'git-diff' proporciona un diff detallado y 'json' compara
                    los datos JSON extraídos.
                schema:
                  type: object
                  description: >-
                    Esquema para la extracción en 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 especifica, se utilizará el
                    prompt predeterminado.
                tag:
                  type: string
                  nullable: true
                  default: null
                  description: >-
                    Etiqueta que se usará 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 (scrapes) realizadas con la misma etiqueta. Si
                    no se proporciona, se usará la etiqueta predeterminada
                    (null).
    CrawlResponse:
      type: object
      properties:
        success:
          type: boolean
        id:
          type: string
        url:
          type: string
          format: uri
    BaseScrapeOptions:
      type: object
      properties:
        onlyMainContent:
          type: boolean
          description: >-
            Devuelve únicamente el contenido principal de la página, excluyendo
            encabezados, elementos de navegación, pies de página, etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se deben incluir 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, la página se volverá a scrapear. Si
            no necesitas datos extremadamente recientes, activar esta opción
            puede acelerar tus procesos de scraping hasta un 500 %. El valor
            predeterminado es 0, lo que desactiva la caché.
          default: 0
        headers:
          type: object
          description: >-
            Cabeceras que se enviarán con la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
        waitFor:
          type: integer
          description: >-
            Especifica un retraso, en milisegundos, antes de obtener el
            contenido, permitiendo que la página tenga tiempo suficiente para
            cargarse.
          default: 0
        mobile:
          type: boolean
          description: >-
            Configúralo en `true` si quieres emular el scraping desde un
            dispositivo móvil. Es útil para probar páginas responsive y tomar
            capturas de pantalla en dispositivos móviles.
          default: false
        skipTlsVerification:
          type: boolean
          description: Omitir la verificación del certificado TLS al realizar solicitudes
          default: false
        timeout:
          type: integer
          description: Tiempo de espera de la solicitud en milisegundos
          default: 30000
        parsePDF:
          type: boolean
          description: >-
            Controla cómo se procesan los archivos PDF durante el scraping.
            Cuando es true, el contenido del PDF se extrae y se convierte al
            formato Markdown, y la facturación se basa en el número de páginas
            (1 crédito por página). Cuando es false, el archivo PDF se devuelve
            codificado en base64 con una tarifa plana total de 1 crédito.
          default: true
        jsonOptions:
          type: object
          description: Objeto de opciones JSON
          properties:
            schema:
              type: object
              description: >-
                El esquema que se utilizará para la extracción (opcional). Debe
                ajustarse a [JSON Schema](https://json-schema.org/).
            systemPrompt:
              type: string
              description: El prompt del sistema que se usará para la extracción (opcional)
            prompt:
              type: string
              description: >-
                El prompt que se utilizará para la extracción sin esquema
                (opcional)
        actions:
          type: array
          description: >-
            Acciones que se ejecutarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - type: object
                title: Wait
                properties:
                  type:
                    type: string
                    enum:
                      - wait
                    description: Espera una cantidad de milisegundos especificada
                  milliseconds:
                    type: integer
                    minimum: 1
                    description: Número de milisegundos que se debe esperar
                  selector:
                    type: string
                    description: Selector de búsqueda para encontrar el elemento por
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Haz una captura de pantalla. Los enlaces estarán en el
                      array `actions.screenshots` de la respuesta.
                  fullPage:
                    type: boolean
                    description: >-
                      Indica si se debe capturar una captura de pantalla de toda
                      la página o solo del 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.
                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 buscar el elemento por
                    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 entrada, área de texto o
                      elemento contenteditable. Nota: primero debes poner el
                      foco en el elemento usando una acción de «clic» antes de
                      escribir. El texto se tecleará carácter por carácter para
                      simular la entrada por teclado.
                  text:
                    type: string
                    description: Texto a escribir
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Pulsa una tecla en esta página. Consulta
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para ver los códigos de teclado.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pulsa una tecla en la página
                  key:
                    type: string
                    description: Tecla a pulsar
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Desplazar la página o un elemento específico
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Dirección de desplazamiento
                    default: down
                  selector:
                    type: string
                    description: Selector (query selector) del elemento que se desplazará
                    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 de la solicitud. Cuando se especifique,
            usará un proxy adecuado si está disponible y emulará la
            configuración de idioma y zona horaria correspondientes. Si no se
            especifica, el valor predeterminado es 'US'.
          properties:
            country:
              type: string
              description: >-
                Código de país ISO 3166-1 alfa-2 (por ejemplo, «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
                usa el idioma de la ubicación especificada. Más información en
                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 formato base64 de la salida, que
            pueden hacerla excesivamente larga. El texto alternativo de la
            imagen se conserva en la salida, pero la URL se reemplaza por un
            marcador de posición.
          default: true
        blockAds:
          type: boolean
          description: Habilita el bloqueo de anuncios y ventanas emergentes de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          description: >-
            Especifica el tipo de proxy que se va a utilizar.


            - **basic**: Proxies para hacer scraping de sitios con sistemas
            anti‑bots nulos o básicos. Es rápido y suele funcionar.

            - **enhanced**: Proxies mejorados para hacer scraping de sitios con
            sistemas anti‑bots avanzados. Es más lento, pero más fiable en
            ciertos sitios. Cuesta hasta 5 créditos por solicitud.

            - **auto**: Firecrawl 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 la extracción. Si
            el primer intento con basic tiene éxito, solo se cobrará el coste
            estándar.


            Si no especificas un proxy, Firecrawl usará basic por defecto.
        storeInCache:
          type: boolean
          description: >-
            Si es true, la página se almacenará en el índice y la caché de
            Firecrawl. Establecerlo en false es útil si tu actividad de scraping
            puede implicar problemas de protección de datos. El uso de algunos
            parámetros asociados con scraping sensible (acciones, headers) hará
            que este parámetro tenga que ser false.
          default: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````