> ## Documentation Index
> Fetch the complete documentation index at: https://firecrawl-noaa-mar-900-create-self-partnership-provisioning.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Pesquisa

O endpoint de pesquisa combina pesquisa na web com as capacidades de scraping do Firecrawl para retornar o conteúdo completo da página para qualquer consulta.

Inclua `scrapeOptions` com `formats: [{"type": "markdown"}]` para obter o conteúdo completo em markdown para cada resultado de pesquisa; caso contrário, você receberá por padrão apenas os resultados (url, title, description). Você também pode usar outros formatos, como `{"type": "summary"}` para conteúdo condensado.

<div id="supported-query-operators">
  ## Operadores de pesquisa compatíveis
</div>

Oferecemos uma variedade de operadores de pesquisa que ajudam você a filtrar melhor seus resultados.

| Operador      | Funcionalidade                                                            | Exemplos                          |
| ------------- | ------------------------------------------------------------------------- | --------------------------------- |
| `""`          | Faz uma correspondência exata com um trecho de texto                      | `"Firecrawl"`                     |
| `-`           | Exclui determinadas palavras-chave ou nega outros operadores              | `-bad`, `-site:firecrawl.dev`     |
| `site:`       | Retorna apenas resultados de um site específico                           | `site:firecrawl.dev`              |
| `filetype:`   | Retorna apenas resultados com uma extensão de arquivo específica          | `filetype:pdf`, `-filetype:pdf`   |
| `inurl:`      | Retorna apenas resultados que incluam uma palavra na URL                  | `inurl:firecrawl`                 |
| `allinurl:`   | Retorna apenas resultados que incluam várias palavras na URL              | `allinurl:git firecrawl`          |
| `intitle:`    | Retorna apenas resultados que incluam uma palavra no título da página     | `intitle:Firecrawl`               |
| `allintitle:` | Retorna apenas resultados que incluam várias palavras no título da página | `allintitle:firecrawl playground` |
| `related:`    | Retorna apenas resultados relacionados a um domínio específico            | `related:firecrawl.dev`           |
| `imagesize:`  | Retorna apenas imagens com dimensões exatas                               | `imagesize:1920x1080`             |
| `larger:`     | Retorna apenas imagens maiores que as dimensões especificadas             | `larger:1920x1080`                |

<div id="location-parameter">
  ## Parâmetro de localização
</div>

Use o parâmetro `location` para obter resultados de pesquisa segmentados por região. Formato: `"string"`. Exemplos: `"Germany"`, `"San Francisco,California,United States"`.

