> ## Documentation Index
> Fetch the complete documentation index at: https://student-213fb9fc.mintlify.site/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:
  title: Firecrawl API
  version: v1
  description: >-
    API para interagir com os serviços da Firecrawl e realizar tarefas de web
    scraping e crawling.
  contact:
    name: Firecrawl Support
    url: https://firecrawl.dev/support
    email: support@firecrawl.dev
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:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                urls:
                  type: array
                  items:
                    type: string
                    format: uri
                    description: >-
                      As URLs das quais os dados serão extraídos. As URLs devem
                      estar no formato glob.
                prompt:
                  type: string
                  description: Prompt para guiar o processo de extração
                schema:
                  type: object
                  description: >-
                    Esquema que define a estrutura dos dados extraídos. Deve
                    estar em conformidade com o [JSON
                    Schema](https://json-schema.org/).
                enableWebSearch:
                  type: boolean
                  description: >-
                    Quando definido como true, a extração utilizará pesquisa na
                    web para encontrar dados adicionais
                  default: false
                ignoreSitemap:
                  type: boolean
                  description: >-
                    Quando definido como `true`, os arquivos sitemap.xml serão
                    ignorados durante a varredura do site
                  default: false
                includeSubdomains:
                  type: boolean
                  description: >-
                    Quando definido como verdadeiro, os subdomínios das URLs
                    fornecidas também serão rastreados
                  default: true
                showSources:
                  type: boolean
                  description: >-
                    Quando definido como `true`, as fontes usadas para extrair
                    os dados serão incluídas na resposta como a chave `sources`
                  default: false
                scrapeOptions:
                  $ref: '#/components/schemas/ScrapeOptions'
                ignoreInvalidURLs:
                  type: boolean
                  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.
              required:
                - urls
      responses:
        '200':
          description: Extração concluída com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractResponse'
        '400':
          description: Solicitação inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Invalid input data.
        '500':
          description: Erro no servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      allOf:
        - $ref: '#/components/schemas/BaseScrapeOptions'
        - type: object
          properties:
            formats:
              type: array
              items:
                type: string
                enum:
                  - markdown
                  - html
                  - rawHtml
                  - links
                  - screenshot
                  - screenshot@fullPage
                  - json
                  - changeTracking
              description: Formatos a serem incluídos no resultado.
              default:
                - markdown
            changeTrackingOptions:
              type: object
              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:
                  type: array
                  items:
                    type: string
                    enum:
                      - git-diff
                      - json
                  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.
                schema:
                  type: object
                  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/).
                prompt:
                  type: string
                  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.
                tag:
                  type: string
                  nullable: true
                  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.
    ExtractResponse:
      type: object
      properties:
        success:
          type: boolean
        id:
          type: string
        invalidURLs:
          type: array
          nullable: true
          items:
            type: string
          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.
    BaseScrapeOptions:
      type: object
      properties:
        onlyMainContent:
          type: boolean
          description: >-
            Retorne apenas o conteúdo principal da página, excluindo cabeçalhos,
            áreas de navegação, rodapés etc.
          default: true
        includeTags:
          type: array
          items:
            type: string
          description: Tags para incluir na saída.
        excludeTags:
          type: array
          items:
            type: string
          description: Tags a serem excluídas da saída.
        maxAge:
          type: integer
          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.
          default: 0
        headers:
          type: object
          description: >-
            Cabeçalhos a serem enviados com a requisição. Podem ser usados para
            enviar cookies, user-agent etc.
        waitFor:
          type: integer
          description: >-
            Defina um atraso, em milissegundos, antes de buscar o conteúdo,
            permitindo que a página tenha tempo suficiente para carregar.
          default: 0
        mobile:
          type: boolean
          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.
          default: false
        skipTlsVerification:
          type: boolean
          description: Ignorar a verificação do certificado TLS ao fazer requisições
          default: false
        timeout:
          type: integer
          description: Tempo limite da requisição em milissegundos
          default: 30000
        parsePDF:
          type: boolean
          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.
          default: true
        jsonOptions:
          type: object
          description: Objeto JSON de opções
          properties:
            schema:
              type: object
              description: >-
                O schema a ser usado para extração (opcional). Deve estar em
                conformidade com o [JSON Schema](https://json-schema.org/).
            systemPrompt:
              type: string
              description: O prompt do sistema a ser usado na extração (opcional)
            prompt:
              type: string
              description: O prompt a ser usado para extração sem esquema (opcional)
        actions:
          type: array
          description: Ações a serem realizadas na página antes de extrair o conteúdo
          items:
            oneOf:
              - type: object
                title: Wait
                properties:
                  type:
                    type: string
                    enum:
                      - wait
                    description: Aguardar por uma quantidade especificada de milissegundos
                  milliseconds:
                    type: integer
                    minimum: 1
                    description: Número de milissegundos a esperar
                  selector:
                    type: string
                    description: >-
                      Seletor de consulta (query selector) para localizar o
                      elemento por
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Tire uma captura de tela. Os links estarão no array
                      `actions.screenshots` da resposta.
                  fullPage:
                    type: boolean
                    description: >-
                      Define se a captura de tela deve ser da página inteira ou
                      apenas da área visível atual (viewport).
                    default: false
                  quality:
                    type: integer
                    description: >-
                      A qualidade da captura de tela, de 1 a 100. 100 é a
                      qualidade máxima.
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Clique em um elemento
                  selector:
                    type: string
                    description: Seletor para localizar o elemento por
                    example: '#load-more-button'
                  all:
                    type: boolean
                    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.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    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.
                  text:
                    type: string
                    description: Texto para digitar
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                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:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pressione uma tecla nesta página
                  key:
                    type: string
                    description: Tecla a ser pressionada
                    example: Enter
                required:
                  - type
                  - key
              - type: object
                title: Scroll
                properties:
                  type:
                    type: string
                    enum:
                      - scroll
                    description: Rolar a página ou um elemento específico
                  direction:
                    type: string
                    enum:
                      - up
                      - down
                    description: Direção da rolagem
                    default: down
                  selector:
                    type: string
                    description: Seletor de consulta para o elemento a ser rolado
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: >-
                      Extrai o conteúdo da página atual e retorna a URL e o
                      HTML.
                required:
                  - type
              - type: object
                title: Execute JavaScript
                properties:
                  type:
                    type: string
                    enum:
                      - executeJavascript
                    description: Executar código JavaScript na página
                  script:
                    type: string
                    description: Código JavaScript a ser executado
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Gere um PDF da página atual. O PDF será retornado no array
                      `actions.pdfs` da resposta.
                  format:
                    type: string
                    enum:
                      - A0
                      - A1
                      - A2
                      - A3
                      - A4
                      - A5
                      - A6
                      - Letter
                      - Legal
                      - Tabloid
                      - Ledger
                    description: O tamanho da página do PDF gerado
                    default: Letter
                  landscape:
                    type: boolean
                    description: Se o PDF deve ser gerado em orientação horizontal
                    default: false
                  scale:
                    type: number
                    description: O fator de escala do PDF resultante
                    default: 1
                required:
                  - type
        location:
          type: object
          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:
              type: string
              description: >-
                Código de país ISO 3166-1 alfa-2 (por exemplo, “US”, “AU”, “DE”,
                “JP”)
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              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:
                type: string
                example: en-US
        removeBase64Images:
          type: boolean
          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.
          default: true
        blockAds:
          type: boolean
          description: Habilita o bloqueio de anúncios e de pop-ups de cookies.
          default: true
        proxy:
          type: string
          enum:
            - basic
            - enhanced
            - auto
          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.
        storeInCache:
          type: boolean
          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.
          default: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````