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

# 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:
  title: Firecrawl API
  version: v1
  description: >-
    API para interactuar con los servicios de Firecrawl y realizar tareas de
    scraping y rastreo web.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: >-
        Realiza scraping de una única URL y, opcionalmente, extrae información
        usando un LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    url:
                      type: string
                      format: uri
                      description: La URL que se va a rastrear
                  required:
                    - url
                - $ref: '#/components/schemas/ScrapeOptions'
                - type: object
                  properties:
                    zeroDataRetention:
                      type: boolean
                      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
      responses:
        '200':
          description: Respuesta satisfactoria
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
        '402':
          description: Se requiere pago
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Payment required to access this resource.
        '429':
          description: Demasiadas solicitudes
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
        '500':
          description: Error del servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - type: object
          properties:
            formats:
              type: array
              items:
                type: string
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
              description: Formatos que se incluirán en el resultado.
              default:
                - markdown
            changeTrackingOptions:
              type: object
              description: >-
                Opciones de seguimiento de cambios (Beta). Solo aplicable cuando
                'changeTracking' está incluido en los formatos. El formato
                'markdown' también debe especificarse al usar el seguimiento de
                cambios.
              properties:
                modes:
                  type: array
                  items:
                    type: string
                    enum:
                      - git-diff
                      - json
                  description: >-
                    El modo que se utilizará para el seguimiento de cambios.
                    'git-diff' proporciona un diff detallado y 'json' compara
                    los datos JSON extraídos.
                schema:
                  type: object
                  description: >-
                    Esquema para la extracción en modo `json`. Define la
                    estructura de los datos que se van a extraer y comparar.
                    Debe ajustarse a [JSON Schema](https://json-schema.org/).
                prompt:
                  type: string
                  description: >-
                    Prompt que se usará para el seguimiento de cambios cuando se
                    utilice el modo «json». Si no se especifica, se utilizará el
                    prompt predeterminado.
                tag:
                  type: string
                  nullable: true
                  default: null
                  description: >-
                    Etiqueta que se usará para el seguimiento de cambios. Las
                    etiquetas pueden separar el historial de seguimiento de
                    cambios en «ramas» independientes, donde el seguimiento de
                    cambios con una etiqueta específica solo se comparará con
                    extracciones (scrapes) realizadas con la misma etiqueta. Si
                    no se proporciona, se usará la etiqueta predeterminada
                    (null).
    ScrapeResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          type: object
          properties:
            markdown:
              type: string
            html:
              type: string
              nullable: true
              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`.
            rawHtml:
              type: string
              nullable: true
              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.
            screenshot:
              type: string
              nullable: true
              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.
            links:
              type: array
              items:
                type: string
              description: >-
                Lista de enlaces en la página si `links` está incluido en
                `formats`
            actions:
              type: object
              nullable: true
              description: >-
                Resultados de las acciones especificadas en el parámetro
                `actions`. Solo se incluye si se proporcionó el parámetro
                `actions` en la solicitud
              properties:
                screenshots:
                  type: array
                  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:
                    type: string
                    format: url
                scrapes:
                  type: array
                  description: >-
                    Extrae los contenidos en el mismo orden que las acciones de
                    scrape proporcionadas.
                  items:
                    type: object
                    properties:
                      url:
                        type: string
                      html:
                        type: string
                javascriptReturns:
                  type: array
                  description: >-
                    Valores devueltos por JavaScript, en el mismo orden que las
                    acciones executeJavascript proporcionadas.
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                      value: {}
                pdfs:
                  type: array
                  description: >-
                    Archivos PDF generados, en el mismo orden que las acciones
                    de PDF proporcionadas.
                  items:
                    type: string
            metadata:
              type: object
              properties:
                title:
                  type: string
                description:
                  type: string
                language:
                  type: string
                  nullable: true
                sourceURL:
                  type: string
                  format: uri
                keywords:
                  oneOf:
                    - type: string
                    - type: array
                      items:
                        type: string
                  description: >-
                    Palabras clave extraídas de la página; puede ser una cadena
                    o un array de cadenas
                ogLocaleAlternate:
                  type: array
                  items:
                    type: string
                  description: Idiomas alternativos para la página
                '<any other metadata> ':
                  type: string
                statusCode:
                  type: integer
                  description: El código de estado de la página
                error:
                  type: string
                  nullable: true
                  description: El mensaje de error de la página
            llm_extraction:
              type: object
              description: >-
                Se muestra cuando se utiliza LLM Extraction. Datos extraídos de
                la página siguiendo el esquema definido.
              nullable: true
            warning:
              type: string
              nullable: true
              description: >-
                Puede mostrarse al usar la extracción con LLM. El mensaje de
                advertencia te avisará de cualquier problema en la extracción.
            changeTracking:
              type: object
              nullable: true
              description: >-
                Información de seguimiento de cambios cuando `changeTracking`
                está incluido en `formats`. Solo se muestra cuando se solicita
                el formato `changeTracking`.
              properties:
                previousScrapeAt:
                  type: string
                  format: date-time
                  nullable: true
                  description: >-
                    La marca de tiempo del rastreo anterior con la que se
                    compara la página actual. Nulo si no existe un rastreo
                    anterior.
                changeStatus:
                  type: string
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  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ó.
                visibility:
                  type: string
                  enum:
                    - visible
                    - hidden
                  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.
                diff:
                  type: string
                  nullable: true
                  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'.
                json:
                  type: object
                  nullable: true
                  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)
    BaseScrapeOptions:
      type: object
      properties:
        onlyMainContent:
          type: boolean
          description: >-
            Devuelve únicamente el contenido principal de la página, excluyendo
            encabezados, elementos de navegación, pies de página, etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se deben incluir en la salida.
        excludeTags:
          type: array
          items:
            type: string
          description: Etiquetas que se excluirán de la salida.
        maxAge:
          type: integer
          description: >-
            Devuelve una versión en caché de la página si su antigüedad es menor
            que este valor, en milisegundos. Si la versión en caché de la página
            es más antigua que este valor, la página se volverá a scrapear. Si
            no necesitas datos extremadamente recientes, activar esta opción
            puede acelerar tus procesos de scraping hasta un 500 %. El valor
            predeterminado es 0, lo que desactiva la caché.
          default: 0
        headers:
          type: object
          description: >-
            Cabeceras que se enviarán con la solicitud. Pueden usarse para
            enviar cookies, user-agent, etc.
        waitFor:
          type: integer
          description: >-
            Especifica un retraso, en milisegundos, antes de obtener el
            contenido, permitiendo que la página tenga tiempo suficiente para
            cargarse.
          default: 0
        mobile:
          type: boolean
          description: >-
            Configúralo en `true` si quieres emular el scraping desde un
            dispositivo móvil. Es útil para probar páginas responsive y tomar
            capturas de pantalla en dispositivos móviles.
          default: false
        skipTlsVerification:
          type: boolean
          description: Omitir la verificación del certificado TLS al realizar solicitudes
          default: false
        timeout:
          type: integer
          description: Tiempo de espera de la solicitud en milisegundos
          default: 30000
        parsePDF:
          type: boolean
          description: >-
            Controla cómo se procesan los archivos PDF durante el scraping.
            Cuando es true, el contenido del PDF se extrae y se convierte al
            formato Markdown, y la facturación se basa en el número de páginas
            (1 crédito por página). Cuando es false, el archivo PDF se devuelve
            codificado en base64 con una tarifa plana total de 1 crédito.
          default: true
        jsonOptions:
          type: object
          description: Objeto de opciones JSON
          properties:
            schema:
              type: object
              description: >-
                El esquema que se utilizará para la extracción (opcional). Debe
                ajustarse a [JSON Schema](https://json-schema.org/).
            systemPrompt:
              type: string
              description: El prompt del sistema que se usará para la extracción (opcional)
            prompt:
              type: string
              description: >-
                El prompt que se utilizará para la extracción sin esquema
                (opcional)
        actions:
          type: array
          description: >-
            Acciones que se ejecutarán en la página antes de extraer el
            contenido
          items:
            oneOf:
              - type: object
                title: Wait
                properties:
                  type:
                    type: string
                    enum:
                      - wait
                    description: Espera una cantidad de milisegundos especificada
                  milliseconds:
                    type: integer
                    minimum: 1
                    description: Número de milisegundos que se debe esperar
                  selector:
                    type: string
                    description: Selector de búsqueda para encontrar el elemento por
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Haz una captura de pantalla. Los enlaces estarán en el
                      array `actions.screenshots` de la respuesta.
                  fullPage:
                    type: boolean
                    description: >-
                      Indica si se debe capturar una captura de pantalla de toda
                      la página o solo del viewport actual.
                    default: false
                  quality:
                    type: integer
                    description: >-
                      La calidad de la captura de pantalla, de 1 a 100; 100 es
                      la máxima calidad.
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Haz clic en un elemento
                  selector:
                    type: string
                    description: Selector de consulta para buscar el elemento por
                    example: '#load-more-button'
                  all:
                    type: boolean
                    description: >-
                      Hace clic en todos los elementos que coinciden con el
                      selector, no solo en el primero. No genera un error si
                      ningún elemento coincide con el selector.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    description: >-
                      Escribe texto en un campo de entrada, área de texto o
                      elemento contenteditable. Nota: primero debes poner el
                      foco en el elemento usando una acción de «clic» antes de
                      escribir. El texto se tecleará carácter por carácter para
                      simular la entrada por teclado.
                  text:
                    type: string
                    description: Texto a escribir
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Pulsa una tecla en esta página. Consulta
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para ver los códigos de teclado.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pulsa una tecla en la página
                  key:
                    type: string
                    description: Tecla a pulsar
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Desplazar la página o un elemento específico
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Dirección de desplazamiento
                    default: down
                  selector:
                    type: string
                    description: Selector (query selector) del elemento que se desplazará
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: >-
                      Extrae el contenido de la página actual y devuelve la URL
                      y el HTML.
                required:
                  - type
              - type: object
                title: Execute JavaScript
                properties:
                  type:
                    type: string
                    enum:
                      - executeJavascript
                    description: Ejecutar código JavaScript en la página
                  script:
                    type: string
                    description: Código JavaScript a ejecutar
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Genera un PDF de la página actual. El PDF se devolverá en
                      el array `actions.pdfs` de la respuesta.
                  format:
                    type: string
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    description: El tamaño de la página del PDF resultante
                    default: Letter
                  landscape:
                    type: boolean
                    description: Indica si se debe generar el PDF en orientación horizontal
                    default: false
                  scale:
                    type: number
                    description: El factor de escala del PDF resultante
                    default: 1
                required:
                  - type
        location:
          type: object
          description: >-
            Configuración de ubicación de la solicitud. Cuando se especifique,
            usará un proxy adecuado si está disponible y emulará la
            configuración de idioma y zona horaria correspondientes. Si no se
            especifica, el valor predeterminado es 'US'.
          properties:
            country:
              type: string
              description: >-
                Código de país ISO 3166-1 alfa-2 (por ejemplo, «US», «AU», «DE»,
                «JP»)
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              description: >-
                Idiomas y configuraciones regionales preferidos para la
                solicitud, en orden de prioridad. De forma predeterminada, se
                usa el idioma de la ubicación especificada. Más información en
                https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
              items:
                type: string
                example: en-US
        removeBase64Images:
          type: boolean
          description: >-
            Elimina todas las imágenes en formato base64 de la salida, que
            pueden hacerla excesivamente larga. El texto alternativo de la
            imagen se conserva en la salida, pero la URL se reemplaza por un
            marcador de posición.
          default: true
        blockAds:
          type: boolean
          description: Habilita el bloqueo de anuncios y ventanas emergentes de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          description: >-
            Especifica el tipo de proxy que se va a utilizar.


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

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

            - **auto**: Firecrawl reintentará automáticamente el scraping con
            proxies mejorados si el proxy básico falla. Si el reintento con
            enhanced tiene éxito, se cobrarán 5 créditos por la extracción. Si
            el primer intento con basic tiene éxito, solo se cobrará el coste
            estándar.


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

````