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

# Extrair

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


## OpenAPI

````yaml pt-BR/api-reference/v1-openapi.json POST /extract
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:
  /extract:
    post:
      tags:
        - Extraction
      summary: Extraia dados estruturados de páginas com LLMs
      operationId: extractData
      requestBody:
        content:
          application/json:
            schema:
              properties:
                enableWebSearch:
                  default: false
                  description: >-
                    Quando definido como true, a extração utilizará pesquisa na
                    web para encontrar dados adicionais
                  type: boolean
                ignoreInvalidURLs:
                  default: false
                  description: >-
                    Se URLs inválidas forem especificadas no array urls, elas
                    serão ignoradas. Em vez de fazer com que a requisição
                    inteira falhe, será realizada uma extração usando apenas as
                    URLs válidas restantes, e as URLs inválidas serão retornadas
                    no campo invalidURLs da resposta.
                  type: boolean
                ignoreSitemap:
                  default: false
                  description: >-
                    Quando definido como `true`, os arquivos sitemap.xml serão
                    ignorados durante a varredura do site
                  type: boolean
                includeSubdomains:
                  default: true
                  description: >-
                    Quando definido como verdadeiro, os subdomínios das URLs
                    fornecidas também serão rastreados
                  type: boolean
                prompt:
                  description: Prompt para guiar o processo de extração
                  type: string
                schema:
                  description: >-
                    Esquema que define a estrutura dos dados extraídos. Deve
                    estar em conformidade com o [JSON
                    Schema](https://json-schema.org/).
                  type: object
                scrapeOptions:
                  $ref: '#/components/schemas/ScrapeOptions'
                showSources:
                  default: false
                  description: >-
                    Quando definido como `true`, as fontes usadas para extrair
                    os dados serão incluídas na resposta como a chave `sources`
                  type: boolean
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
                urls:
                  items:
                    description: >-
                      As URLs das quais os dados serão extraídos. As URLs devem
                      estar no formato glob.
                    format: uri
                    type: string
                  type: array
              required:
                - urls
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractResponse'
          description: Extração concluída com sucesso
        '400':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Invalid input data.
                    type: string
                type: object
          description: Solicitação inválida
        '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
    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
    ExtractResponse:
      properties:
        id:
          type: string
        invalidURLs:
          description: >-
            Se ignoreInvalidURLs for true, este será um array contendo as URLs
            inválidas especificadas na requisição. Se não houver URLs inválidas,
            será um array vazio. Se ignoreInvalidURLs for false, este campo
            ficará undefined.
          items:
            type: string
          nullable: true
          type: array
        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
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````