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

# Scrapear

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


## OpenAPI

````yaml es/api-reference/v1-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: v1
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: >-
        Realiza scraping de una única URL y, opcionalmente, extrae información
        usando un LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - properties:
                    url:
                      description: La URL que se va a rastrear
                      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
                        conservación de datos para esta extracción. 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:
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                type: object
          description: Error del servidor
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - properties:
            changeTrackingOptions:
              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:
                  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.
                  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 especifica, se utilizará el
                    prompt predeterminado.
                  type: string
                schema:
                  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/).
                  type: object
                tag:
                  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).
                  nullable: true
                  type: string
              type: object
            formats:
              default:
                - markdown
              description: Formatos que se incluirán en el resultado.
              items:
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
                type: string
              type: array
          type: object
    ScrapeResponse:
      properties:
        data:
          properties:
            actions:
              description: >-
                Resultados de las acciones especificadas en el parámetro
                `actions`. Solo se incluye si se proporcionó el parámetro
                `actions` en la solicitud
              nullable: true
              properties:
                javascriptReturns:
                  description: >-
                    Valores devueltos por JavaScript, en el mismo orden que las
                    acciones 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 los contenidos en el mismo orden que las acciones de
                    scrape 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 proporcionadas. Las capturas
                    de pantalla caducan después de 24 horas y dejan de estar
                    disponibles para su descarga.
                  items:
                    format: url
                    type: string
                  type: array
              type: object
            changeTracking:
              description: >-
                Información de seguimiento de cambios cuando `changeTracking`
                está incluido en `formats`. Solo se muestra 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 se eliminó.
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  type: string
                diff:
                  description: >-
                    Diff al estilo Git de los cambios al usar el modo
                    'git-diff'. Solo se muestra cuando el modo está configurado
                    en 'git-diff'.
                  nullable: true
                  type: string
                json:
                  description: >-
                    Resultados de comparación en formato JSON al usar el modo
                    `json`. Solo está presente cuando el modo se establece en
                    `json`. Esto generará una lista de todas las claves y sus
                    valores de las extracciones `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. Nulo 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 encontró mediante una ruta orgánica
                    (enlaces o mapa del sitio), ‘hidden’ significa que la URL se
                    encontró usando la memoria de rastreos anteriores.
                  enum:
                    - visible
                    - hidden
                  type: string
              type: object
            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 las imágenes responsivas a la versión de
                mayor tamaño disponible. Respeta los filtros `onlyMainContent`,
                `includeTags` y `excludeTags`.
              nullable: true
              type: string
            links:
              description: >-
                Lista de enlaces en la página si `links` está incluido en
                `formats`
              items:
                type: string
              type: array
            llm_extraction:
              description: >-
                Se muestra cuando se utiliza LLM Extraction. Datos extraídos de
                la página siguiendo el esquema definido.
              nullable: true
              type: object
            markdown:
              type: string
            metadata:
              properties:
                '<any other metadata> ':
                  type: string
                description:
                  type: string
                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:
                  nullable: true
                  type: string
                numPages:
                  description: >-
                    Para entradas PDF, el número de páginas procesadas (limitado
                    por la opción maxPages del parser).
                  type: integer
                ogLocaleAlternate:
                  description: Idiomas alternativos para la página
                  items:
                    type: string
                  type: array
                sourceURL:
                  format: uri
                  type: string
                statusCode:
                  description: El código de estado de la página
                  type: integer
                title:
                  type: string
                totalPages:
                  description: >-
                    Para entradas PDF, el número real de páginas del documento
                    antes de aplicar cualquier límite de maxPages. Se omite si
                    no se puede determinar; si totalPages es mayor que numPages,
                    el resultado se truncó.
                  type: integer
              type: object
            rawHtml:
              description: >-
                El HTML exacto y sin modificar tal y como se recibe de la página
                si `rawHtml` está incluido en `formatos`. No se aplica ninguna
                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 se pueden descargar.
              nullable: true
              type: string
            warning:
              description: >-
                Puede mostrarse al usar la extracción con LLM. El mensaje de
                advertencia te avisará de cualquier problema en la extracción.
              nullable: true
              type: string
          type: object
        success:
          type: boolean
      type: object
    BaseScrapeOptions:
      properties:
        actions:
          description: >-
            Acciones que se ejecutarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - properties:
                  milliseconds:
                    description: Número de milisegundos que se debe esperar
                    minimum: 1
                    type: integer
                  selector:
                    description: Selector de búsqueda para encontrar el elemento por
                    example: '#my-element'
                    type: string
                  type:
                    description: Espera una cantidad de milisegundos especificada
                    enum:
                      - wait
                    type: string
                required:
                  - type
                title: Wait
                type: object
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Indica si se debe capturar una captura de pantalla de toda
                      la página o solo del 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: >-
                      Haz una captura de pantalla. Los enlaces estarán en el
                      array `actions.screenshots` de la respuesta.
                    enum:
                      - screenshot
                    type: string
                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 buscar el elemento por
                    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 escribir
                    example: Hello, world!
                    type: string
                  type:
                    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.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - 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:
                  key:
                    description: Tecla a 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: Dirección de desplazamiento
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Selector (query selector) del elemento que se desplazará
                    example: '#my-element'
                    type: string
                  type:
                    description: Desplazar la página o un elemento específico
                    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 ventanas emergentes de cookies.
          type: boolean
        excludeTags:
          description: Etiquetas que se excluirán de la salida.
          items:
            type: string
          type: array
        headers:
          description: >-
            Cabeceras que se enviarán con la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
          type: object
        includeTags:
          description: Etiquetas que se deben incluir en la salida.
          items:
            type: string
          type: array
        jsonOptions:
          description: Objeto de opciones JSON
          properties:
            prompt:
              description: >-
                El prompt que se utilizará para la extracción sin esquema
                (opcional)
              type: string
            schema:
              description: >-
                El esquema que se utilizará para la extracción (opcional). Debe
                ajustarse a [JSON Schema](https://json-schema.org/).
              type: object
            systemPrompt:
              description: El prompt del sistema que se usará para la extracción (opcional)
              type: string
          type: object
        location:
          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:
              default: US
              description: >-
                Código de país ISO 3166-1 alfa-2 (por ejemplo, «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
                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:
                example: en-US
                type: string
              type: array
          type: object
        maxAge:
          default: 0
          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é.
          type: integer
        mobile:
          default: false
          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.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Devuelve únicamente el contenido principal de la página, excluyendo
            encabezados, elementos de navegación, pies de página, etc.
          type: boolean
        parsePDF:
          default: true
          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.
          type: boolean
        proxy:
          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.
          enum:
            - basic
            - enhanced
            - auto
          type: string
        removeBase64Images:
          default: true
          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.
          type: boolean
        skipTlsVerification:
          default: false
          description: Omitir la verificación del certificado 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 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.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 30000
          description: Tiempo de espera de la solicitud en milisegundos
          type: integer
        waitFor:
          default: 0
          description: >-
            Especifica un retraso, en milisegundos, antes de obtener el
            contenido, permitiendo que la página tenga tiempo suficiente para
            cargarse.
          type: integer
      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 para tu equipo, `mode` no
        puede establecerse en `off`.
      properties:
        blacklist:
          description: >-
            Dominios que siempre se bloquearán, como dominios simples
            (`example.com`) o patrones comodín (`*.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 contactar con el 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` comprueba las
            URL con Google Web Risk (+2 créditos por cada URL analizada).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Puntuación de riesgo normalizada (0–100) a partir de la cual un
            veredicto del clasificador bloquea la URL. Cuanto más bajo sea el
            valor, más estricto será.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Dominios que siempre se permitirán, como dominios simples o patrones
            comodín. Tiene prioridad sobre cualquier otra regla.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````