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

# Crawl

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


## OpenAPI

````yaml pt-BR/api-reference/v1-openapi.json POST /crawl
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:
  /crawl:
    post:
      tags:
        - Crawling
      summary: Rastrear várias URLs de acordo com opções
      operationId: crawlUrls
      requestBody:
        content:
          application/json:
            schema:
              properties:
                allowBackwardLinks:
                  default: false
                  deprecated: true
                  description: >-
                    ⚠️ DESCONTINUADO: Use "crawlEntireDomain" em vez disso.
                    Permite que o crawler siga links internos para URLs irmãs ou
                    URL de nível superior, não apenas caminhos filhos.
                  type: boolean
                allowExternalLinks:
                  default: false
                  description: Permite que o rastreador siga links para sites externos.
                  type: boolean
                allowSubdomains:
                  default: false
                  description: >-
                    Permite que o crawler rastreie links que apontam para
                    subdomínios do domínio principal.
                  type: boolean
                crawlEntireDomain:
                  default: false
                  description: >-
                    Permite que o rastreador siga links internos para URLs no
                    mesmo nível (irmãs) ou URLs pai, não apenas caminhos filhos.


                    false: Somente rastreia URLs mais profundas (filhas).

                    → ex.: /features/feature-1 → /features/feature-1/tips ✅

                    → Não seguirá /pricing ou / ❌


                    true: Rastreia qualquer link interno, incluindo URLs no
                    mesmo nível e URLs pai.

                    → ex.: /features/feature-1 → /pricing, /, etc. ✅


                    Use true para obter uma cobertura interna mais ampla, além
                    de caminhos aninhados.
                  type: boolean
                delay:
                  description: >-
                    Intervalo, em segundos, entre as coletas. Isso ajuda a
                    respeitar os limites de requisições dos sites.
                  type: number
                excludePaths:
                  description: >-
                    Padrões de regex para o pathname da URL que excluem URLs
                    correspondentes do crawl. Por exemplo, se você definir
                    `"excludePaths": ["blog/.*"]` para a URL base firecrawl.dev,
                    quaisquer resultados que corresponderem a esse padrão serão
                    excluídos, como
                    https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.
                  items:
                    type: string
                  type: array
                ignoreQueryParameters:
                  default: false
                  description: >-
                    Não reextraia o mesmo path com parâmetros de consulta
                    diferentes (ou sem nenhum)
                  type: boolean
                ignoreSitemap:
                  default: false
                  description: Ignorar o sitemap do site durante o rastreamento
                  type: boolean
                includePaths:
                  description: >-
                    Padrões de regex para o pathname da URL que definem quais
                    URLs serão incluídas no rastreamento. Somente os caminhos
                    que corresponderem aos padrões especificados serão incluídos
                    na resposta. Por exemplo, se você definir `"includePaths":
                    ["blog/.*"]` para a URL base firecrawl.dev, apenas
                    resultados que correspondam a esse padrão serão incluídos,
                    como
                    https://www.firecrawl.dev/blog/firecrawl-launch-week-1-recap.
                  items:
                    type: string
                  type: array
                limit:
                  default: 10000
                  description: >-
                    Número máximo de páginas a serem rastreadas. O limite padrão
                    é 10.000.
                  type: integer
                maxConcurrency:
                  description: >-
                    Número máximo de raspagens simultâneas. Esse parâmetro
                    permite definir um limite de concorrência para este
                    rastreamento. Se não for especificado, o rastreamento usará
                    o limite de concorrência da sua equipe.
                  type: integer
                maxDepth:
                  default: 10
                  description: >-
                    Profundidade absoluta máxima de rastreamento a partir da
                    base da URL informada. Basicamente, é o número máximo de
                    barras (/) que o pathname de uma URL coletada pode conter.
                  type: integer
                maxDiscoveryDepth:
                  description: >-
                    Profundidade máxima de rastreamento com base na ordem de
                    descoberta. O site raiz e as páginas do sitemap têm
                    profundidade de descoberta igual a 0. Por exemplo, se você
                    definir como 1 e ativar ignoreSitemap, você só irá rastrear
                    a URL informada e todas as URLs que estiverem linkadas nessa
                    página.
                  type: integer
                regexOnFullURL:
                  default: false
                  description: >-
                    Quando configurado como true, os padrões de regex em
                    includePaths e excludePaths são comparados com a URL
                    completa (incluindo parâmetros de query), em vez de apenas
                    com o caminho (pathname) da URL. Útil quando você precisa
                    filtrar URLs com base em query strings.
                  type: boolean
                scrapeOptions:
                  $ref: '#/components/schemas/ScrapeOptions'
                url:
                  description: A URL base de onde o rastreamento será iniciado
                  format: uri
                  type: string
                webhook:
                  description: Objeto de especificação de webhook.
                  properties:
                    events:
                      description: >-
                        Tipo de eventos que devem ser enviados para a URL do
                        webhook. (padrão: todos)
                      items:
                        enum:
                          - completed
                          - page
                          - failed
                          - started
                        type: string
                      type: array
                    headers:
                      additionalProperties:
                        type: string
                      description: Cabeçalhos que serão enviados para a URL do webhook.
                      type: object
                    metadata:
                      additionalProperties: true
                      description: >-
                        Metadados personalizados que serão incluídos em todos os
                        payloads de webhook deste rastreamento
                      type: object
                    url:
                      description: >-
                        A URL para a qual o webhook será enviado. O webhook será
                        acionado quando o crawl for iniciado (crawl.started), a
                        cada página rastreada (crawl.page) e quando o crawl for
                        concluído (crawl.completed ou crawl.failed). A resposta
                        será a mesma do endpoint `/scrape`.
                      type: string
                  required:
                    - url
                  type: object
                zeroDataRetention:
                  default: false
                  description: >-
                    Se definido como true, não haverá retenção de dados para
                    este crawl. Para habilitar esse recurso, entre em contato
                    pelo e-mail help@firecrawl.dev
                  type: boolean
              required:
                - url
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CrawlResponse'
          description: Resposta bem-sucedida
        '402':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Payment required to access this resource.
                    type: string
                type: object
          description: Pagamento necessá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 no 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
    CrawlResponse:
      properties:
        id:
          type: string
        success:
          type: boolean
        url:
          format: uri
          type: string
      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

````