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

# Scrape

<div id="interactions">
  ## Interacciones
</div>

Para las interacciones del navegador (hacer clic, escribir, navegar, extraer contenido dinámico), usa el [endpoint de Interact](/es/features/interact). Primero haz scraping de una página y luego llama a `POST /v2/scrape/{scrapeId}/interact` con un prompt en lenguaje natural o código de Playwright para realizar acciones en la página.

Consulta la [documentación de Interact](/es/features/interact) para ver todos los detalles y ejemplos.

Opcionalmente, también puedes usar el parámetro `actions`, aunque no se recomienda usarlo para interacciones complejas.

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


## OpenAPI

````yaml es/api-reference/v2-openapi.json POST /scrape
openapi: 3.0.0
info:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  title: Firecrawl API
  version: v2
servers:
  - url: https://api.firecrawl.dev/v2
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: >-
        Extraer datos de una sola URL y, opcionalmente, extraer información con
        un LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - properties:
                    url:
                      description: La URL que se va a scrapear
                      format: uri
                      type: string
                  required:
                    - url
                  type: object
                - $ref: '#/components/schemas/ScrapeOptions'
                - properties:
                    zeroDataRetention:
                      default: false
                      description: >-
                        Si se establece en true, se habilitará la no retención
                        de datos para este scraping. Para activar esta función,
                        ponte en contacto con help@firecrawl.dev
                      type: boolean
                  type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
          description: Respuesta satisfactoria
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Se requiere pago
        '429':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
                    type: string
                type: object
          description: Demasiadas solicitudes
        '500':
          content:
            application/json:
              schema:
                properties:
                  code:
                    example: UNKNOWN_ERROR
                    type: string
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Error del servidor
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      properties:
        actions:
          description: >-
            Acciones que se realizarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - oneOf:
                  - additionalProperties: false
                    properties:
                      milliseconds:
                        description: Número de milisegundos que se va a esperar
                        minimum: 1
                        type: integer
                      type:
                        description: Esperar una cantidad determinada de milisegundos
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - milliseconds
                    title: Wait by Duration
                    type: object
                  - additionalProperties: false
                    properties:
                      selector:
                        description: Selector CSS del elemento al que se debe esperar
                        example: '#my-element'
                        type: string
                      type:
                        description: Esperar a que aparezca un elemento específico
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - selector
                    title: Wait for Element
                    type: object
                title: Wait
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Determina si se debe tomar una captura de pantalla de
                      página completa (omitiendo viewport.height) o limitarla al
                      viewport actual.
                    type: boolean
                  quality:
                    description: >-
                      La calidad de la captura de pantalla, de 1 a 100. 100 es
                      la máxima calidad.
                    type: integer
                  type:
                    description: >-
                      Realiza una captura de pantalla. Los enlaces estarán en la
                      matriz `actions.screenshots` de la respuesta.
                    enum:
                      - screenshot
                    type: string
                  viewport:
                    properties:
                      height:
                        description: Altura del viewport en píxeles
                        type: integer
                      width:
                        description: El ancho del viewport en píxeles
                        type: integer
                    required:
                      - width
                      - height
                    type: object
                required:
                  - type
                title: Screenshot
                type: object
              - properties:
                  all:
                    default: false
                    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.
                    type: boolean
                  selector:
                    description: Selector de consulta para localizar el elemento mediante
                    example: '#load-more-button'
                    type: string
                  type:
                    description: Haz clic en un elemento
                    enum:
                      - click
                    type: string
                required:
                  - type
                  - selector
                title: Click
                type: object
              - properties:
                  text:
                    description: Texto a teclear
                    example: Hello, world!
                    type: string
                  type:
                    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.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - 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:
                  key:
                    description: Tecla que hay que pulsar
                    example: Enter
                    type: string
                  type:
                    description: Pulsa una tecla en la página
                    enum:
                      - press
                    type: string
                required:
                  - type
                  - key
                title: Press a key
                type: object
              - properties:
                  direction:
                    default: down
                    description: Sentido de desplazamiento
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Selector del elemento al que se hará scroll
                    example: '#my-element'
                    type: string
                  type:
                    description: Desplazar la página o un elemento concreto
                    enum:
                      - scroll
                    type: string
                required:
                  - type
                title: Scroll
                type: object
              - properties:
                  type:
                    description: >-
                      Extrae el contenido de la página actual y devuelve la URL
                      y el HTML.
                    enum:
                      - scrape
                    type: string
                required:
                  - type
                title: Scrape
                type: object
              - properties:
                  script:
                    description: Código JavaScript a ejecutar
                    example: document.querySelector('.button').click();
                    type: string
                  type:
                    description: Ejecutar código JavaScript en la página
                    enum:
                      - executeJavascript
                    type: string
                required:
                  - type
                  - script
                title: Execute JavaScript
                type: object
              - properties:
                  format:
                    default: Letter
                    description: El tamaño de la página del PDF resultante
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    type: string
                  landscape:
                    default: false
                    description: Indica si se debe generar el PDF en orientación horizontal
                    type: boolean
                  scale:
                    default: 1
                    description: El factor de escala del PDF resultante
                    type: number
                  type:
                    description: >-
                      Genera un PDF de la página actual. El PDF se devolverá en
                      el array `actions.pdfs` de la respuesta.
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                title: Generate PDF
                type: object
          type: array
        blockAds:
          default: true
          description: Habilita el bloqueo de anuncios y de ventanas emergentes de cookies.
          type: boolean
        excludeTags:
          description: Etiquetas que se excluirán de la salida.
          items:
            type: string
          type: array
        formats:
          $ref: '#/components/schemas/Formats'
        headers:
          description: >-
            Encabezados que se enviarán en la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
          type: object
        includeTags:
          description: Etiquetas que se incluirán en la salida.
          items:
            type: string
          type: array
        location:
          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:
              default: US
              description: >-
                Código de país alfa-2 según ISO 3166-1 (p. ej., 'US', 'AU',
                'DE', 'JP')
              pattern: ^[A-Z]{2}$
              type: string
            languages:
              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:
                example: en-US
                type: string
              type: array
          type: object
        lockdown:
          default: false
          description: >-
            Si es true, la solicitud se atiende únicamente desde la caché de
            Firecrawl y nunca se realiza una solicitud saliente a la URL de
            destino. Está diseñado para entornos con requisitos estrictos de
            cumplimiento o aislados de redes externas, donde la propia solicitud
            de scraping podría filtrar información sensible. Si no hay una
            entrada en caché, devuelve un 404 con el código de error
            SCRAPE_LOCKDOWN_CACHE_MISS (la URL nunca se registra cuando no hay
            una entrada en caché). Las solicitudes de Lockdown se consideran de
            retención de datos cero. El valor predeterminado de maxAge se amplía
            a 2 años para que las páginas ya almacenadas en caché sigan siendo
            aptas. Se facturan 5 créditos en caso de acierto de caché y 1
            crédito en caso de fallo de caché.
          type: boolean
        maxAge:
          default: 172800000
          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.
          type: integer
        minAge:
          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."
              }
            ]</>
          type: integer
        mobile:
          default: false
          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.
          type: boolean
        onlyCleanContent:
          default: false
          description: >-
            Beta. Ejecuta una pasada adicional basada en LLM sobre el markdown
            generado para eliminar el contenido repetitivo residual que
            `onlyMainContent` puede pasar por alto (banners de cookies, bloques
            de anuncios, widgets para compartir en redes sociales, rutas de
            navegación, suscripciones a boletines, secciones de comentarios y
            listas de artículos relacionados). Se conservan los encabezados, las
            listas, las tablas, los bloques de código, las referencias de
            imágenes y los enlaces en línea. Puede combinarse con
            `onlyMainContent` (la configuración más habitual) o usarse por sí
            solo. Se omite con una advertencia cuando el markdown supera el
            límite de tokens de salida del modelo de limpieza (se conserva el
            markdown original). No es compatible con solicitudes con retención
            cero de datos.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Devuelve solo el contenido principal de la página, excluyendo
            encabezados, navegación, pies de página, etc. Es un filtro
            determinista a nivel de HTML que se aplica antes de generar el
            markdown; no interviene ningún LLM.
          type: boolean
        parsers:
          default:
            - pdf
          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:
              - additionalProperties: false
                properties:
                  maxPages:
                    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.
                    maximum: 10000
                    minimum: 1
                    type: integer
                  mode:
                    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.
                    enum:
                      - fast
                      - auto
                      - ocr
                    type: string
                  type:
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                type: object
          type: array
        profile:
          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:
              description: >-
                Un nombre para el perfil. Los scraping con el mismo nombre
                comparten el estado del navegador (cookies, localStorage y
                sesiones).
              maxLength: 128
              minLength: 1
              type: string
            saveChanges:
              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.
              type: boolean
          required:
            - name
          type: object
        proxy:
          default: 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**: 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 el scraping. Si el primer intento con **basic** tiene éxito, solo se cobrará el coste normal.
          enum:
            - basic
            - enhanced
            - auto
          type: string
        redactPII:
          default: false
          description: >-
            Redacta la información de identificación personal del markdown
            devuelto. Pasa `true` para usar la configuración predeterminada, o
            un objeto para ajustar el modo, las entidades y el estilo de
            reemplazo.
          oneOf:
            - type: boolean
            - $ref: '#/components/schemas/RedactPIIOptions'
        removeBase64Images:
          default: true
          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.
          type: boolean
        skipTlsVerification:
          default: true
          description: Omitir la verificación de certificados TLS al realizar solicitudes.
          type: boolean
        storeInCache:
          default: true
          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 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.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 60000
          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).
          maximum: 300000
          minimum: 1000
          type: integer
        waitFor:
          default: 0
          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
            Firecrawl.
          type: integer
      type: object
    ScrapeResponse:
      properties:
        data:
          properties:
            actions:
              description: >-
                Resultados de las acciones especificadas en el parámetro
                `actions`. Solo aparece si se proporcionó el parámetro `actions`
                en la solicitud
              nullable: true
              properties:
                javascriptReturns:
                  description: >-
                    Valores de retorno de JavaScript, en el mismo orden que las
                    acciones de executeJavascript proporcionadas.
                  items:
                    properties:
                      type:
                        type: string
                      value: {}
                    type: object
                  type: array
                pdfs:
                  description: >-
                    Archivos PDF generados en el mismo orden que las acciones de
                    PDF proporcionadas.
                  items:
                    type: string
                  type: array
                scrapes:
                  description: >-
                    Extrae el contenido en el mismo orden que las acciones de
                    scraping proporcionadas.
                  items:
                    properties:
                      html:
                        type: string
                      url:
                        type: string
                    type: object
                  type: array
                screenshots:
                  description: >-
                    URLs de las capturas de pantalla, en el mismo orden que las
                    acciones de captura de pantalla indicadas.
                  items:
                    format: url
                    type: string
                  type: array
              type: object
            answer:
              description: >-
                Respuesta en lenguaje natural a la pregunta proporcionada
                mediante el formato `question`. Solo aparece si se incluyó un
                objeto de formato `question` en `formats`.
              nullable: true
              type: string
            audio:
              description: >-
                URL firmada del archivo de audio MP3 extraído si `audio` está en
                `formatos`. La URL firmada caduca al cabo de 1 hora.
              nullable: true
              type: string
            branding:
              description: >-
                Información de marca extraída de la página si `branding` está
                incluido en `formatos`. Incluye colores, fuentes, tipografía,
                espaciado, componentes y más.
              nullable: true
              properties:
                animations:
                  description: Configuración de animaciones y transiciones.
                  nullable: true
                  type: object
                colorScheme:
                  description: Paleta de colores detectada de la página.
                  enum:
                    - light
                    - dark
                  type: string
                colors:
                  description: Colores de la marca extraídos de la página.
                  nullable: true
                  properties:
                    accent:
                      description: Color de acento (hex).
                      type: string
                    background:
                      description: Color de fondo (hex).
                      type: string
                    error:
                      description: Color de error/peligro (hexadecimal).
                      type: string
                    link:
                      description: Color de los enlaces (hex).
                      type: string
                    primary:
                      description: Color principal de la marca (hex).
                      type: string
                    secondary:
                      description: Color secundario de la marca (hex).
                      type: string
                    success:
                      description: Color de éxito/positivo (hexadecimal).
                      type: string
                    textPrimary:
                      description: Color principal del texto (hex).
                      type: string
                    textSecondary:
                      description: Color secundario del texto (hex).
                      type: string
                    warning:
                      description: Color de advertencia (hexadecimal).
                      type: string
                  type: object
                components:
                  description: Estilos de componentes de la interfaz de usuario.
                  nullable: true
                  properties:
                    buttonPrimary:
                      description: Estilos del botón principal.
                      properties:
                        background:
                          type: string
                        borderRadius:
                          type: string
                        textColor:
                          type: string
                      type: object
                    buttonSecondary:
                      description: Estilos de botones secundarios.
                      properties:
                        background:
                          type: string
                        borderColor:
                          type: string
                        borderRadius:
                          type: string
                        textColor:
                          type: string
                      type: object
                    input:
                      description: Estilos de campos de entrada.
                      type: object
                  type: object
                fonts:
                  description: Lista de familias tipográficas usadas en la página.
                  items:
                    properties:
                      family:
                        description: Nombre de la familia tipográfica.
                        type: string
                    type: object
                  nullable: true
                  type: array
                icons:
                  description: Estilos de íconos.
                  nullable: true
                  type: object
                images:
                  description: Imágenes de la marca.
                  nullable: true
                  properties:
                    favicon:
                      description: URL del favicon.
                      type: string
                    logo:
                      description: URL de la imagen del logotipo.
                      type: string
                    ogImage:
                      description: URL de la imagen de Open Graph.
                      type: string
                  type: object
                layout:
                  description: >-
                    Configuración de diseño de la página (rejilla, alturas de
                    encabezado y pie de página).
                  nullable: true
                  type: object
                logo:
                  description: URL del logotipo principal.
                  nullable: true
                  type: string
                personality:
                  description: >-
                    Atributos de personalidad de la marca (tono, energía,
                    público objetivo).
                  nullable: true
                  type: object
                spacing:
                  description: Información de espaciado y maquetación.
                  nullable: true
                  properties:
                    baseUnit:
                      description: Unidad base de espaciado en píxeles.
                      type: integer
                    borderRadius:
                      description: Radio de borde por defecto.
                      type: string
                    margins:
                      description: Valores de margen.
                      type: object
                    padding:
                      description: Valores de espaciado interno (padding).
                      type: object
                  type: object
                typography:
                  description: Información detallada sobre tipografía.
                  nullable: true
                  properties:
                    fontFamilies:
                      description: Familias tipográficas según su función.
                      properties:
                        code:
                          description: Familia tipográfica para código (monoespaciada).
                          type: string
                        heading:
                          description: Familia tipográfica para encabezados.
                          type: string
                        primary:
                          description: Familia tipográfica principal.
                          type: string
                      type: object
                    fontSizes:
                      description: Tamaños de fuente para diferentes jerarquías de texto.
                      properties:
                        body:
                          type: string
                        h1:
                          type: string
                        h2:
                          type: string
                        h3:
                          type: string
                      type: object
                    fontWeights:
                      description: Definiciones de pesos de fuente.
                      properties:
                        bold:
                          type: integer
                        light:
                          type: integer
                        medium:
                          type: integer
                        regular:
                          type: integer
                      type: object
                    lineHeights:
                      description: >-
                        Valores de altura de línea para diferentes tipos de
                        texto.
                      properties:
                        body:
                          type: string
                        heading:
                          type: string
                      type: object
                  type: object
              type: object
            changeTracking:
              description: >-
                Información de seguimiento de cambios cuando `changeTracking`
                está en `formats`. Solo está presente cuando se solicita el
                formato `changeTracking`.
              nullable: true
              properties:
                changeStatus:
                  description: >-
                    El resultado de la comparación entre las dos versiones de la
                    página. "new" indica que esta página no existía antes,
                    "same" indica que el contenido no ha cambiado, "changed"
                    indica que el contenido ha cambiado y "removed" indica que
                    la página fue eliminada.
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  type: string
                diff:
                  description: >-
                    Diff de los cambios al estilo Git cuando se usa el modo
                    `git-diff`. Solo está presente cuando el modo está
                    configurado en `git-diff`.
                  nullable: true
                  type: string
                json:
                  description: >-
                    Resultados de comparación en JSON cuando se usa el modo
                    `json`. Solo aparece cuando el modo está configurado en
                    `json`. Genera una lista de todas las claves y sus valores
                    de los scrapes `previous` y `current`, según el tipo
                    definido en el `schema`. Ejemplo
                    [aquí](/features/change-tracking)
                  nullable: true
                  type: object
                previousScrapeAt:
                  description: >-
                    La marca de tiempo del rastreo anterior con la que se
                    compara la página actual. Es null si no existe un rastreo
                    anterior.
                  format: date-time
                  nullable: true
                  type: string
                visibility:
                  description: >-
                    La visibilidad de la página o URL actual. "visible"
                    significa que la URL se descubrió por una ruta orgánica
                    (enlaces o sitemap), y "hidden" significa que la URL se
                    descubrió a partir de la memoria de rastreos anteriores.
                  enum:
                    - visible
                    - hidden
                  type: string
              type: object
            highlights:
              description: >-
                Texto fuente relevante seleccionado por el formato `highlights`.
                Solo aparece si se incluyó un objeto de formato `highlights` en
                `formats`.
              nullable: true
              type: string
            html:
              description: >-
                HTML limpio de la página si `html` está incluido en `formatos`.
                Elimina las etiquetas `<script>`, `<style>`, `<noscript>`,
                `<meta>` y `<head>`; convierte las URL relativas en absolutas;
                resuelve el `srcset` de imágenes responsive a la variante de
                mayor tamaño. Respeta los filtros `onlyMainContent`,
                `includeTags` y `excludeTags`.
              nullable: true
              type: string
            links:
              description: >-
                Lista de enlaces de la página si `links` está incluido en
                `formats`
              items:
                type: string
              type: array
            markdown:
              type: string
            menu:
              description: >-
                Información del menú extraída de la página si `menu` está en
                `formatos`. Incluye el comercio, la moneda y una lista de
                secciones, donde cada sección contiene elementos con
                descripción, imágenes, precio, disponibilidad, etiquetas
                dietéticas, calorías y grupos de opciones.
              nullable: true
              properties:
                confidence:
                  description: >-
                    Una puntuación de confianza entre 0 y 1 para la extracción
                    del menú.
                  type: number
                currency:
                  description: >-
                    El código de moneda ISO 4217 del menú (p. ej., 'USD'),
                    informado solo cuando la página lo proporciona.
                  type: string
                isMenu:
                  description: Indica si la página se identificó como un menú.
                  type: boolean
                merchant:
                  description: El comercio al que pertenece el menú.
                  properties:
                    name:
                      description: El nombre del comercio.
                      type: string
                    type:
                      description: El tipo de comercio (p. ej., 'restaurant').
                      type: string
                  required:
                    - name
                  type: object
                sections:
                  description: Secciones del menú (p. ej., 'Appetizers', 'Entrees').
                  items:
                    properties:
                      description:
                        description: La descripción de la sección.
                        nullable: true
                        type: string
                      id:
                        description: El identificador de la sección.
                        type: string
                      items:
                        description: Los elementos de la sección.
                        items:
                          properties:
                            availability:
                              description: La disponibilidad del elemento.
                              properties:
                                inStock:
                                  description: Indica si el elemento está disponible.
                                  type: boolean
                                text:
                                  description: >-
                                    Texto de disponibilidad legible para
                                    personas.
                                  nullable: true
                                  type: string
                              required:
                                - inStock
                              type: object
                            calories:
                              description: La cantidad de calorías del elemento.
                              nullable: true
                              type: number
                            description:
                              description: La descripción del elemento.
                              nullable: true
                              type: string
                            dietary:
                              description: >-
                                Etiquetas dietéticas del elemento (p. ej.,
                                ['vegetarian']).
                              items:
                                type: string
                              type: array
                            id:
                              description: El identificador del elemento.
                              type: string
                            identifiers:
                              description: >-
                                Identificadores del elemento específicos del
                                comercio.
                              properties:
                                merchantItemId:
                                  description: El ID propio del elemento del comercio.
                                  type: string
                              type: object
                            images:
                              description: Imágenes del elemento.
                              items:
                                properties:
                                  alt:
                                    description: Texto alternativo de la imagen.
                                    nullable: true
                                    type: string
                                  url:
                                    description: URL de la imagen.
                                    type: string
                                required:
                                  - url
                                type: object
                              type: array
                            name:
                              description: El nombre del elemento.
                              type: string
                            optionGroups:
                              description: Grupos de opciones/modificadores del elemento.
                              items:
                                type: object
                              type: array
                            price:
                              description: El precio del elemento.
                              properties:
                                amount:
                                  description: El importe numérico del precio.
                                  type: number
                                currency:
                                  description: >-
                                    El código de moneda ISO 4217 (p. ej.,
                                    'USD').
                                  type: string
                                formatted:
                                  description: >-
                                    El precio con formato para su visualización
                                    (p. ej., '$7.99').
                                  type: string
                              required:
                                - amount
                              type: object
                            sourceUrl:
                              description: La URL de la que se extrajo el elemento.
                              nullable: true
                              type: string
                            url:
                              description: La URL canónica del elemento.
                              nullable: true
                              type: string
                          required:
                            - name
                          type: object
                        type: array
                      name:
                        description: El nombre de la sección.
                        type: string
                    required:
                      - name
                      - items
                    type: object
                  type: array
                sourceUrl:
                  description: La URL de la que se extrajo el menú.
                  nullable: true
                  type: string
              required:
                - isMenu
                - sections
              type: object
            metadata:
              properties:
                '<any other metadata> ':
                  description: >-
                    Otros metadatos extraídos del HTML, pueden ser una cadena o
                    un array de cadenas
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                concurrencyLimited:
                  description: >-
                    Si este scraping se limitó debido a los límites de
                    concurrencia del equipo
                  type: boolean
                concurrencyQueueDurationMs:
                  description: >-
                    Tiempo, en milisegundos, que la solicitud permaneció en la
                    cola de concurrencia. Solo se incluye cuando
                    concurrencyLimited es true.
                  type: number
                contentType:
                  description: >-
                    El tipo de contenido (tipo MIME) de la página, por ejemplo,
                    text/html, application/pdf
                  type: string
                description:
                  description: >-
                    Descripción extraída de la página, puede ser una cadena de
                    texto o un array de cadenas
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                error:
                  description: El mensaje de error de la página
                  nullable: true
                  type: string
                keywords:
                  description: >-
                    Palabras clave extraídas de la página; puede ser una cadena
                    o un array de cadenas
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                language:
                  description: >-
                    Idioma extraído de la página; puede ser una cadena de texto
                    o un array de cadenas de texto
                  nullable: true
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                numPages:
                  description: >-
                    Para entradas PDF, el número de páginas procesadas (limitado
                    por la opción maxPages de los analizadores).
                  type: integer
                ogLocaleAlternate:
                  description: Locales alternativos de la página
                  items:
                    type: string
                  type: array
                sourceURL:
                  description: >-
                    La URL original solicitada. Puede diferir de la URL final de
                    la página si hubo redirecciones.
                  format: uri
                  type: string
                statusCode:
                  description: El código de estado de la página
                  type: integer
                title:
                  description: >-
                    Título extraído de la página, puede ser una cadena de texto
                    o un array de cadenas de texto
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                totalPages:
                  description: >-
                    Para entradas PDF, el número real de páginas del documento
                    antes de que se aplique cualquier límite de maxPages. Se
                    omite cuando no puede determinarse; un totalPages mayor que
                    numPages indica que el resultado se truncó.
                  type: integer
                url:
                  description: >-
                    La URL final de la página después de seguir todas las
                    redirecciones.
                  format: uri
                  type: string
              type: object
            product:
              description: >-
                Información del producto extraída de la página si `product` está
                en `formatos`. Incluye título, marca, categoría, descripción y
                variantes. El precio, la disponibilidad y las imágenes están en
                cada variante.
              nullable: true
              properties:
                brand:
                  description: La marca o el fabricante del producto.
                  type: string
                category:
                  description: >-
                    La categoría del producto, opcionalmente como una ruta de
                    navegación (p. ej., 'Electronics > Audio > Headphones').
                  type: string
                description:
                  description: La descripción del producto.
                  type: string
                title:
                  description: El título del producto.
                  type: string
                url:
                  description: La URL canónica de la página del producto.
                  type: string
                variants:
                  description: >-
                    Variantes del producto (p. ej., diferentes colores o
                    tallas).
                  items:
                    properties:
                      availability:
                        description: >-
                          La disponibilidad de la variante. Siempre está
                          presente en una variante.
                        properties:
                          inStock:
                            description: Indica si la variante está en stock.
                            type: boolean
                          text:
                            description: >-
                              Texto de disponibilidad legible para personas (p.
                              ej., 'In Stock').
                            type: string
                        required:
                          - inStock
                        type: object
                      id:
                        description: El identificador de la variante.
                        type: string
                      images:
                        description: Imágenes de la variante.
                        items:
                          properties:
                            alt:
                              description: Texto alternativo de la imagen.
                              type: string
                            url:
                              description: URL de la imagen.
                              type: string
                          required:
                            - url
                          type: object
                        type: array
                      price:
                        description: El precio actual de la variante.
                        properties:
                          amount:
                            description: El importe numérico del precio.
                            type: number
                          currency:
                            description: El código de moneda ISO 4217 (p. ej., 'USD').
                            type: string
                          formatted:
                            description: >-
                              El precio con formato para mostrar (p. ej.,
                              '$199.99').
                            type: string
                        required:
                          - amount
                        type: object
                      sale:
                        description: >-
                          Información de oferta o descuento de la variante,
                          presente cuando la variante tiene descuento.
                        properties:
                          originalPrice:
                            description: >-
                              El precio original de la variante (antes del
                              descuento).
                            properties:
                              amount:
                                description: El importe numérico del precio.
                                type: number
                              currency:
                                description: El código de moneda ISO 4217 (p. ej., 'USD').
                                type: string
                              formatted:
                                description: >-
                                  El precio con formato para mostrar (p. ej.,
                                  '$249.99').
                                type: string
                            required:
                              - amount
                            type: object
                        required:
                          - originalPrice
                        type: object
                      sku:
                        description: El SKU de la variante.
                        type: string
                      title:
                        description: El título de la variante.
                        type: string
                      values:
                        additionalProperties:
                          type: string
                        description: >-
                          Los valores de las opciones de la variante (p. ej., {
                          "color": "Black" }).
                        type: object
                    required:
                      - availability
                    type: object
                  type: array
              required:
                - title
                - url
                - variants
              type: object
            rawHtml:
              description: >-
                El HTML exacto, sin modificar, tal como se recibe de la página
                si `rawHtml` está incluido en `formatos`. No se aplica ningún
                tipo de limpieza ni filtrado.
              nullable: true
              type: string
            screenshot:
              description: >-
                Captura de pantalla de la página si `screenshot` está incluido
                en `formats`. Las capturas de pantalla caducan después de 24
                horas y ya no podrán descargarse.
              nullable: true
              type: string
            summary:
              description: Resumen de la página si `summary` se incluye en `formats`
              nullable: true
              type: string
            video:
              description: >-
                URL firmada del archivo de vídeo extraído si `video` está en
                `formats`. La URL firmada caduca al cabo de 1 hora.
              nullable: true
              type: string
            warning:
              description: >-
                Puede mostrarse al usar LLM Extraction. El mensaje de
                advertencia te informará de cualquier problema con la
                extracción.
              nullable: true
              type: string
          type: object
        success:
          type: boolean
      type: object
    Formats:
      default:
        - markdown
      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: {...} }]`.
      items:
        oneOf:
          - properties:
              type:
                enum:
                  - markdown
                type: string
            required:
              - type
            title: Markdown
            type: object
          - properties:
              type:
                enum:
                  - summary
                type: string
            required:
              - type
            title: Summary
            type: object
          - properties:
              type:
                enum:
                  - html
                type: string
            required:
              - type
            title: HTML
            type: object
          - properties:
              type:
                enum:
                  - rawHtml
                type: string
            required:
              - type
            title: Raw HTML
            type: object
          - properties:
              type:
                enum:
                  - links
                type: string
            required:
              - type
            title: Links
            type: object
          - properties:
              type:
                enum:
                  - images
                type: string
            required:
              - type
            title: Images
            type: object
          - properties:
              fullPage:
                default: false
                description: >-
                  Determina si se debe tomar una captura de pantalla de página
                  completa (omitiendo viewport.height) o limitarla al viewport
                  actual.
                type: boolean
              quality:
                description: >-
                  La calidad de la captura de pantalla, del 1 al 100. 100 es la
                  calidad más alta.
                type: integer
              type:
                enum:
                  - screenshot
                type: string
              viewport:
                properties:
                  height:
                    description: Altura del viewport en píxeles
                    type: integer
                  width:
                    description: El ancho del viewport en píxeles
                    type: integer
                required:
                  - width
                  - height
                type: object
            required:
              - type
            title: Screenshot
            type: object
          - properties:
              prompt:
                description: El prompt que se utilizará para la salida en formato JSON
                type: string
              schema:
                description: >-
                  El esquema que se utilizará para la salida en formato JSON.
                  Debe ajustarse a [JSON Schema](https://json-schema.org/).
                type: object
              type:
                enum:
                  - json
                type: string
            required:
              - type
            title: JSON
            type: object
          - properties:
              modes:
                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.
                items:
                  enum:
                    - git-diff
                    - json
                  type: string
                type: array
              prompt:
                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.
                type: string
              schema:
                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/).
                type: object
              tag:
                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).
                nullable: true
                type: string
              type:
                enum:
                  - changeTracking
                type: string
            required:
              - type
            title: Change Tracking
            type: object
          - properties:
              type:
                enum:
                  - branding
                type: string
            required:
              - type
            title: Branding
            type: object
          - properties:
              type:
                enum:
                  - product
                type: string
            required:
              - type
            title: Product
            type: object
          - properties:
              type:
                enum:
                  - menu
                type: string
            required:
              - type
            title: Menu
            type: object
          - description: >-
              Extrae audio (MP3) de URLs de video compatibles, p. ej., YouTube.
              Devuelve una URL firmada de GCS.
            properties:
              type:
                enum:
                  - audio
                type: string
            required:
              - type
            title: Audio
            type: object
          - description: >-
              Extrae video en la mejor calidad de URLs de video compatibles, p.
              ej., YouTube. Devuelve una URL firmada de GCS.
            properties:
              type:
                enum:
                  - video
                type: string
            required:
              - type
            title: Video
            type: object
          - description: >-
              Haz una question en lenguaje natural sobre la página. Devuelve la
              respuesta en el campo `answer` de la respuesta.
            properties:
              question:
                description: >-
                  La question que se debe responder sobre la página. Máximo
                  10.000 caracteres.
                maxLength: 10000
                type: string
              type:
                enum:
                  - question
                type: string
            required:
              - type
              - question
            title: Question
            type: object
          - description: >-
              Encuentra texto fuente relevante en la página. Devuelve el texto
              seleccionado en el campo `highlights` de la respuesta.
            properties:
              query:
                description: >-
                  La consulta de selección de texto que se ejecutará en la
                  página. Máximo 10.000 caracteres.
                maxLength: 10000
                type: string
              type:
                enum:
                  - highlights
                type: string
            required:
              - type
              - query
            title: Highlights
            type: object
      type: array
    RedactPIIOptions:
      additionalProperties: false
      description: Opciones de ajuste para la redacción de IIP.
      properties:
        entities:
          description: >-
            Restringe la redacción a estas categorías de entidades. Si se omite,
            se redactan todas las entidades compatibles.
          items:
            $ref: '#/components/schemas/RedactPIIEntity'
          type: array
        mode:
          default: accurate
          description: >-
            Estrategia de redacción. `accurate` usa solo el modelo y está
            optimizada para la precisión, `aggressive` aumenta la cobertura con
            heurísticas adicionales, y `fast` usa heurísticas sin llamar al
            modelo.
          enum:
            - accurate
            - aggressive
            - fast
          type: string
        replaceStyle:
          default: tag
          description: >-
            `tag` reemplaza los fragmentos por marcadores como `<EMAIL>`, `mask`
            reemplaza los caracteres por `*` y `remove` elimina el texto del
            fragmento.
          enum:
            - tag
            - mask
            - remove
          type: string
      type: object
    ThreatProtectionOverride:
      description: >-
        Anulación por solicitud de [Protección contra
        amenazas](https://docs.firecrawl.dev/features/threat-protection). Los
        campos que proporciones reemplazan los campos correspondientes de la
        política de tu organización solo para esta solicitud; los campos
        omitidos conservan sus valores a nivel de organización. Requiere que
        Protección contra amenazas esté habilitada para tu equipo (función
        enterprise); de lo contrario, la solicitud se rechaza con un 403. Si tu
        organización ha deshabilitado las anulaciones por solicitud, cualquier
        solicitud que incluya este objeto se rechaza con un 403. Si Protección
        contra amenazas se aplica de forma obligatoria a tu equipo, `mode` no
        puede establecerse en `off`.
      properties:
        blacklist:
          description: >-
            Dominios que siempre se deben bloquear, como dominios simples
            (`example.com`) o patrones con comodines (`*.example.com`). Sin
            protocolo, ruta ni puerto.
          items:
            type: string
          maxItems: 1000
          type: array
        blockedTlds:
          description: >-
            Dominios de nivel superior que se bloquean directamente, en
            minúsculas y sin el punto inicial (p. ej., `zip`).
          items:
            type: string
          maxItems: 1000
          type: array
        failurePolicy:
          description: >-
            Qué hacer cuando no se puede acceder al clasificador: `closed`
            bloquea la solicitud; `open` la permite.
          enum:
            - open
            - closed
          type: string
        mode:
          description: >-
            Modo de análisis de URL para esta solicitud. `normal` verifica las
            URL con Google Web Risk (+2 créditos por URL analizada).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Puntuación de riesgo normalizada (0–100) a partir de la cual el
            veredicto de un clasificador bloquea la URL. Cuanto más bajo, más
            estricto.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Dominios que siempre se deben permitir, como dominios simples o
            patrones con comodines. Tiene prioridad sobre cualquier otra regla.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
    RedactPIIEntity:
      description: >-
        Categorías públicas de entidades de IIP compatibles con la redacción de
        Firecrawl.
      enum:
        - PERSON
        - EMAIL
        - PHONE
        - LOCATION
        - FINANCIAL
        - SECRET
      type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````