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

> Observação: uma nova [versão v2 desta API](/pt-BR/api-reference/endpoint/scrape) já está disponível, com recursos e desempenho aprimorados.


## OpenAPI

````yaml pt-BR/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 interagir com os serviços da Firecrawl e realizar tarefas de web
    scraping e crawling.
  title: Firecrawl API
  version: v1
servers:
  - url: https://api.firecrawl.dev/v1
security:
  - bearerAuth: []
paths:
  /scrape:
    post:
      tags:
        - Scraping
      summary: Raspar uma única URL e, opcionalmente, extrair informações usando um LLM
      operationId: scrapeAndExtractFromUrl
      requestBody:
        content:
          application/json:
            schema:
              allOf:
                - properties:
                    url:
                      description: URL a ser raspada
                      format: uri
                      type: string
                  required:
                    - url
                  type: object
                - $ref: '#/components/schemas/ScrapeOptions'
                - properties:
                    zeroDataRetention:
                      default: false
                      description: >-
                        Se definido como true, isso ativará retenção zero de
                        dados para este scrape. Para ativar esse recurso, entre
                        em contato com help@firecrawl.dev
                      type: boolean
                  type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScrapeResponse'
          description: Resposta bem-sucedida
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Pagamento obrigatório
        '429':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: >-
                      Request rate limit exceeded. Please wait and try again
                      later.
                    type: string
                type: object
          description: Muitas solicitações
        '500':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                type: object
          description: Erro do servidor
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - properties:
            changeTrackingOptions:
              description: >-
                Opções de rastreio de mudanças (Beta). Aplicável somente quando
                'changeTracking' estiver incluído em formatos. O formato
                'markdown' também deve ser especificado ao usar o rastreio de
                mudanças.
              properties:
                modes:
                  description: >-
                    O modo a ser usado para rastreamento de alterações.
                    'git-diff' fornece um diff detalhado e 'json' compara os
                    dados JSON extraídos.
                  items:
                    enum:
                      - git-diff
                      - json
                    type: string
                  type: array
                prompt:
                  description: >-
                    Prompt a ser usado para rastrear alterações ao usar o modo
                    "json". Se não for especificado, será usado o prompt padrão.
                  type: string
                schema:
                  description: >-
                    Esquema JSON para extração ao usar o modo `json`. Define a
                    estrutura dos dados que serão extraídos e comparados. Deve
                    estar em conformidade com o [JSON
                    Schema](https://json-schema.org/).
                  type: object
                tag:
                  default: null
                  description: >-
                    Tag a ser usada no rastreamento de alterações. As tags podem
                    separar o histórico de rastreamento em “ramificações”
                    distintas, em que o rastreamento com uma tag específica só
                    será comparado a scrapes feitos com a mesma tag. Se não for
                    fornecida, a tag padrão (null) será usada.
                  nullable: true
                  type: string
              type: object
            formats:
              default:
                - markdown
              description: Formatos a serem incluídos no 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 das ações especificadas no parâmetro `actions`.
                Somente presente se o parâmetro `actions` tiver sido fornecido
                na requisição
              nullable: true
              properties:
                javascriptReturns:
                  description: >-
                    Valores retornados em JavaScript, na mesma ordem das ações
                    executeJavascript fornecidas.
                  items:
                    properties:
                      type:
                        type: string
                      value: {}
                    type: object
                  type: array
                pdfs:
                  description: PDFs gerados, na mesma ordem das ações de PDF especificadas.
                  items:
                    type: string
                  type: array
                scrapes:
                  description: >-
                    Raspe o conteúdo na mesma ordem das ações de raspagem
                    fornecidas.
                  items:
                    properties:
                      html:
                        type: string
                      url:
                        type: string
                    type: object
                  type: array
                screenshots:
                  description: >-
                    URLs das capturas de tela, na mesma ordem das ações de
                    captura de tela fornecidas. As capturas de tela expiram após
                    24 horas e não poderão mais ser baixadas.
                  items:
                    format: url
                    type: string
                  type: array
              type: object
            changeTracking:
              description: >-
                Informações de rastreioDeMudanças se `changeTracking` estiver em
                `formats`. Só estará presente quando o formato `changeTracking`
                for solicitado.
              nullable: true
              properties:
                changeStatus:
                  description: >-
                    O resultado da comparação entre as duas versões da página.
                    'new' significa que esta página não existia antes, 'same'
                    significa que o conteúdo não mudou, 'changed' significa que
                    o conteúdo foi alterado e 'removed' significa que a página
                    foi removida.
                  enum:
                    - new
                    - same
                    - changed
                    - removed
                  type: string
                diff:
                  description: >-
                    Diff no estilo Git das alterações ao usar o modo 'git-diff'.
                    Só é exibido quando o modo está definido como 'git-diff'.
                  nullable: true
                  type: string
                json:
                  description: >-
                    Resultados da comparação em JSON ao usar o modo `json`.
                    Somente estará presente quando o modo estiver definido como
                    `json`. Irá gerar uma lista de todas as chaves e seus
                    valores das raspagens `previous` e `current`, com base no
                    tipo definido no `schema`. Exemplo
                    [aqui](/features/change-tracking)
                  nullable: true
                  type: object
                previousScrapeAt:
                  description: >-
                    O carimbo de data e hora da raspagem anterior com a qual a
                    página atual está sendo comparada. Nulo se não existir
                    raspagem anterior.
                  format: date-time
                  nullable: true
                  type: string
                visibility:
                  description: >-
                    A visibilidade da página/URL atual. “visible” significa que
                    a URL foi descoberta por meio de uma rota orgânica (links ou
                    sitemap); “hidden” significa que a URL foi descoberta a
                    partir da memória de rastreios anteriores.
                  enum:
                    - visible
                    - hidden
                  type: string
              type: object
            html:
              description: >-
                HTML limpo da página se `html` estiver incluído em `formatos`.
                Remove as tags `<script>`, `<style>`, `<noscript>`, `<meta>` e
                `<head>`; converte URLs relativas em absolutas; resolve o
                `srcset` de imagens responsivas para a sua maior versão.
                Respeita os filtros `onlyMainContent`, `includeTags` e
                `excludeTags`.
              nullable: true
              type: string
            links:
              description: >-
                Lista de links da página se `links` estiver incluído em
                `formatos`
              items:
                type: string
              type: array
            llm_extraction:
              description: >-
                Exibido ao usar extração com LLM. Dados extraídos da página de
                acordo com o esquema definido.
              nullable: true
              type: object
            markdown:
              type: string
            metadata:
              properties:
                '<any other metadata> ':
                  type: string
                description:
                  type: string
                error:
                  description: Mensagem de erro da página
                  nullable: true
                  type: string
                keywords:
                  description: >-
                    Palavras-chave extraídas da página; podem ser uma string
                    única ou um array de strings
                  oneOf:
                    - type: string
                    - items:
                        type: string
                      type: array
                language:
                  nullable: true
                  type: string
                numPages:
                  description: >-
                    Para entradas em PDF, o número de páginas analisadas
                    (limitado pela opção maxPages do parser).
                  type: integer
                ogLocaleAlternate:
                  description: Idiomas alternativos da página
                  items:
                    type: string
                  type: array
                sourceURL:
                  format: uri
                  type: string
                statusCode:
                  description: O código de status da página
                  type: integer
                title:
                  type: string
                totalPages:
                  description: >-
                    Para entradas em PDF, a contagem real de páginas do
                    documento antes de qualquer limite imposto por maxPages.
                    Omitido quando não for possível determiná-la; um totalPages
                    maior que numPages indica que o resultado foi truncado.
                  type: integer
              type: object
            rawHtml:
              description: >-
                O HTML exato, inalterado, recebido da página quando `rawHtml`
                está em `formatos`. Nenhuma limpeza ou filtragem é aplicada.
              nullable: true
              type: string
            screenshot:
              description: >-
                Captura de tela da página se `screenshot` estiver incluído em
                `formatos`. As capturas de tela expiram após 24 horas e depois
                disso não podem mais ser baixadas.
              nullable: true
              type: string
            warning:
              description: >-
                Pode ser exibido ao usar a Extração com LLM. A mensagem de aviso
                informará sobre quaisquer problemas com a extração.
              nullable: true
              type: string
          type: object
        success:
          type: boolean
      type: object
    BaseScrapeOptions:
      properties:
        actions:
          description: Ações a serem realizadas na página antes de extrair o conteúdo
          items:
            oneOf:
              - properties:
                  milliseconds:
                    description: Número de milissegundos a esperar
                    minimum: 1
                    type: integer
                  selector:
                    description: >-
                      Seletor de consulta (query selector) para localizar o
                      elemento por
                    example: '#my-element'
                    type: string
                  type:
                    description: Aguardar por uma quantidade especificada de milissegundos
                    enum:
                      - wait
                    type: string
                required:
                  - type
                title: Wait
                type: object
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Define se a captura de tela deve ser da página inteira ou
                      apenas da área visível atual (viewport).
                    type: boolean
                  quality:
                    description: >-
                      A qualidade da captura de tela, de 1 a 100. 100 é a
                      qualidade máxima.
                    type: integer
                  type:
                    description: >-
                      Tire uma captura de tela. Os links estarão no array
                      `actions.screenshots` da resposta.
                    enum:
                      - screenshot
                    type: string
                required:
                  - type
                title: Screenshot
                type: object
              - properties:
                  all:
                    default: false
                    description: >-
                      Clica em todos os elementos que correspondem ao seletor,
                      não apenas no primeiro. Não gera erro caso nenhum elemento
                      corresponda ao seletor.
                    type: boolean
                  selector:
                    description: Seletor para localizar o elemento por
                    example: '#load-more-button'
                    type: string
                  type:
                    description: Clique em um elemento
                    enum:
                      - click
                    type: string
                required:
                  - type
                  - selector
                title: Click
                type: object
              - properties:
                  text:
                    description: Texto para digitar
                    example: Hello, world!
                    type: string
                  type:
                    description: >-
                      Digite um texto em um campo de entrada, área de texto ou
                      elemento com contenteditable. Observação: primeiro é
                      necessário focar o elemento usando uma ação de “click”
                      antes de escrever. O texto será digitado caractere por
                      caractere para simular a entrada via teclado.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - description: >-
                  Pressione uma tecla na página. Consulte
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para ver os códigos de teclas.
                properties:
                  key:
                    description: Tecla a ser pressionada
                    example: Enter
                    type: string
                  type:
                    description: Pressione uma tecla nesta página
                    enum:
                      - press
                    type: string
                required:
                  - type
                  - key
                title: Press a key
                type: object
              - properties:
                  direction:
                    default: down
                    description: Direção da rolagem
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Seletor de consulta para o elemento a ser rolado
                    example: '#my-element'
                    type: string
                  type:
                    description: Rolar a página ou um elemento específico
                    enum:
                      - scroll
                    type: string
                required:
                  - type
                title: Scroll
                type: object
              - properties:
                  type:
                    description: >-
                      Extrai o conteúdo da página atual e retorna a URL e o
                      HTML.
                    enum:
                      - scrape
                    type: string
                required:
                  - type
                title: Scrape
                type: object
              - properties:
                  script:
                    description: Código JavaScript a ser executado
                    example: document.querySelector('.button').click();
                    type: string
                  type:
                    description: Executar código JavaScript na página
                    enum:
                      - executeJavascript
                    type: string
                required:
                  - type
                  - script
                title: Execute JavaScript
                type: object
              - properties:
                  format:
                    default: Letter
                    description: O tamanho da página do PDF gerado
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    type: string
                  landscape:
                    default: false
                    description: Se o PDF deve ser gerado em orientação horizontal
                    type: boolean
                  scale:
                    default: 1
                    description: O fator de escala do PDF resultante
                    type: number
                  type:
                    description: >-
                      Gere um PDF da página atual. O PDF será retornado no array
                      `actions.pdfs` da resposta.
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                title: Generate PDF
                type: object
          type: array
        blockAds:
          default: true
          description: Habilita o bloqueio de anúncios e de pop-ups de cookies.
          type: boolean
        excludeTags:
          description: Tags a serem excluídas da saída.
          items:
            type: string
          type: array
        headers:
          description: >-
            Cabeçalhos a serem enviados com a requisição. Podem ser usados para
            enviar cookies, user-agent etc.
          type: object
        includeTags:
          description: Tags para incluir na saída.
          items:
            type: string
          type: array
        jsonOptions:
          description: Objeto JSON de opções
          properties:
            prompt:
              description: O prompt a ser usado para extração sem esquema (opcional)
              type: string
            schema:
              description: >-
                O schema a ser usado para extração (opcional). Deve estar em
                conformidade com o [JSON Schema](https://json-schema.org/).
              type: object
            systemPrompt:
              description: O prompt do sistema a ser usado na extração (opcional)
              type: string
          type: object
        location:
          description: >-
            Configurações de localização para a requisição. Quando
            especificadas, 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.
          properties:
            country:
              default: US
              description: >-
                Código de país ISO 3166-1 alfa-2 (por exemplo, “US”, “AU”, “DE”,
                “JP”)
              pattern: ^[A-Z]{2}$
              type: string
            languages:
              description: >-
                Idiomas e localidades preferenciais para a requisição, em ordem
                de prioridade. Por padrão, usa o idioma do local especificado.
                Consulte
                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: >-
            Retorna uma versão em cache da página se ela tiver menos que essa
            idade, em milissegundos. Se a versão em cache da página for mais
            antiga que esse valor, a página será raspada novamente. Se você não
            precisar de dados extremamente atualizados, ativar essa opção pode
            acelerar suas raspagens em até 500%. O padrão é 0, o que desativa o
            cache.
          type: integer
        mobile:
          default: false
          description: >-
            Defina como true para emular a raspagem de dados a partir de um
            dispositivo móvel. Útil para testar páginas responsivas e gerar
            capturas de tela da versão mobile.
          type: boolean
        onlyMainContent:
          default: true
          description: >-
            Retorne apenas o conteúdo principal da página, excluindo cabeçalhos,
            áreas de navegação, rodapés etc.
          type: boolean
        parsePDF:
          default: true
          description: >-
            Controla como os arquivos PDF são processados durante o scraping.
            Quando definido como true, o conteúdo do PDF é extraído e convertido
            para o formato Markdown, com cobrança baseada no número de páginas
            (1 crédito por página). Quando definido como false, o arquivo PDF é
            retornado codificado em base64, com uma tarifa fixa de 1 crédito no
            total.
          type: boolean
        proxy:
          description: >-
            Especifica o tipo de proxy a ser usado.

             - **basic**: Proxies para scraping de sites sem ou com soluções anti-bot básicas. Rápido e geralmente funciona.
             - **enhanced**: Proxies avançados para scraping de sites com soluções anti-bot mais sofisticadas. Mais lento, mas mais confiável em certos sites. Custa até 5 créditos por requisição.
             - **auto**: O Firecrawl tentará automaticamente fazer o scraping novamente com proxies enhanced se o proxy basic falhar. Se a nova tentativa com enhanced for bem-sucedida, 5 créditos serão cobrados pelo scraping. Se a primeira tentativa com basic for bem-sucedida, apenas o custo normal será cobrado.

            Se você não especificar um proxy, o Firecrawl usará basic por
            padrão.
          enum:
            - basic
            - enhanced
            - auto
          type: string
        removeBase64Images:
          default: true
          description: >-
            Remove todas as imagens em base64 da saída, que podem ser
            excessivamente longas. O texto alternativo (alt) da imagem permanece
            na saída, mas a URL é substituída por um espaço reservado.
          type: boolean
        skipTlsVerification:
          default: false
          description: Ignorar a verificação do certificado TLS ao fazer requisições
          type: boolean
        storeInCache:
          default: true
          description: >-
            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
            (ações, headers) fará com que esse parâmetro seja definido como
            false.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 30000
          description: Tempo limite da requisição em milissegundos
          type: integer
        waitFor:
          default: 0
          description: >-
            Defina um atraso, em milissegundos, antes de buscar o conteúdo,
            permitindo que a página tenha tempo suficiente para carregar.
          type: integer
      type: object
    ThreatProtectionOverride:
      description: >-
        Substituição por solicitação da [Proteção contra
        ameaças](https://docs.firecrawl.dev/features/threat-protection). Os
        campos fornecidos substituem os campos correspondentes da política da
        sua organização somente para esta solicitação; os campos omitidos mantêm
        os valores definidos no nível da organização. Exige que a Proteção
        contra ameaças esteja ativada para sua equipe (recurso enterprise) —
        caso contrário, a solicitação será rejeitada com 403. Se sua organização
        tiver desativado as substituições por solicitação, qualquer solicitação
        que inclua este objeto será rejeitada com 403. Se a Proteção contra
        ameaças for obrigatória para sua equipe, `mode` não poderá ser definido
        como `off`.
      properties:
        blacklist:
          description: >-
            Domínios a serem sempre bloqueados, como domínios simples
            (`example.com`) ou padrões curinga (`*.example.com`). Sem protocolo,
            caminho ou porta.
          items:
            type: string
          maxItems: 1000
          type: array
        blockedTlds:
          description: >-
            Domínios de nível superior a serem bloqueados diretamente, em
            minúsculas e sem o ponto inicial (ex.: `zip`).
          items:
            type: string
          maxItems: 1000
          type: array
        failurePolicy:
          description: >-
            O que fazer quando o classificador não puder ser acessado: `closed`
            bloqueia a solicitação, `open` a permite.
          enum:
            - open
            - closed
          type: string
        mode:
          description: >-
            Modo de varredura de URL para esta solicitação. `normal` verifica as
            URLs no Google Web Risk (+2 créditos por URL verificada).
          enum:
            - 'off'
            - normal
          type: string
        riskScoreThreshold:
          description: >-
            Pontuação de risco normalizada (0–100) a partir da qual um veredito
            do classificador bloqueia a URL. Quanto menor, mais rigoroso.
          example: 75
          maximum: 100
          minimum: 0
          type: integer
        whitelist:
          description: >-
            Domínios a serem sempre permitidos, como domínios simples ou padrões
            curinga. Tem precedência sobre todas as outras regras.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````