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

# 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:
  contact:
    email: support@firecrawl.dev
    name: Firecrawl Support
    url: https://firecrawl.dev/support
  description: >-
    API para interagir com os serviços do Firecrawl e executar tarefas de web
    scraping e crawling.
  title: Firecrawl API
  version: v2
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:
        content:
          application/json:
            schema:
              properties:
                categories:
                  description: >-
                    Categorias pelas quais filtrar os resultados. O padrão é [],
                    o que significa que os resultados não serão filtrados por
                    nenhuma categoria.
                  items:
                    oneOf:
                      - properties:
                          type:
                            enum:
                              - github
                            type: string
                        required:
                          - type
                        title: GitHub
                        type: object
                      - properties:
                          type:
                            enum:
                              - research
                            type: string
                        required:
                          - type
                        title: Research
                        type: object
                      - properties:
                          type:
                            enum:
                              - pdf
                            type: string
                        required:
                          - type
                        title: PDF
                        type: object
                  type: array
                country:
                  default: US
                  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`.
                  type: string
                enterprise:
                  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.
                  items:
                    enum:
                      - anon
                      - zdr
                    type: string
                  type: array
                excludeDomains:
                  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.
                  items:
                    format: hostname
                    type: string
                  type: array
                ignoreInvalidURLs:
                  default: false
                  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.
                  type: boolean
                includeDomains:
                  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.
                  items:
                    format: hostname
                    type: string
                  type: array
                limit:
                  default: 10
                  description: >-
                    Número máximo de resultados retornados (por tipo de fonte ao
                    usar várias fontes)
                  maximum: 100
                  minimum: 1
                  type: integer
                location:
                  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`.
                  type: string
                query:
                  description: A consulta de busca
                  maxLength: 500
                  type: string
                scrapeOptions:
                  allOf:
                    - $ref: '#/components/schemas/ScrapeOptions'
                  default: {}
                  description: Opções para raspagem de resultados de busca
                sources:
                  default:
                    - web
                  description: >-
                    Fontes a serem pesquisadas. Determina os arrays disponíveis
                    na resposta. O padrão é ['web'].
                  items:
                    oneOf:
                      - properties:
                          location:
                            description: >-
                              Parâmetro de localização para resultados de
                              pesquisa
                            type: string
                          tbs:
                            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`.
                            type: string
                          type:
                            enum:
                              - web
                            type: string
                        required:
                          - type
                        title: Web
                        type: object
                      - properties:
                          type:
                            enum:
                              - images
                            type: string
                        required:
                          - type
                        title: Images
                        type: object
                      - properties:
                          type:
                            enum:
                              - news
                            type: string
                        required:
                          - type
                        title: News
                        type: object
                  type: array
                tbs:
                  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`.
                  type: string
                threatProtection:
                  $ref: '#/components/schemas/ThreatProtectionOverride'
                timeout:
                  default: 60000
                  description: Tempo limite em milissegundos
                  type: integer
              required:
                - query
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  creditsUsed:
                    description: O número de créditos utilizados na busca
                    type: integer
                  data:
                    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.
                    properties:
                      images:
                        items:
                          properties:
                            imageHeight:
                              description: Altura da imagem
                              type: integer
                            imageUrl:
                              description: URL da imagem
                              type: string
                            imageWidth:
                              description: Largura da imagem
                              type: integer
                            position:
                              description: Posição do resultado de pesquisa
                              type: integer
                            title:
                              description: Título do resultado da pesquisa
                              type: string
                            url:
                              description: URL do resultado da pesquisa
                              type: string
                          type: object
                        type: array
                      news:
                        items:
                          properties:
                            audio:
                              description: >-
                                URL assinada para o arquivo de áudio MP3
                                extraído, se `audio` estiver em `formatos`. A
                                URL assinada expira em 1 hora.
                              nullable: true
                              type: string
                            date:
                              description: Data do artigo
                              type: string
                            html:
                              description: Conteúdo HTML se solicitado nos formatos
                              nullable: true
                              type: string
                            imageUrl:
                              description: URL da imagem do artigo
                              type: string
                            links:
                              description: Links encontrados, se solicitados, nos formatos
                              items:
                                type: string
                              type: array
                            markdown:
                              description: >-
                                Conteúdo em Markdown, caso a raspagem tenha sido
                                solicitada
                              nullable: true
                              type: string
                            metadata:
                              properties:
                                description:
                                  type: string
                                error:
                                  nullable: true
                                  type: string
                                numPages:
                                  description: >-
                                    Para entradas em PDF, o número de páginas
                                    processadas (limitado pela opção maxPages do
                                    parser).
                                  type: integer
                                sourceURL:
                                  description: >-
                                    A URL original solicitada. Pode ser
                                    diferente da URL final da página se houver
                                    redirecionamentos.
                                  type: string
                                statusCode:
                                  type: integer
                                title:
                                  type: string
                                totalPages:
                                  description: >-
                                    Para entradas em PDF, o número real de
                                    páginas do documento antes de qualquer
                                    limitação por maxPages. Omitido quando não
                                    for possível determiná-lo; um totalPages
                                    maior que numPages indica que o resultado
                                    foi truncado.
                                  type: integer
                                url:
                                  description: >-
                                    A URL final da página após seguir todos os
                                    redirecionamentos.
                                  type: string
                              type: object
                            position:
                              description: Posição do artigo
                              type: integer
                            rawHtml:
                              description: >-
                                Conteúdo HTML bruto, caso seja solicitado em
                                formatos
                              nullable: true
                              type: string
                            screenshot:
                              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.
                              nullable: true
                              type: string
                            snippet:
                              description: Trecho do artigo
                              type: string
                            title:
                              description: Título do artigo
                              type: string
                            url:
                              description: URL do artigo
                              type: string
                            video:
                              description: >-
                                URL assinada para o arquivo de vídeo extraído,
                                se `video` estiver em `formatos`. A URL assinada
                                expira após 1 hora.
                              nullable: true
                              type: string
                          type: object
                        type: array
                      web:
                        items:
                          properties:
                            audio:
                              description: >-
                                URL assinada para o arquivo de áudio MP3
                                extraído, se `audio` estiver em `formatos`. A
                                URL assinada expira em 1 hora.
                              nullable: true
                              type: string
                            description:
                              description: Descrição do resultado da pesquisa
                              type: string
                            html:
                              description: Conteúdo HTML, se solicitado nos formatos
                              nullable: true
                              type: string
                            links:
                              description: Links encontrados, se solicitado nos formatos
                              items:
                                type: string
                              type: array
                            markdown:
                              description: >-
                                Conteúdo em Markdown caso a raspagem tenha sido
                                solicitada
                              nullable: true
                              type: string
                            metadata:
                              properties:
                                description:
                                  type: string
                                error:
                                  nullable: true
                                  type: string
                                numPages:
                                  description: >-
                                    Para entradas em PDF, o número de páginas
                                    processadas (limitado pela opção maxPages do
                                    parser).
                                  type: integer
                                sourceURL:
                                  description: >-
                                    A URL original solicitada. Pode ser
                                    diferente da URL final da página se houver
                                    redirecionamentos.
                                  type: string
                                statusCode:
                                  type: integer
                                title:
                                  type: string
                                totalPages:
                                  description: >-
                                    Para entradas em PDF, o número real de
                                    páginas do documento antes de qualquer
                                    limitação por maxPages. Omitido quando não
                                    for possível determiná-lo; um totalPages
                                    maior que numPages indica que o resultado
                                    foi truncado.
                                  type: integer
                                url:
                                  description: >-
                                    A URL final da página após seguir todos os
                                    redirecionamentos.
                                  type: string
                              type: object
                            rawHtml:
                              description: Conteúdo HTML bruto, se solicitado em formatos
                              nullable: true
                              type: string
                            screenshot:
                              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.
                              nullable: true
                              type: string
                            title:
                              description: Título do resultado da pesquisa
                              type: string
                            url:
                              description: URL do resultado de busca
                              type: string
                            video:
                              description: >-
                                URL assinada para o arquivo de vídeo extraído,
                                se `video` estiver em `formatos`. A URL assinada
                                expira após 1 hora.
                              nullable: true
                              type: string
                          type: object
                        type: array
                    type: object
                  id:
                    description: O ID da tarefa de pesquisa
                    type: string
                  success:
                    type: boolean
                  warning:
                    description: Mensagem de aviso caso ocorra algum problema
                    nullable: true
                    type: string
                type: object
          description: Resposta bem-sucedida
        '408':
          content:
            application/json:
              schema:
                properties:
                  error:
                    example: Request timed out
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Tempo limite da requisição esgotado
        '500':
          content:
            application/json:
              schema:
                properties:
                  code:
                    example: UNKNOWN_ERROR
                    type: string
                  error:
                    example: An unexpected error occurred on the server.
                    type: string
                  success:
                    example: false
                    type: boolean
                type: object
          description: Erro do servidor
      security:
        - bearerAuth: []