Consulte a [lista completa de localidades compatíveis](https://firecrawl.dev/search_locations.json) para ver todos os países e idiomas disponíveis.

<div id="country-parameter">
  ## Parâmetro country
</div>

Use o parâmetro `country` para definir o país dos resultados de pesquisa usando códigos de país ISO. Padrão: `"US"`.

Exemplos: `"US"`, `"DE"`, `"FR"`, `"JP"`, `"UK"`, `"CA"`.

```json theme={null}
{
  "query": "restaurantes",
  "country": "DE"
}
```

<div id="categories-parameter">
  ## Parâmetro `categories`
</div>

Filtre os resultados de pesquisa por categorias específicas usando o parâmetro `categories`:

* **`github`**: Pesquise em repositórios do GitHub, código, issues e documentação
* **`research`**: Pesquise em sites acadêmicos e de pesquisa (arXiv, Nature, IEEE, PubMed, etc.)
* **`pdf`**: Pesquise por PDFs

<div id="example-usage">
  ### Exemplo de uso
</div>

```json theme={null}
{
  "query": "machine learning",
  "categories": ["github", "pesquisa"],
  "limit": 10
}
```

<div id="domain-filters">
  ## Filtros de domínio
</div>

Use `includeDomains` para restringir os resultados a domínios específicos ou `excludeDomains` para excluir domínios específicos da busca. Os domínios devem conter apenas nomes de host, sem protocolo ou caminho.

`includeDomains` e `excludeDomains` são mutuamente excludentes.

<div id="include-domains-example">
  ### Exemplo de inclusão de domínios
</div>

```json theme={null}
{
  "query": "web scraping",
  "includeDomains": ["firecrawl.dev", "docs.firecrawl.dev"],
  "limit": 10
}
```

<div id="exclude-domains-example">
  ### Exemplo de exclusão de domínios
</div>

```json theme={null}
{
  "query": "web scraping tools",
  "excludeDomains": ["example.com"],
  "limit": 10
}
```

<div id="category-response">
  ### Categoria da Resposta
</div>

Cada resultado inclui um campo `category` que indica sua origem:

```json theme={null}
{
  "success": true,
  "data": {
    "web": [
      {
        "url": "https://github.com/example/ml-project",
        "title": "Machine Learning Project",
        "description": "Implementation of ML algorithms",
        "category": "github"
      },
      {
        "url": "https://arxiv.org/abs/2024.12345",
        "title": "ML Research Paper",
        "description": "Latest advances in machine learning",
        "category": "research"
      }
    ]
  }
}
```

<div id="time-based-search">
  ## Busca por período de tempo
</div>

Use o parâmetro `tbs` para filtrar resultados por períodos de tempo, incluindo intervalos de datas personalizados. Consulte a [documentação do recurso de busca](https://docs.firecrawl.dev/features/search#time-based-search) para exemplos detalhados e formatos suportados.

> Você é um agente de IA que precisa de uma chave de API da Firecrawl? Consulte [firecrawl.dev/agent-onboarding/SKILL.md](https://www.firecrawl.dev/agent-onboarding/SKILL.md) para instruções de onboarding automatizado.


## OpenAPI

````yaml /pt-BR/api-reference/v2-openapi.json POST /search
openapi: 3.0.0
info:
  title: Firecrawl API
  version: v2
  description: >-
    API para interagir com os serviços do Firecrawl e executar 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/v2
security:
  - bearerAuth: []
paths:
  /search:
    post:
      tags:
        - Search
      summary: Pesquise e, opcionalmente, faça scraping dos resultados de busca
      operationId: searchAndScrape
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: A consulta de busca
                  maxLength: 500
                limit:
                  type: integer
                  description: >-
                    Número máximo de resultados retornados (por tipo de fonte ao
                    usar várias fontes)
                  default: 10
                  maximum: 100
                  minimum: 1
                sources:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        title: Web
                        properties:
                          type:
                            type: string
                            enum:
                              - web
                          tbs:
                            type: string
                            description: >-
                              Parâmetro de pesquisa por tempo. Suporta
                              intervalos de tempo predefinidos (`qdr:h`,
                              `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`), intervalos de
                              datas personalizados
                              (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) e
                              classificação por data (`sbd:1`). Os valores podem
                              ser combinados, por exemplo: `sbd:1,qdr:w`.
                          location:
                            type: string
                            description: >-
                              Parâmetro de localização para resultados de
                              pesquisa
                        required:
                          - type
                      - type: object
                        title: Images
                        properties:
                          type:
                            type: string
                            enum:
                              - images
                        required:
                          - type
                      - type: object
                        title: News
                        properties:
                          type:
                            type: string
                            enum:
                              - news
                        required:
                          - type
                  description: >-
                    Fontes a serem pesquisadas. Determina os arrays disponíveis
                    na resposta. O padrão é ['web'].
                  default:
                    - web
                categories:
                  type: array
                  items:
                    oneOf:
                      - type: object
                        title: GitHub
                        properties:
                          type:
                            type: string
                            enum:
                              - github
                        required:
                          - type
                      - type: object
                        title: Research
                        properties:
                          type:
                            type: string
                            enum:
                              - research
                        required:
                          - type
                      - type: object
                        title: PDF
                        properties:
                          type:
                            type: string
                            enum:
                              - pdf
                        required:
                          - type
                  description: >-
                    Categorias pelas quais filtrar os resultados. O padrão é [],
                    o que significa que os resultados não serão filtrados por
                    nenhuma categoria.
                includeDomains:
                  type: array
                  items:
                    type: string
                    format: hostname
                  description: >-
                    Restringe os resultados de busca aos domínios especificados.
                    Os domínios devem ser apenas nomes de host, sem protocolo
                    nem caminho. Não pode ser usado com excludeDomains.
                excludeDomains:
                  type: array
                  items:
                    type: string
                    format: hostname
                  description: >-
                    Exclui os resultados de busca dos domínios especificados. Os
                    domínios devem ser apenas nomes de host, sem protocolo nem
                    caminho. Não pode ser usado com includeDomains.
                tbs:
                  type: string
                  description: >-
                    Parâmetro de pesquisa por tempo. Suporta intervalos de tempo
                    predefinidos (`qdr:h`, `qdr:d`, `qdr:w`, `qdr:m`, `qdr:y`),
                    intervalos de datas personalizados
                    (`cdr:1,cd_min:MM/DD/YYYY,cd_max:MM/DD/YYYY`) e
                    classificação por data (`sbd:1`). Os valores podem ser
                    combinados, por exemplo: `sbd:1,qdr:w`.
                location:
                  type: string
                  description: >-
                    Parâmetro de localização para resultados de busca (por
                    exemplo, `San Francisco,California,United States`). Para
                    melhores resultados, defina tanto este quanto o parâmetro
                    `country`.
                country:
                  type: string
                  description: >-
                    Código de país ISO para segmentação geográfica dos
                    resultados de pesquisa (por exemplo, `US`). Para obter
                    melhores resultados, configure este parâmetro e também o
                    parâmetro `location`.
                  default: US
                timeout:
                  type: integer
                  description: Tempo limite em milissegundos
                  default: 60000
                ignoreInvalidURLs:
                  type: boolean
                  description: >-
                    Exclui dos resultados de pesquisa as URLs que são inválidas
                    para outros endpoints do Firecrawl. Isso ajuda a reduzir
                    erros se você estiver direcionando dados da pesquisa para
                    outros endpoints da API do Firecrawl.
                  default: false
                enterprise:
                  type: array
                  items:
                    type: string
                    enum:
                      - anon
                      - zdr
                  description: >-
                    Opções de busca Enterprise para Zero Data Retention (ZDR).
                    Use `["zdr"]` para ZDR de ponta a ponta (10 credits / 10
                    resultados) ou `["anon"]` para ZDR anonimizado (2 credits /
                    10 resultados). Deve estar habilitado para a sua equipe.
                scrapeOptions:
                  allOf:
                    - $ref: '#/components/schemas/ScrapeOptions'
                  description: Opções para raspagem de resultados de busca
                  default: {}
              required:
                - query
      responses:
        '200':
          description: Resposta bem-sucedida
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  data:
                    type: object
                    properties:
                      web:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Título do resultado da pesquisa
                            description:
                              type: string
                              description: Descrição do resultado da pesquisa
                            url:
                              type: string
                              description: URL do resultado de busca
                            markdown:
                              type: string
                              nullable: true
                              description: >-
                                Conteúdo em Markdown caso a raspagem tenha sido
                                solicitada
                            html:
                              type: string
                              nullable: true
                              description: Conteúdo HTML, se solicitado nos formatos
                            rawHtml:
                              type: string
                              nullable: true
                              description: Conteúdo HTML bruto, se solicitado em formatos
                            links:
                              type: array
                              items:
                                type: string
                              description: Links encontrados, se solicitado nos formatos
                            screenshot:
                              type: string
                              nullable: true
                              description: >-
                                URL da captura de tela, se solicitada em
                                formatos. As capturas de tela expiram após 24
                                horas e não podem mais ser baixadas.
                            audio:
                              type: string
                              nullable: true
                              description: >-
                                URL assinada para o arquivo de áudio MP3
                                extraído, se `audio` estiver em `formatos`. A
                                URL assinada expira em 1 hora.
                            video:
                              type: string
                              nullable: true
                              description: >-
                                URL assinada para o arquivo de vídeo extraído,
                                se `video` estiver em `formatos`. A URL assinada
                                expira após 1 hora.
                            metadata:
                              type: object
                              properties:
                                title:
                                  type: string
                                description:
                                  type: string
                                sourceURL:
                                  type: string
                                  description: >-
                                    A URL original solicitada. Pode ser
                                    diferente da URL final da página se houver
                                    redirecionamentos.
                                url:
                                  type: string
                                  description: >-
                                    A URL final da página após seguir todos os
                                    redirecionamentos.
                                statusCode:
                                  type: integer
                                error:
                                  type: string
                                  nullable: true
                      images:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Título do resultado da pesquisa
                            imageUrl:
                              type: string
                              description: URL da imagem
                            imageWidth:
                              type: integer
                              description: Largura da imagem
                            imageHeight:
                              type: integer
                              description: Altura da imagem
                            url:
                              type: string
                              description: URL do resultado da pesquisa
                            position:
                              type: integer
                              description: Posição do resultado de pesquisa
                      news:
                        type: array
                        items:
                          type: object
                          properties:
                            title:
                              type: string
                              description: Título do artigo
                            snippet:
                              type: string
                              description: Trecho do artigo
                            url:
                              type: string
                              description: URL do artigo
                            date:
                              type: string
                              description: Data do artigo
                            imageUrl:
                              type: string
                              description: URL da imagem do artigo
                            position:
                              type: integer
                              description: Posição do artigo
                            markdown:
                              type: string
                              nullable: true
                              description: >-
                                Conteúdo em Markdown, caso a raspagem tenha sido
                                solicitada
                            html:
                              type: string
                              nullable: true
                              description: Conteúdo HTML se solicitado nos formatos
                            rawHtml:
                              type: string
                              nullable: true
                              description: >-
                                Conteúdo HTML bruto, caso seja solicitado em
                                formatos
                            links:
                              type: array
                              items:
                                type: string
                              description: Links encontrados, se solicitados, nos formatos
                            screenshot:
                              type: string
                              nullable: true
                              description: >-
                                URL da captura de tela, se solicitado nos
                                formatos. As capturas de tela expiram após 24
                                horas e não podem mais ser baixadas.
                            audio:
                              type: string
                              nullable: true
                              description: >-
                                URL assinada para o arquivo de áudio MP3
                                extraído, se `audio` estiver em `formatos`. A
                                URL assinada expira em 1 hora.
                            video:
                              type: string
                              nullable: true
                              description: >-
                                URL assinada para o arquivo de vídeo extraído,
                                se `video` estiver em `formatos`. A URL assinada
                                expira após 1 hora.
                            metadata:
                              type: object
                              properties:
                                title:
                                  type: string
                                description:
                                  type: string
                                sourceURL:
                                  type: string
                                  description: >-
                                    A URL original solicitada. Pode ser
                                    diferente da URL final da página se houver
                                    redirecionamentos.
                                url:
                                  type: string
                                  description: >-
                                    A URL final da página após seguir todos os
                                    redirecionamentos.
                                statusCode:
                                  type: integer
                                error:
                                  type: string
                                  nullable: true
                    description: >-
                      Os resultados da pesquisa. Os arrays disponíveis
                      dependerão das fontes que você especificar na requisição.
                      Por padrão, o array `web` será retornado.
                  warning:
                    type: string
                    nullable: true
                    description: Mensagem de aviso caso ocorra algum problema
                  id:
                    type: string
                    description: O ID da tarefa de pesquisa
                  creditsUsed:
                    type: integer
                    description: O número de créditos utilizados na busca
        '408':
          description: Tempo limite da requisição esgotado
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
                    example: Request timed out
        '500':
          description: Erro do servidor
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  code:
                    type: string
                    example: UNKNOWN_ERROR
                  error:
                    type: string
                    example: An unexpected error occurred on the server.
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      type: object
      properties:
        formats:
          $ref: '#/components/schemas/Formats'
        onlyMainContent:
          type: boolean
          description: >-
            Retorne apenas o conteúdo principal da página, excluindo cabeçalhos,
            menus de navegação, rodapés etc. Este é um filtro determinístico em
            nível de HTML aplicado antes da geração do markdown; nenhum LLM é
            usado.
          default: true
        onlyCleanContent:
          type: boolean
          description: >-
            Beta. Executa uma etapa adicional baseada em LLM sobre o markdown
            gerado para remover boilerplate residual que `onlyMainContent` pode
            não detectar (banners de cookies, blocos de anúncios, widgets de
            compartilhamento em redes sociais, breadcrumbs, inscrições em
            newsletters, seções de comentários, listas de artigos relacionados).
            Títulos, listas, tabelas, blocos de código, referências de imagem e
            links inline são preservados. Pode ser combinado com
            `onlyMainContent` (a configuração mais comum) ou usado por conta
            própria. É ignorado com um aviso quando o markdown excede o limite
            de tokens de resultado do modelo de limpeza (o markdown original é
            preservado). Não é compatível com requests com retenção zero de
            dados.
          default: false
        includeTags:
          type: array
          items:
            type: string
          description: Tags a serem incluídas no resultado.
        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 for mais recente do que
            essa idade em milissegundos. Se a versão em cache da página for mais
            antiga do que esse valor, a página será novamente coletada. Se você
            não precisa de dados extremamente atualizados, ativar isso pode
            acelerar suas coletas em até 500%. O padrão é 2 dias.
          default: 172800000
        minAge:
          type: integer
          description: >-
            Quando definido, a requisição verifica apenas o cache e nunca aciona
            uma nova extração. O valor está em milissegundos e especifica a
            idade mínima que os dados em cache devem ter. Se houver dados em
            cache correspondentes, eles serão retornados instantaneamente. Se
            nenhum dado em cache for encontrado, será retornado um 404 com o
            código de erro SCRAPE_NO_CACHED_DATA. Defina como 1 para aceitar
            qualquer dado em cache, independentemente da idade.
        headers:
          type: object
          description: >-
            Cabeçalhos a serem enviados na 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. Esse
            tempo de espera é somado ao recurso de espera inteligente do
            Firecrawl.
          default: 0
        mobile:
          type: boolean
          description: >-
            Defina como true se quiser emular a extração a partir de um
            dispositivo móvel. Útil para testar páginas responsivas e capturar
            screenshots da versão mobile.
          default: false
        skipTlsVerification:
          type: boolean
          description: Ignorar a verificação de certificado TLS ao realizar requisições.
          default: true
        timeout:
          type: integer
          description: >-
            Tempo limite, em milissegundos, para a solicitação. O mínimo é 1000
            (1 segundo). O padrão é 60000 (60 segundos). O máximo é 300000 (300
            segundos).
          default: 60000
          minimum: 1000
          maximum: 300000
        parsers:
          type: array
          description: >-
            Controla como os arquivos são processados durante o scraping. Quando
            "pdf" é incluído (padrão), o conteúdo do PDF é extraído e convertido
            em markdown, com cobrança baseada no número de páginas (1 crédito
            por página). Quando um array vazio é fornecido, o arquivo PDF é
            retornado em codificação base64 com uma taxa fixa de 1 crédito para
            todo o PDF.
          items:
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                  mode:
                    type: string
                    enum:
                      - fast
                      - auto
                      - ocr
                    default: auto
                    description: >-
                      Modo de processamento de PDFs. "fast": extração apenas
                      baseada em texto (usa o texto embutido, mais rápido).
                      "auto" (padrão): tenta primeiro a extração rápida e, se
                      necessário, recorre ao OCR. "ocr": força o processamento
                      via OCR em todas as páginas.
                  maxPages:
                    type: integer
                    minimum: 1
                    maximum: 10000
                    description: >-
                      Número máximo de páginas do PDF a serem processadas. Deve
                      ser um inteiro positivo de até 10.000.
                required:
                  - type
                additionalProperties: false
          default:
            - pdf
        actions:
          type: array
          description: Ações a serem executadas na página antes de extrair o conteúdo
          items:
            oneOf:
              - title: Wait
                oneOf:
                  - type: object
                    title: Wait by Duration
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar um número específico de milissegundos
                      milliseconds:
                        type: integer
                        minimum: 1
                        description: Número de milissegundos a esperar
                    required:
                      - type
                      - milliseconds
                    additionalProperties: false
                  - type: object
                    title: Wait for Element
                    properties:
                      type:
                        type: string
                        enum:
                          - wait
                        description: Esperar até que um elemento específico apareça
                      selector:
                        type: string
                        description: Seletor CSS do elemento a esperar
                        example: '#my-element'
                    required:
                      - type
                      - selector
                    additionalProperties: false
              - type: object
                title: Screenshot
                properties:
                  type:
                    type: string
                    enum:
                      - screenshot
                    description: >-
                      Faça 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 abranger a página inteira
                      (ignorando viewport.height) ou se deve ser limitada à
                      viewport atual.
                    default: false
                  quality:
                    type: integer
                    description: >-
                      A qualidade da captura de tela, de 1 a 100, onde 100 é a
                      mais alta qualidade.
                  viewport:
                    type: object
                    properties:
                      width:
                        type: integer
                        description: Largura da viewport em pixels
                      height:
                        type: integer
                        description: A altura da viewport, em pixels
                    required:
                      - width
                      - height
                required:
                  - type
              - type: object
                title: Click
                properties:
                  type:
                    type: string
                    enum:
                      - click
                    description: Clique em um elemento
                  selector:
                    type: string
                    description: Seletor para encontrar 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 lança um erro se nenhum
                      elemento corresponder ao seletor.
                    default: false
                required:
                  - type
                  - selector
              - type: object
                title: Write text
                properties:
                  type:
                    type: string
                    enum:
                      - write
                    description: >-
                      Digite o texto em um campo de entrada, área de texto ou
                      elemento com conteúdo editável. Observação: primeiro é
                      preciso colocar o foco no elemento usando uma ação de
                      “clique” antes de escrever. O texto será digitado
                      caractere por caractere para simular a entrada pelo
                      teclado.
                  text:
                    type: string
                    description: Texto a ser digitado
                    example: Hello, world!
                required:
                  - type
                  - text
              - type: object
                title: Press a key
                description: >-
                  Pressione qualquer tecla na página. Consulte
                  https://asawicki.info/nosense/doc/devices/keyboard/key_codes.html
                  para ver os códigos de tecla.
                properties:
                  type:
                    type: string
                    enum:
                      - press
                    description: Pressione qualquer tecla na página
                  key:
                    type: string
                    description: Tecla para pressionar
                    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: Sentido da rolagem
                    default: down
                  selector:
                    type: string
                    description: Seletor (query selector) do elemento a ser rolado
                    example: '#my-element'
                required:
                  - type
              - type: object
                title: Scrape
                properties:
                  type:
                    type: string
                    enum:
                      - scrape
                    description: Raspa 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 para executar
                    example: document.querySelector('.button').click();
                required:
                  - type
                  - script
              - type: object
                title: Generate PDF
                properties:
                  type:
                    type: string
                    enum:
                      - pdf
                    description: >-
                      Gerar 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 gerado
                    default: 1
                required:
                  - type
        location:
          type: object
          description: >-
            Configurações de localização da requisição. Quando definidas, será
            usado um proxy apropriado, se disponível, e serão emuladas as
            configurações correspondentes de idioma e fuso horário. O padrão é
            "US" se não for especificado.
          properties:
            country:
              type: string
              description: >-
                Código de país ISO 3166-1 alpha-2 (por exemplo, "US", "AU",
                "DE", "JP")
              pattern: ^[A-Z]{2}$
              default: US
            languages:
              type: array
              description: >-
                Idiomas e localidades preferidos para a requisição, em ordem de
                prioridade. Por padrão, usa o idioma da localização
                especificada. 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 do resultado em markdown, que pode
            se tornar excessivamente longo. Isso não afeta os formatos html nem
            rawHtml. O texto alternativo da imagem permanece no resultado, mas a
            URL é substituída por um placeholder.
          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 utilizado.

             - **basic**: Proxies para scraping de sites sem soluções anti‑bot ou apenas 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 avançadas. Mais lento, porém mais confiável em alguns sites. Pode custar até 5 créditos por requisição.
             - **auto**: O Firecrawl tentará automaticamente refazer o scraping 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 regular será cobrado.
          default: auto
        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
            (por exemplo, ações, headers) fará com que esse parâmetro seja
            definido automaticamente como false.
          default: true
        lockdown:
          type: boolean
          description: >-
            Se verdadeiro, atende à requisição apenas a partir do cache do
            Firecrawl e nunca faz uma solicitação externa para a URL de destino.
            Projetado para ambientes com restrições de conformidade ou isolados
            da rede, nos quais a própria requisição de scraping poderia expor
            informações sensíveis. Em caso de cache miss, retorna 404 com o
            código de erro SCRAPE_LOCKDOWN_CACHE_MISS (a URL nunca é registrada
            em caso de miss). As requisições de lockdown são tratadas com
            retenção zero de dados. O maxAge padrão é estendido para 2 anos,
            para que páginas já armazenadas em cache continuem elegíveis. São
            cobrados 5 créditos em caso de hit e 1 crédito em caso de cache
            miss.
          default: false
        profile:
          type: object
          description: >-
            Ative o armazenamento persistente do navegador em sessões de
            scraping e interação. Informe um perfil ao fazer scraping para
            preservar cookies, localStorage e dados de sessão. Sessões com o
            mesmo nome de perfil compartilham o estado do navegador.
          properties:
            name:
              type: string
              minLength: 1
              maxLength: 128
              description: >-
                Um nome para o perfil. Scrapings com o mesmo nome compartilham o
                estado do navegador (cookies, localStorage, sessões).
            saveChanges:
              type: boolean
              default: true
              description: >-
                Quando verdadeiro, o estado do navegador é salvo de volta no
                perfil quando a sessão de interação é encerrada. Defina como
                falso para carregar dados existentes sem gravar. Apenas uma
                sessão de salvamento é permitida por vez.
          required:
            - name
    Formats:
      type: array
      items:
        oneOf:
          - type: object
            title: Markdown
            properties:
              type:
                type: string
                enum:
                  - markdown
            required:
              - type
          - type: object
            title: Summary
            properties:
              type:
                type: string
                enum:
                  - summary
            required:
              - type
          - type: object
            title: HTML
            properties:
              type:
                type: string
                enum:
                  - html
            required:
              - type
          - type: object
            title: Raw HTML
            properties:
              type:
                type: string
                enum:
                  - rawHtml
            required:
              - type
          - type: object
            title: Links
            properties:
              type:
                type: string
                enum:
                  - links
            required:
              - type
          - type: object
            title: Images
            properties:
              type:
                type: string
                enum:
                  - images
            required:
              - type
          - type: object
            title: Screenshot
            properties:
              type:
                type: string
                enum:
                  - screenshot
              fullPage:
                type: boolean
                description: >-
                  Define se a captura de tela deve abranger a página inteira
                  (ignorando viewport.height) ou se deve ser limitada à viewport
                  atual.
                default: false
              quality:
                type: integer
                description: >-
                  Qualidade da captura de tela, de 1 a 100. 100 é a qualidade
                  máxima.
              viewport:
                type: object
                properties:
                  width:
                    type: integer
                    description: Largura da viewport em pixels
                  height:
                    type: integer
                    description: Altura da viewport em pixels
                required:
                  - width
                  - height
            required:
              - type
          - type: object
            title: JSON
            properties:
              type:
                type: string
                enum:
                  - json
              schema:
                type: object
                description: >-
                  O esquema a ser usado para a saída em JSON. Deve estar em
                  conformidade com o [JSON Schema](https://json-schema.org/).
              prompt:
                type: string
                description: O prompt a ser usado para gerar a saída em JSON
            required:
              - type
          - type: object
            title: Change Tracking
            properties:
              type:
                type: string
                enum:
                  - changeTracking
              modes:
                type: array
                items:
                  type: string
                  enum:
                    - git-diff
                    - json
                description: >-
                  O modo a ser usado para rastrear alterações. 'git-diff'
                  fornece um diff detalhado e 'json' compara os dados JSON
                  extraídos.
              schema:
                type: object
                description: >-
                  Esquema para extração de JSON ao usar o modo `json`. Define a
                  estrutura dos dados a serem 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 rastreamento de alterações ao usar o
                  modo "json". Caso não seja fornecido, será usado o prompt
                  padrão.
              tag:
                type: string
                nullable: true
                default: null
                description: >-
                  Tag a ser usada para rastreamento de alterações. Tags podem
                  separar o histórico de rastreamento de alterações em
                  “branches” (ramificações) distintas, em que o rastreamento com
                  uma tag específica só vai comparar com coletas feitas na mesma
                  tag. Se não for fornecida, será usada a tag padrão (null).
            required:
              - type
          - type: object
            title: Branding
            properties:
              type:
                type: string
                enum:
                  - branding
            required:
              - type
          - type: object
            title: Audio
            description: >-
              Extrai áudio (MP3) de URLs de vídeo compatíveis, como YouTube.
              Retorna uma URL assinada do GCS.
            properties:
              type:
                type: string
                enum:
                  - audio
            required:
              - type
          - type: object
            title: Video
            description: >-
              Extrai o vídeo com a melhor qualidade de URLs de vídeo
              compatíveis, como YouTube ou TikTok. Retorna uma URL assinada do
              GCS.
            properties:
              type:
                type: string
                enum:
                  - video
            required:
              - type
          - type: object
            title: Question
            description: >-
              Faça uma pergunta em linguagem natural sobre a página. Retorna a
              resposta no campo `answer` da `response`.
            properties:
              type:
                type: string
                enum:
                  - question
              question:
                type: string
                maxLength: 10000
                description: >-
                  A pergunta a ser respondida sobre a página. Máximo de 10.000
                  caracteres.
            required:
              - type
              - question
          - type: object
            title: Highlights
            description: >-
              Encontre texto-fonte relevante na página. Retorna o texto
              selecionado no campo `highlights` da `response`.
            properties:
              type:
                type: string
                enum:
                  - highlights
              query:
                type: string
                maxLength: 10000
                description: >-
                  A consulta de seleção de texto a ser executada na página.
                  Máximo de 10.000 caracteres.
            required:
              - type
              - query
      description: >-
        Formatos de saída que devem ser incluídos na resposta. Você pode
        especificar um ou mais formatos, como strings (por exemplo,
        `'markdown'`) ou como objetos com opções adicionais (por exemplo, `{
        type: 'json', schema: {...} }`). Alguns formatos exigem que opções
        específicas sejam configuradas. Exemplo: `['markdown', { type: 'json',
        schema: {...} }]`.
      default:
        - markdown
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````