Pular para o conteúdo principal
POST
/
scrape
Fazer scraping de uma única URL e, opcionalmente, extrair informações usando um 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": {}
  }
}

Novidades na v2

Novos formatos

  • "summary" - Obtenha um resumo conciso do conteúdo da página
  • A extração em JSON agora usa o formato de objeto: { type: "json", prompt, schema }
  • O formato de captura de tela agora usa o formato de objeto: { type: "screenshot", fullPage, quality, viewport }
  • "images" - Extraia todas as URLs de imagens da página
  • "branding" - Extraia a identidade da marca, incluindo cores, fontes, tipografia, espaçamento e componentes de UI

Principais melhorias

  • Mais rápido por padrão: As requisições são servidas do cache com maxAge padrão de 2 dias
  • Padrões bem definidos: blockAds, skipTlsVerification e removeBase64Images vêm habilitados por padrão
  • Opções de captura de tela aprimoradas: Controle total dos parâmetros de captura de tela usando o formato de objeto

Autorizações

Authorization
string
header
obrigatório

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

Corpo

application/json
url
string<uri>
obrigatório

URL a ser raspada

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 saída que devem ser incluídos na resposta. Você pode especificar um ou mais formatos, como strings (por exemplo, 'markdown') ou como objetos com opções adicionais (por exemplo, { type: 'json', schema: {...} }). Alguns formatos exigem que opções específicas sejam configuradas. Exemplo: ['markdown', { type: 'json', schema: {...} }].

onlyMainContent
boolean
padrão:true

Retorne somente o conteúdo principal da página, excluindo cabeçalhos, elementos de navegação, rodapés etc.

includeTags
string[]

Tags a serem incluídas no resultado.

excludeTags
string[]

Tags a serem excluídas da saída.

maxAge
integer
padrão:172800000

Retorna uma versão em cache da página se ela for mais recente do que essa idade em milissegundos. Se a versão em cache da página for mais antiga do que esse valor, a página será novamente coletada. Se você não precisa de dados extremamente atualizados, ativar isso pode acelerar suas coletas em até 500%. O padrão é 2 dias.

headers
object

Cabeçalhos a serem enviados na requisição. Podem ser usados para enviar cookies, user-agent etc.

waitFor
integer
padrão:0

Defina um atraso, em milissegundos, antes de buscar o conteúdo, permitindo que a página tenha tempo suficiente para carregar. Esse tempo de espera é somado ao recurso de espera inteligente do Firecrawl.

mobile
boolean
padrão:false

Defina como true se quiser emular a extração a partir de um dispositivo móvel. Útil para testar páginas responsivas e capturar screenshots da versão mobile.

skipTlsVerification
boolean
padrão:true

Ignorar a verificação de certificado TLS ao realizar requisições.

timeout
integer

Tempo limite da requisição, em milissegundos.

parsers
object[]

Controla como os arquivos são processados durante o scraping. Quando "pdf" é incluído (padrão), o conteúdo do PDF é extraído e convertido em markdown, com cobrança baseada no número de páginas (1 crédito por página). Quando um array vazio é fornecido, o arquivo PDF é retornado em codificação base64 com uma taxa fixa de 1 crédito para todo o 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)[]

Ações a serem executadas na página antes de extrair o conteúdo

location
object

Configurações de localização da requisição. Quando definidas, será usado um proxy apropriado, se disponível, e serão emuladas as configurações correspondentes de idioma e fuso horário. O padrão é "US" se não for especificado.

removeBase64Images
boolean
padrão:true

Remove todas as imagens em base64 da saída, que podem ser extremamente longas. O texto alternativo da imagem é mantido na saída, mas a URL é substituída por um valor de placeholder.

blockAds
boolean
padrão:true

Habilita o bloqueio de anúncios e de pop-ups de cookies.

proxy
enum<string>
padrão:auto

Especifica o tipo de proxy a ser usado.

  • basic: Proxies para fazer scraping de sites sem ou com soluções anti-bot básicas. Rápido e geralmente funciona.
  • stealth: Proxies stealth para fazer scraping de sites com soluções anti-bot avançadas. Mais lento, mas mais confiável em determinados sites. Custa até 5 créditos por requisição.
  • auto: O Firecrawl tentará automaticamente realizar o scraping novamente com proxies stealth se o proxy básico falhar. Se a nova tentativa com stealth for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo regular será cobrado.
Opções disponíveis:
basic,
stealth,
auto
storeInCache
boolean
padrão:true

Se definido como true, a página será armazenada no índice e no cache do Firecrawl. Definir isso como false é útil se sua atividade de scraping puder levantar preocupações relacionadas à proteção de dados. O uso de alguns parâmetros associados a scraping sensível (por exemplo, ações, headers) fará com que esse parâmetro seja definido automaticamente como false.

zeroDataRetention
boolean
padrão:false

Se definido como true, isso ativará a retenção zero de dados para este scrape. Para habilitar esse recurso, entre em contato com [email protected]

Resposta

Resposta bem-sucedida

success
boolean
data
object