# Raspar (/pt-BR/api-reference/endpoint/scrape)

<!-- agent-signals: reading_time_min: 31 · est_tokens: 22772 · updated: 2026-07-30 -->
Related: [Pesquisa](/pt-BR/api-reference/endpoint/search.md), [Feedback de busca](/pt-BR/api-reference/endpoint/search-feedback.md), [Raspar em lote](/pt-BR/api-reference/endpoint/batch-scrape.md), [Obter status do scrape em lote](/pt-BR/api-reference/endpoint/batch-scrape-get.md), [Cancelar raspagem em lote](/pt-BR/api-reference/endpoint/batch-scrape-delete.md), [Obter erros de scraping em lote](/pt-BR/api-reference/endpoint/batch-scrape-get-errors.md)

<div id="interactions">
  ## Interações [#interações]
</div>

Para interações no navegador (clicar, digitar, navegar, extrair conteúdo dinâmico), use o [endpoint Interact](/pt-BR/features/interact). Primeiro, faça o scraping da página e, em seguida, chame `POST /v2/scrape/{scrapeId}/interact` com um prompt em linguagem natural ou código Playwright para executar ações na página.

Consulte a [documentação do Interact](/pt-BR/features/interact) para ver todos os detalhes e exemplos.

Opcionalmente, você também pode usar o parâmetro `actions`, embora ele não seja recomendado para interações complexas.

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

`POST /scrape`

Fazer scraping de uma única URL e, opcionalmente, extrair informações usando um LLM

## OpenAPI