components:
  schemas:
    ScrapeOptions:
      properties:
        actions:
          description: Ações a serem executadas na página antes de extrair o conteúdo
          items:
            oneOf:
              - oneOf:
                  - additionalProperties: false
                    properties:
                      milliseconds:
                        description: Número de milissegundos a esperar
                        minimum: 1
                        type: integer
                      type:
                        description: Esperar um número específico de milissegundos
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - milliseconds
                    title: Wait by Duration
                    type: object
                  - additionalProperties: false
                    properties:
                      selector:
                        description: Seletor CSS do elemento a esperar
                        example: '#my-element'
                        type: string
                      type:
                        description: Esperar até que um elemento específico apareça
                        enum:
                          - wait
                        type: string
                    required:
                      - type
                      - selector
                    title: Wait for Element
                    type: object
                title: Wait
              - properties:
                  fullPage:
                    default: false
                    description: >-
                      Define se a captura de tela deve abranger a página inteira
                      (ignorando viewport.height) ou se deve ser limitada à
                      viewport atual.
                    type: boolean
                  quality:
                    description: >-
                      A qualidade da captura de tela, de 1 a 100, onde 100 é a
                      mais alta qualidade.
                    type: integer
                  type:
                    description: >-
                      Faça uma captura de tela. Os links estarão no array
                      `actions.screenshots` da resposta.
                    enum:
                      - screenshot
                    type: string
                  viewport:
                    properties:
                      height:
                        description: A altura da viewport, em pixels
                        type: integer
                      width:
                        description: Largura da viewport em pixels
                        type: integer
                    required:
                      - width
                      - height
                    type: object
                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 lança um erro se nenhum
                      elemento corresponder ao seletor.
                    type: boolean
                  selector:
                    description: Seletor para encontrar 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 a ser digitado
                    example: Hello, world!
                    type: string
                  type:
                    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.
                    enum:
                      - write
                    type: string
                required:
                  - type
                  - text
                title: Write text
                type: object
              - 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:
                  key:
                    description: Tecla para pressionar
                    example: Enter
                    type: string
                  type:
                    description: Pressione qualquer tecla na página
                    enum:
                      - press
                    type: string
                required:
                  - type
                  - key
                title: Press a key
                type: object
              - properties:
                  direction:
                    default: down
                    description: Sentido da rolagem
                    enum:
                      - up
                      - down
                    type: string
                  selector:
                    description: Seletor (query selector) do 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: Raspa 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 para executar
                    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 gerado
                    type: number
                  type:
                    description: >-
                      Gerar 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
        formats:
          $ref: '#/components/schemas/Formats'
        headers:
          description: >-
            Cabeçalhos a serem enviados na requisição. Podem ser usados para
            enviar cookies, user-agent etc.
          type: object
        includeTags:
          description: Tags a serem incluídas no resultado.
          items:
            type: string
          type: array
        location:
          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:
              default: US
              description: >-
                Código de país ISO 3166-1 alpha-2 (por exemplo, "US", "AU",
                "DE", "JP")
              pattern: ^[A-Z]{2}$
              type: string
            languages:
              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:
                example: en-US
                type: string
              type: array
          type: object
        lockdown:
          default: false
          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.
          type: boolean
        maxAge:
          default: 172800000
          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.
          type: integer
        minAge:
          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.
          type: integer
        mobile:
          default: false
          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.
          type: boolean
        onlyCleanContent:
          default: false
          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.
          type: boolean
        onlyMainContent:
          default: true
          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.
          type: boolean
        parsers:
          default:
            - pdf
          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:
              - additionalProperties: false
                properties:
                  maxPages:
                    description: >-
                      Número máximo de páginas do PDF a serem processadas. Deve
                      ser um inteiro positivo de até 10.000.
                    maximum: 10000
                    minimum: 1
                    type: integer
                  mode:
                    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.
                    enum:
                      - fast
                      - auto
                      - ocr
                    type: string
                  type:
                    enum:
                      - pdf
                    type: string
                required:
                  - type
                type: object
          type: array
        profile:
          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:
              description: >-
                Um nome para o perfil. Scrapings com o mesmo nome compartilham o
                estado do navegador (cookies, localStorage, sessões).
              maxLength: 128
              minLength: 1
              type: string
            saveChanges:
              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.
              type: boolean
          required:
            - name
          type: object
        proxy:
          default: 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.
          enum:
            - basic
            - enhanced
            - auto
          type: string
        redactPII:
          default: false
          description: >-
            Redija informações de identificação pessoal do markdown retornado.
            Passe `true` para usar os padrões ou um objeto para ajustar o modo,
            as entidades e o estilo de substituição.
          oneOf:
            - type: boolean
            - $ref: '#/components/schemas/RedactPIIOptions'
        removeBase64Images:
          default: true
          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.
          type: boolean
        skipTlsVerification:
          default: true
          description: Ignorar a verificação de certificado TLS ao realizar 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
            (por exemplo, ações, headers) fará com que esse parâmetro seja
            definido automaticamente como false.
          type: boolean
        threatProtection:
          $ref: '#/components/schemas/ThreatProtectionOverride'
        timeout:
          default: 60000
          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).
          maximum: 300000
          minimum: 1000
          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. Esse
            tempo de espera é somado ao recurso de espera inteligente do
            Firecrawl.
          type: integer
      type: object
    ThreatProtectionOverride:
      description: >-
        Substituição por solicitação da [Proteção contra
        ameaças](https://docs.firecrawl.dev/features/threat-protection). Os
        campos fornecidos substituem os campos correspondentes da política da
        sua organização apenas nesta 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 habilitada para sua equipe (recurso enterprise) — caso
        contrário, a solicitação será rejeitada com 403. Se sua organização
        tiver desativado substituições por solicitação, qualquer solicitação que
        inclua este objeto será rejeitada com 403. Se a Proteção contra ameaças
        for imposta à 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 verificação 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 prioridade sobre todas as outras regras.
          items:
            type: string
          maxItems: 1000
          type: array
      title: Threat Protection Override
      type: object
    Formats:
      default:
        - markdown
      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: {...} }]`.
      items:
        oneOf:
          - properties:
              type:
                enum:
                  - markdown
                type: string
            required:
              - type
            title: Markdown
            type: object
          - properties:
              type:
                enum:
                  - summary
                type: string
            required:
              - type
            title: Summary
            type: object
          - properties:
              type:
                enum:
                  - html
                type: string
            required:
              - type
            title: HTML
            type: object
          - properties:
              type:
                enum:
                  - rawHtml
                type: string
            required:
              - type
            title: Raw HTML
            type: object
          - properties:
              type:
                enum:
                  - links
                type: string
            required:
              - type
            title: Links
            type: object
          - properties:
              type:
                enum:
                  - images
                type: string
            required:
              - type
            title: Images
            type: object
          - properties:
              fullPage:
                default: false
                description: >-
                  Define se a captura de tela deve abranger a página inteira
                  (ignorando viewport.height) ou se deve ser limitada à viewport
                  atual.
                type: boolean
              quality:
                description: >-
                  Qualidade da captura de tela, de 1 a 100. 100 é a qualidade
                  máxima.
                type: integer
              type:
                enum:
                  - screenshot
                type: string
              viewport:
                properties:
                  height:
                    description: Altura da viewport em pixels
                    type: integer
                  width:
                    description: Largura da viewport em pixels
                    type: integer
                required:
                  - width
                  - height
                type: object
            required:
              - type
            title: Screenshot
            type: object
          - properties:
              prompt:
                description: O prompt a ser usado para gerar a saída em JSON
                type: string
              schema:
                description: >-
                  O esquema a ser usado para a saída em JSON. Deve estar em
                  conformidade com o [JSON Schema](https://json-schema.org/).
                type: object
              type:
                enum:
                  - json
                type: string
            required:
              - type
            title: JSON
            type: object
          - properties:
              modes:
                description: >-
                  O modo a ser usado para rastrear 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 rastreamento de alterações ao usar o
                  modo "json". Caso não seja fornecido, será usado o prompt
                  padrão.
                type: string
              schema:
                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/).
                type: object
              tag:
                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).
                nullable: true
                type: string
              type:
                enum:
                  - changeTracking
                type: string
            required:
              - type
            title: Change Tracking
            type: object
          - properties:
              type:
                enum:
                  - branding
                type: string
            required:
              - type
            title: Branding
            type: object
          - properties:
              type:
                enum:
                  - product
                type: string
            required:
              - type
            title: Product
            type: object
          - properties:
              type:
                enum:
                  - menu
                type: string
            required:
              - type
            title: Menu
            type: object
          - description: >-
              Extrai áudio (MP3) de URLs de vídeo compatíveis, como o YouTube.
              Retorna uma URL GCS assinada.
            properties:
              type:
                enum:
                  - audio
                type: string
            required:
              - type
            title: Audio
            type: object
          - description: >-
              Extrai o vídeo em melhor qualidade de URLs de vídeo compatíveis,
              como o YouTube. Retorna uma URL GCS assinada.
            properties:
              type:
                enum:
                  - video
                type: string
            required:
              - type
            title: Video
            type: object
          - description: >-
              Faça uma pergunta em linguagem natural sobre a página. Retorna a
              resposta no campo `answer` da resposta.
            properties:
              question:
                description: >-
                  A pergunta a ser respondida sobre a página. Máximo de 10.000
                  caracteres.
                maxLength: 10000
                type: string
              type:
                enum:
                  - question
                type: string
            required:
              - type
              - question
            title: Question
            type: object
          - description: >-
              Encontre trechos de texto relevantes na página. Retorna o texto
              selecionado no campo `highlights` da resposta.
            properties:
              query:
                description: >-
                  A consulta de seleção de texto a ser executada na página.
                  Máximo de 10.000 caracteres.
                maxLength: 10000
                type: string
              type:
                enum:
                  - highlights
                type: string
            required:
              - type
              - query
            title: Highlights
            type: object
      type: array
    RedactPIIOptions:
      additionalProperties: false
      description: Opções de ajuste para redação de PII.
      properties:
        entities:
          description: >-
            Restrinja a redação a estas categorias de entidades. Se omitido,
            todas as entidades compatíveis serão redigidas.
          items:
            $ref: '#/components/schemas/RedactPIIEntity'
          type: array
        mode:
          default: accurate
          description: >-
            Estratégia de redação. `accurate` usa apenas o modelo e é otimizada
            para precisão, `aggressive` aumenta a cobertura com heurísticas
            adicionais, e `fast` usa heurísticas sem chamar o modelo.
          enum:
            - accurate
            - aggressive
            - fast
          type: string
        replaceStyle:
          default: tag
          description: >-
            `tag` substitui trechos por marcadores como `<EMAIL>`, `mask`
            substitui caracteres por `*` e `remove` exclui o texto do trecho.
          enum:
            - tag
            - mask
            - remove
          type: string
      type: object
    RedactPIIEntity:
      description: >-
        Categorias públicas de entidades de PII compatíveis com a redação do
        Firecrawl.
      enum:
        - PERSON
        - EMAIL
        - PHONE
        - LOCATION
        - FINANCIAL
        - SECRET
      type: string
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````