Saltar al contenido principal
POST
/
scrape
Extraer datos de una sola URL y, opcionalmente, extraer información con un LLM
curl --request POST \
  --url https://api.firecrawl.dev/v2/scrape \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "url": "<string>",
  "formats": [
    "markdown"
  ],
  "onlyMainContent": true,
  "includeTags": [
    "<string>"
  ],
  "excludeTags": [
    "<string>"
  ],
  "maxAge": 172800000,
  "headers": {},
  "waitFor": 0,
  "mobile": false,
  "skipTlsVerification": true,
  "timeout": 123,
  "parsers": [
    "pdf"
  ],
  "actions": [
    {
      "type": "wait",
      "milliseconds": 2,
      "selector": "#my-element"
    }
  ],
  "location": {
    "country": "US",
    "languages": [
      "en-US"
    ]
  },
  "removeBase64Images": true,
  "blockAds": true,
  "proxy": "auto",
  "storeInCache": true,
  "zeroDataRetention": false
}
'
{
  "success": true,
  "data": {
    "markdown": "<string>",
    "summary": "<string>",
    "html": "<string>",
    "rawHtml": "<string>",
    "screenshot": "<string>",
    "links": [
      "<string>"
    ],
    "actions": {
      "screenshots": [
        "<string>"
      ],
      "scrapes": [
        {
          "url": "<string>",
          "html": "<string>"
        }
      ],
      "javascriptReturns": [
        {
          "type": "<string>",
          "value": "<unknown>"
        }
      ],
      "pdfs": [
        "<string>"
      ]
    },
    "metadata": {
      "title": "<string>",
      "description": "<string>",
      "language": "<string>",
      "sourceURL": "<string>",
      "keywords": "<string>",
      "ogLocaleAlternate": [
        "<string>"
      ],
      "<any other metadata> ": "<string>",
      "statusCode": 123,
      "error": "<string>"
    },
    "warning": "<string>",
    "changeTracking": {
      "previousScrapeAt": "2023-11-07T05:31:56Z",
      "changeStatus": "new",
      "visibility": "visible",
      "diff": "<string>",
      "json": {}
    },
    "branding": {}
  }
}

Novedades de la v2

Nuevos formatos

  • "summary" - Obtén un resumen conciso del contenido de la página
  • La extracción JSON ahora usa un formato de objeto: { type: "json", prompt, schema }
  • El formato de captura de pantalla ahora usa un formato de objeto: { type: "screenshot", fullPage, quality, viewport }
  • "images" - Extrae todas las URL de las imágenes de la página
  • "branding" - Extrae la identidad de marca, incluidos colores, fuentes, tipografía, espaciado y componentes de la interfaz

Mejoras clave

  • Más rápido por defecto: Las solicitudes se sirven desde caché con maxAge predeterminado de 2 días
  • Valores predeterminados sensatos: blockAds, skipTlsVerification y removeBase64Images vienen habilitados por defecto
  • Opciones de captura de pantalla mejoradas: Control total de los parámetros de captura usando el formato de objeto

Autorizaciones

Authorization
string
header
requerido

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Cuerpo

application/json
url
string<uri>
requerido

La URL que se va a scrapear

formats
(Markdown · object | Summary · object | HTML · object | Raw HTML · object | Links · object | Images · object | Screenshot · object | JSON · object | Change Tracking · object | Branding · object)[]

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: {...} }].

onlyMainContent
boolean
predeterminado:true

Devuelve solo el contenido principal de la página, sin incluir encabezados, navegación, pies de página, etc.

includeTags
string[]

Etiquetas que se incluirán en la salida.

excludeTags
string[]

Etiquetas que se excluirán de la salida.

maxAge
integer
predeterminado:172800000

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.

headers
object

Encabezados que se enviarán en la solicitud. Pueden usarse para enviar cookies, user-agent, etc.

waitFor
integer
predeterminado:0

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.

mobile
boolean
predeterminado:false

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.

skipTlsVerification
boolean
predeterminado:true

Omitir la verificación de certificados TLS al realizar solicitudes.

timeout
integer

Tiempo de espera de la solicitud en milisegundos.

parsers
object[]

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.

actions
(Wait · object | Screenshot · object | Click · object | Write text · object | Press a key · object | Scroll · object | Scrape · object | Execute JavaScript · object | Generate PDF · object)[]

Acciones que se realizarán en la página antes de extraer el contenido

location
object

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.

removeBase64Images
boolean
predeterminado:true

Elimina todas las imágenes codificadas en base64 de la salida, que pueden ser excesivamente largas. El texto alternativo (alt) de la imagen se mantiene en la salida, pero la URL se reemplaza por un marcador de posición.

blockAds
boolean
predeterminado:true

Habilita el bloqueo de anuncios y de ventanas emergentes de cookies.

proxy
enum<string>
predeterminado:auto

Especifica el tipo de proxy que se utilizará.

  • basic: Proxies para hacer scraping de sitios con soluciones anti-bot nulas o básicas. Son rápidos y suelen funcionar.
  • stealth: Proxies sigilosos para hacer scraping de sitios con soluciones anti-bot avanzadas. Son más lentos, pero más fiables en ciertos sitios. Cuestan hasta 5 créditos por solicitud.
  • auto: Firecrawl volverá a intentar automáticamente el scraping con proxies stealth si el proxy basic falla. Si el reintento con stealth tiene éxito, se facturarán 5 créditos por el scraping. Si el primer intento con basic tiene éxito, solo se facturará el coste regular.
Opciones disponibles:
basic,
stealth,
auto
storeInCache
boolean
predeterminado:true

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.

zeroDataRetention
boolean
predeterminado:false

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 [email protected]

Respuesta

Respuesta satisfactoria

success
boolean
data
object