```json
{
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "requestBody": {
    "content": {
      "application/json": {
        "schema": {
          "allOf": [
            {
              "properties": {
                "url": {
                  "description": "URL a ser raspada",
                  "format": "uri",
                  "type": "string"
                }
              },
              "required": [
                "url"
              ],
              "type": "object"
            },
            {
              "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"
                },
                "auditMetadata": {
                  "additionalProperties": false,
                  "description": "Identificação do usuário incluída nos eventos de log do SIEM quando o SIEM Logging estiver habilitado para a organização.",
                  "properties": {
                    "username": {
                      "description": "O nome de usuário associado à requisição.",
                      "maxLength": 1024,
                      "type": "string"
                    }
                  },
                  "required": [
                    "username"
                  ],
                  "type": "object"
                },
                "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": {
                  "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"
                },
                "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.\n\n - **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.\n - **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.\n - **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"
                    },
                    {
                      "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": {
                            "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"
                          },
                          "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"
                    }
                  ]
                },
                "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": {
                  "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"
                },
                "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"
            },
            {
              "properties": {
                "zeroDataRetention": {
                  "default": false,
                  "description": "Se definido como true, isso ativará a retenção zero de dados para este scrape. Para habilitar esse recurso, entre em contato com help@firecrawl.dev",
                  "type": "boolean"
                }
              },
              "type": "object"
            }
          ]
        }
      }
    },
    "required": true
  },
  "responses": {
    "200": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "data": {
                "properties": {
                  "actions": {
                    "description": "Resultados das ações especificadas no parâmetro `actions`. Só estará presente se o parâmetro `actions` tiver sido fornecido na requisição",
                    "nullable": true,
                    "properties": {
                      "javascriptReturns": {
                        "description": "Valores de retorno em JavaScript, na mesma ordem das ações executeJavascript fornecidas.",
                        "items": {
                          "properties": {
                            "type": {
                              "type": "string"
                            },
                            "value": {}
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "pdfs": {
                        "description": "PDFs gerados, na mesma ordem das ações de PDF especificadas.",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "scrapes": {
                        "description": "Extraia o conteúdo na mesma ordem das ações de scraping fornecidas.",
                        "items": {
                          "properties": {
                            "html": {
                              "type": "string"
                            },
                            "url": {
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "screenshots": {
                        "description": "URLs das capturas de tela, na mesma ordem das ações de captura de tela fornecidas.",
                        "items": {
                          "format": "url",
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object"
                  },
                  "answer": {
                    "description": "Resposta em linguagem natural à pergunta fornecida pelo formato `question`. Presente apenas se um objeto de formato `question` tiver sido incluído em `formats`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "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"
                  },
                  "branding": {
                    "description": "Informações de branding extraídas da página quando `branding` estiver em `formatos`. Inclui cores, fontes, tipografia, espaçamento, componentes e muito mais.",
                    "nullable": true,
                    "properties": {
                      "animations": {
                        "description": "Configurações de animação e transição.",
                        "nullable": true,
                        "type": "object"
                      },
                      "colorScheme": {
                        "description": "Esquema de cores detectado da página.",
                        "enum": [
                          "light",
                          "dark"
                        ],
                        "type": "string"
                      },
                      "colors": {
                        "description": "Cores da marca extraídas da página.",
                        "nullable": true,
                        "properties": {
                          "accent": {
                            "description": "Cor de destaque (hex).",
                            "type": "string"
                          },
                          "background": {
                            "description": "Cor de fundo (hex).",
                            "type": "string"
                          },
                          "error": {
                            "description": "Cor de erro/perigo (hex).",
                            "type": "string"
                          },
                          "link": {
                            "description": "Cor dos links (hex).",
                            "type": "string"
                          },
                          "primary": {
                            "description": "Cor principal da marca (hex).",
                            "type": "string"
                          },
                          "secondary": {
                            "description": "Cor secundária da marca (hex).",
                            "type": "string"
                          },
                          "success": {
                            "description": "Cor de sucesso/estado positivo (hex).",
                            "type": "string"
                          },
                          "textPrimary": {
                            "description": "Cor principal do texto (hex).",
                            "type": "string"
                          },
                          "textSecondary": {
                            "description": "Cor secundária do texto (hex).",
                            "type": "string"
                          },
                          "warning": {
                            "description": "Cor de aviso/alerta (hex).",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "components": {
                        "description": "Estilos de componentes de UI.",
                        "nullable": true,
                        "properties": {
                          "buttonPrimary": {
                            "description": "Estilos do botão primário.",
                            "properties": {
                              "background": {
                                "type": "string"
                              },
                              "borderRadius": {
                                "type": "string"
                              },
                              "textColor": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "buttonSecondary": {
                            "description": "Estilos de botões secundários.",
                            "properties": {
                              "background": {
                                "type": "string"
                              },
                              "borderColor": {
                                "type": "string"
                              },
                              "borderRadius": {
                                "type": "string"
                              },
                              "textColor": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "input": {
                            "description": "Estilos de campos de input.",
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "fonts": {
                        "description": "Array de famílias de fontes usadas na página.",
                        "items": {
                          "properties": {
                            "family": {
                              "description": "Nome da família de fontes.",
                              "type": "string"
                            }
                          },
                          "type": "object"
                        },
                        "nullable": true,
                        "type": "array"
                      },
                      "icons": {
                        "description": "Estilos de ícones.",
                        "nullable": true,
                        "type": "object"
                      },
                      "images": {
                        "description": "Imagens da marca.",
                        "nullable": true,
                        "properties": {
                          "favicon": {
                            "description": "URL do favicon.",
                            "type": "string"
                          },
                          "logo": {
                            "description": "URL da imagem do logotipo.",
                            "type": "string"
                          },
                          "ogImage": {
                            "description": "URL da imagem Open Graph.",
                            "type": "string"
                          }
                        },
                        "type": "object"
                      },
                      "layout": {
                        "description": "Configuração de layout (grid, alturas de cabeçalho/rodapé).",
                        "nullable": true,
                        "type": "object"
                      },
                      "logo": {
                        "description": "URL do logotipo principal.",
                        "nullable": true,
                        "type": "string"
                      },
                      "personality": {
                        "description": "Traços de personalidade da marca (tom, energia, público-alvo).",
                        "nullable": true,
                        "type": "object"
                      },
                      "spacing": {
                        "description": "Informações de espaçamento e layout.",
                        "nullable": true,
                        "properties": {
                          "baseUnit": {
                            "description": "Unidade base de espaçamento (em pixels).",
                            "type": "integer"
                          },
                          "borderRadius": {
                            "description": "Raio de borda padrão.",
                            "type": "string"
                          },
                          "margins": {
                            "description": "Valores de margem.",
                            "type": "object"
                          },
                          "padding": {
                            "description": "Valores de padding.",
                            "type": "object"
                          }
                        },
                        "type": "object"
                      },
                      "typography": {
                        "description": "Informações detalhadas de tipografia.",
                        "nullable": true,
                        "properties": {
                          "fontFamilies": {
                            "description": "Famílias de fontes por função.",
                            "properties": {
                              "code": {
                                "description": "Família de fontes para código/monoespaçada.",
                                "type": "string"
                              },
                              "heading": {
                                "description": "Família de fontes para títulos (headings).",
                                "type": "string"
                              },
                              "primary": {
                                "description": "Família de fontes primária.",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "fontSizes": {
                            "description": "Tamanhos de fonte para diferentes níveis tipográficos.",
                            "properties": {
                              "body": {
                                "type": "string"
                              },
                              "h1": {
                                "type": "string"
                              },
                              "h2": {
                                "type": "string"
                              },
                              "h3": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "fontWeights": {
                            "description": "Definições de peso da fonte.",
                            "properties": {
                              "bold": {
                                "type": "integer"
                              },
                              "light": {
                                "type": "integer"
                              },
                              "medium": {
                                "type": "integer"
                              },
                              "regular": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "lineHeights": {
                            "description": "Valores de altura de linha para diferentes tipos de texto.",
                            "properties": {
                              "body": {
                                "type": "string"
                              },
                              "heading": {
                                "type": "string"
                              }
                            },
                            "type": "object"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "type": "object"
                  },
                  "changeTracking": {
                    "description": "Informações de rastreamento de alterações se `changeTracking` estiver em `formats`. Somente presente quando o formato `changeTracking` for solicitado.",
                    "nullable": true,
                    "properties": {
                      "changeStatus": {
                        "description": "O resultado da comparação entre as duas versões da página: 'new' indica que esta página não existia antes, 'same' indica que o conteúdo não mudou, 'changed' indica que o conteúdo foi alterado e 'removed' indica que a página foi removida.",
                        "enum": [
                          "new",
                          "same",
                          "changed",
                          "removed"
                        ],
                        "type": "string"
                      },
                      "diff": {
                        "description": "Diff das alterações no estilo do Git ao usar o modo `git-diff`. Só é retornado quando o modo está definido como `git-diff`.",
                        "nullable": true,
                        "type": "string"
                      },
                      "json": {
                        "description": "Resultados da comparação em JSON ao usar o modo `json`. Disponível apenas quando o modo está definido como `json`. Isso gera uma lista de todas as chaves e seus valores das coletas `previous` e `current`, com base no tipo definido no `schema`. Exemplo [aqui](/features/change-tracking)",
                        "nullable": true,
                        "type": "object"
                      },
                      "previousScrapeAt": {
                        "description": "O timestamp da raspagem anterior em relação à qual a página atual está sendo comparada. Nulo se não houver raspagem anterior.",
                        "format": "date-time",
                        "nullable": true,
                        "type": "string"
                      },
                      "visibility": {
                        "description": "A visibilidade da página/URL atual. \"visible\" significa que a URL foi descoberta por meio de uma rota orgânica (links ou sitemap); \"hidden\" significa que a URL foi descoberta a partir da memória de rastreamentos anteriores.",
                        "enum": [
                          "visible",
                          "hidden"
                        ],
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "highlights": {
                    "description": "Texto-fonte relevante selecionado pelo formato `highlights`. Presente apenas se um objeto de formato `highlights` tiver sido incluído em `formats`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "html": {
                    "description": "HTML limpo da página, se `html` estiver incluído em `formatos`. Remove as tags `<script>`, `<style>`, `<noscript>`, `<meta>` e `<head>`; converte URLs relativas em absolutas; resolve o `srcset` de imagens responsivas para a versão de maior resolução. Respeita os filtros `onlyMainContent`, `includeTags` e `excludeTags`.",
                    "nullable": true,
                    "type": "string"
                  },
                  "links": {
                    "description": "Lista de links da página se `links` estiver em `formatos`",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "markdown": {
                    "type": "string"
                  },
                  "menu": {
                    "description": "Informações do menu extraídas da página se `menu` estiver em `formatos`. Inclui o estabelecimento, a moeda e uma lista de seções, em que cada seção contém itens com descrição, imagens, preço, disponibilidade, tags dietéticas, calorias e grupos de opções.",
                    "nullable": true,
                    "properties": {
                      "confidence": {
                        "description": "Uma pontuação de confiança entre 0 e 1 para a extração do menu.",
                        "type": "number"
                      },
                      "currency": {
                        "description": "O código de moeda ISO 4217 do menu (por exemplo, 'USD'), informado apenas quando estiver presente na página.",
                        "type": "string"
                      },
                      "isMenu": {
                        "description": "Indica se a página foi identificada como um menu.",
                        "type": "boolean"
                      },
                      "merchant": {
                        "description": "O estabelecimento ao qual o menu pertence.",
                        "properties": {
                          "name": {
                            "description": "O nome do estabelecimento.",
                            "type": "string"
                          },
                          "type": {
                            "description": "O tipo de estabelecimento (por exemplo, 'restaurant').",
                            "type": "string"
                          }
                        },
                        "required": [
                          "name"
                        ],
                        "type": "object"
                      },
                      "sections": {
                        "description": "Seções do menu (por exemplo, 'Appetizers', 'Entrees').",
                        "items": {
                          "properties": {
                            "description": {
                              "description": "A descrição da seção.",
                              "nullable": true,
                              "type": "string"
                            },
                            "id": {
                              "description": "O identificador da seção.",
                              "type": "string"
                            },
                            "items": {
                              "description": "Os itens da seção.",
                              "items": {
                                "properties": {
                                  "availability": {
                                    "description": "A disponibilidade do item.",
                                    "properties": {
                                      "inStock": {
                                        "description": "Indica se o item está disponível.",
                                        "type": "boolean"
                                      },
                                      "text": {
                                        "description": "Texto de disponibilidade legível.",
                                        "nullable": true,
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "inStock"
                                    ],
                                    "type": "object"
                                  },
                                  "calories": {
                                    "description": "A quantidade de calorias do item.",
                                    "nullable": true,
                                    "type": "number"
                                  },
                                  "description": {
                                    "description": "A descrição do item.",
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "dietary": {
                                    "description": "Tags dietéticas do item (por exemplo, ['vegetarian']).",
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "id": {
                                    "description": "O identificador do item.",
                                    "type": "string"
                                  },
                                  "identifiers": {
                                    "description": "Identificadores específicos do estabelecimento para o item.",
                                    "properties": {
                                      "merchantItemId": {
                                        "description": "O ID do item no próprio estabelecimento.",
                                        "type": "string"
                                      }
                                    },
                                    "type": "object"
                                  },
                                  "images": {
                                    "description": "Imagens do item.",
                                    "items": {
                                      "properties": {
                                        "alt": {
                                          "description": "Texto alternativo da imagem.",
                                          "nullable": true,
                                          "type": "string"
                                        },
                                        "url": {
                                          "description": "URL da imagem.",
                                          "type": "string"
                                        }
                                      },
                                      "required": [
                                        "url"
                                      ],
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "name": {
                                    "description": "O nome do item.",
                                    "type": "string"
                                  },
                                  "optionGroups": {
                                    "description": "Grupos de opções/modificadores do item.",
                                    "items": {
                                      "type": "object"
                                    },
                                    "type": "array"
                                  },
                                  "price": {
                                    "description": "O preço do item.",
                                    "properties": {
                                      "amount": {
                                        "description": "O valor numérico do preço.",
                                        "type": "number"
                                      },
                                      "currency": {
                                        "description": "O código de moeda ISO 4217 (por exemplo, 'USD').",
                                        "type": "string"
                                      },
                                      "formatted": {
                                        "description": "O preço formatado para exibição (por exemplo, '$7.99').",
                                        "type": "string"
                                      }
                                    },
                                    "required": [
                                      "amount"
                                    ],
                                    "type": "object"
                                  },
                                  "sourceUrl": {
                                    "description": "A URL da qual o item foi extraído.",
                                    "nullable": true,
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "A URL canônica do item.",
                                    "nullable": true,
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "name"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "name": {
                              "description": "O nome da seção.",
                              "type": "string"
                            }
                          },
                          "required": [
                            "name",
                            "items"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      },
                      "sourceUrl": {
                        "description": "A URL da qual o menu foi extraído.",
                        "nullable": true,
                        "type": "string"
                      }
                    },
                    "required": [
                      "isMenu",
                      "sections"
                    ],
                    "type": "object"
                  },
                  "metadata": {
                    "properties": {
                      "<any other metadata> ": {
                        "description": "Outros metadados extraídos do HTML. Pode ser uma string ou um array de strings",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "concurrencyLimited": {
                        "description": "Se este scraping foi limitado devido aos limites de concorrência da equipe",
                        "type": "boolean"
                      },
                      "concurrencyQueueDurationMs": {
                        "description": "Tempo, em milissegundos, que a solicitação aguardou na fila de concorrência. Presente apenas quando concurrencyLimited é true.",
                        "type": "number"
                      },
                      "contentType": {
                        "description": "O tipo de conteúdo (MIME) da página, por exemplo, text/html, application/pdf",
                        "type": "string"
                      },
                      "description": {
                        "description": "Descrição extraída da página, que pode ser uma string ou um array de strings",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "error": {
                        "description": "Mensagem de erro da página",
                        "nullable": true,
                        "type": "string"
                      },
                      "keywords": {
                        "description": "Palavras-chave extraídas da página; pode ser uma string ou um array de strings",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "language": {
                        "description": "Idioma detectado na página; pode ser uma string ou um array de strings",
                        "nullable": true,
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "numPages": {
                        "description": "Para entradas em PDF, o número de páginas processadas (limitado pela opção maxPages do parser).",
                        "type": "integer"
                      },
                      "ogLocaleAlternate": {
                        "description": "Localidades alternativas para a página",
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "sourceURL": {
                        "description": "A URL original solicitada. Pode ser diferente da URL final da página se houver redirecionamentos.",
                        "format": "uri",
                        "type": "string"
                      },
                      "statusCode": {
                        "description": "O código de status da página",
                        "type": "integer"
                      },
                      "title": {
                        "description": "Título extraído da página; pode ser uma string ou um array de strings",
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "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.",
                        "format": "uri",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "product": {
                    "description": "Informações do produto extraídas da página se `product` estiver em `formatos`. Inclui título, marca, categoria, descrição e variantes. Preços, disponibilidade e images ficam em cada variante.",
                    "nullable": true,
                    "properties": {
                      "brand": {
                        "description": "A marca ou o fabricante do produto.",
                        "type": "string"
                      },
                      "category": {
                        "description": "A categoria do produto, opcionalmente como um caminho de breadcrumb (por exemplo, 'Electronics > Audio > Headphones').",
                        "type": "string"
                      },
                      "description": {
                        "description": "A descrição do produto.",
                        "type": "string"
                      },
                      "title": {
                        "description": "O título do produto.",
                        "type": "string"
                      },
                      "url": {
                        "description": "A URL canônica da página do produto.",
                        "type": "string"
                      },
                      "variants": {
                        "description": "Variantes do produto (por exemplo, cores ou tamanhos diferentes).",
                        "items": {
                          "properties": {
                            "availability": {
                              "description": "A disponibilidade da variante. Sempre presente em uma variante.",
                              "properties": {
                                "inStock": {
                                  "description": "Se a variante está em estoque.",
                                  "type": "boolean"
                                },
                                "text": {
                                  "description": "Texto de disponibilidade legível por humanos (por exemplo, 'In Stock').",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "inStock"
                              ],
                              "type": "object"
                            },
                            "id": {
                              "description": "O identificador da variante.",
                              "type": "string"
                            },
                            "images": {
                              "description": "Images da variante.",
                              "items": {
                                "properties": {
                                  "alt": {
                                    "description": "Texto alternativo da imagem.",
                                    "type": "string"
                                  },
                                  "url": {
                                    "description": "URL da imagem.",
                                    "type": "string"
                                  }
                                },
                                "required": [
                                  "url"
                                ],
                                "type": "object"
                              },
                              "type": "array"
                            },
                            "price": {
                              "description": "O preço atual da variante.",
                              "properties": {
                                "amount": {
                                  "description": "O valor numérico do preço.",
                                  "type": "number"
                                },
                                "currency": {
                                  "description": "O código de moeda ISO 4217 (por exemplo, 'USD').",
                                  "type": "string"
                                },
                                "formatted": {
                                  "description": "O preço formatado para exibição (por exemplo, '$199.99').",
                                  "type": "string"
                                }
                              },
                              "required": [
                                "amount"
                              ],
                              "type": "object"
                            },
                            "sale": {
                              "description": "Informações de promoção/desconto da variante, presentes quando a variante está com desconto.",
                              "properties": {
                                "originalPrice": {
                                  "description": "O preço original da variante (antes do desconto).",
                                  "properties": {
                                    "amount": {
                                      "description": "O valor numérico do preço.",
                                      "type": "number"
                                    },
                                    "currency": {
                                      "description": "O código de moeda ISO 4217 (por exemplo, 'USD').",
                                      "type": "string"
                                    },
                                    "formatted": {
                                      "description": "O preço formatado para exibição (por exemplo, '$249.99').",
                                      "type": "string"
                                    }
                                  },
                                  "required": [
                                    "amount"
                                  ],
                                  "type": "object"
                                }
                              },
                              "required": [
                                "originalPrice"
                              ],
                              "type": "object"
                            },
                            "sku": {
                              "description": "O SKU da variante.",
                              "type": "string"
                            },
                            "title": {
                              "description": "O título da variante.",
                              "type": "string"
                            },
                            "values": {
                              "additionalProperties": {
                                "type": "string"
                              },
                              "description": "Os valores das opções da variante (por exemplo, { \"color\": \"Black\" }).",
                              "type": "object"
                            }
                          },
                          "required": [
                            "availability"
                          ],
                          "type": "object"
                        },
                        "type": "array"
                      }
                    },
                    "required": [
                      "title",
                      "url",
                      "variants"
                    ],
                    "type": "object"
                  },
                  "rawHtml": {
                    "description": "O HTML exato, sem modificações, recebido da página quando `rawHtml` está em `formats`. Nenhuma limpeza ou filtragem é realizada.",
                    "nullable": true,
                    "type": "string"
                  },
                  "screenshot": {
                    "description": "Captura de tela da página se `screenshot` estiver incluído em `formats`. As capturas de tela expiram após 24 horas e não poderão mais ser baixadas.",
                    "nullable": true,
                    "type": "string"
                  },
                  "summary": {
                    "description": "Resumo da página se `summary` constar em `formats`",
                    "nullable": true,
                    "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"
                  },
                  "warning": {
                    "description": "Pode ser exibida ao usar Extração com LLM. A mensagem de alerta informará sobre quaisquer problemas na extração.",
                    "nullable": true,
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "success": {
                "type": "boolean"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Resposta bem-sucedida"
    },
    "402": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Payment required to access this resource.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Pagamento necessário"
    },
    "429": {
      "content": {
        "application/json": {
          "schema": {
            "properties": {
              "error": {
                "example": "Request rate limit exceeded. Please wait and try again later.",
                "type": "string"
              }
            },
            "type": "object"
          }
        }
      },
      "description": "Muitas requisições"
    },
    "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 no servidor"
    }
  }
}
```
