Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Faça sua primeira chamada à API REST do Microsoft Web IQ em alguns minutos. Você pesquisará na Web, inspecionará a resposta e extrairá conteúdo de uma URL conhecida.
As chaves de API são a maneira mais rápida de avaliar o IQ da Web. Para cargas de trabalho de produção, use Microsoft Entra ID.
Prerequisites
- Uma chave de API do Web IQ de Gerenciamento de Perfil.
Tip
Use o Web IQ Playground para enviar solicitações pelo navegador e gerar código em cURL, Python, JavaScript, C#, Java, Go e Ruby.
1. Armazene sua chave de API
Coloque a chave em uma variável de ambiente para que os exemplos de solicitação não a repitam nem a coloque no código-fonte.
macOS ou Linux
export WEBIQ_API_KEY="your-api-key"
Windows PowerShell
$env:WEBIQ_API_KEY="your-api-key"
Warning
Não faça commit da sua chave no controle de versão nem a exponha no navegador ou no código do lado do cliente. Armazene as credenciais de produção em um gerenciador de segredos.
2. Pesquisar na Web
Use a Pesquisa na Web quando você tiver uma pergunta ou consulta e quiser que o IQ da Web descubra e classifique páginas relevantes.
É recomendável definir maxResults = 10, maxLength = 3000 e contentFormat = passage em cada solicitação, como um ponto operacional otimizado. A partir daí, você pode ajustar essas configurações com base no seu caso de uso.
Ponto de extremidade:POST https://api.microsoft.ai/v3/search/web
cURL
curl --request POST "https://api.microsoft.ai/v3/search/web" \
--header "x-apikey: $WEBIQ_API_KEY" \
--header "content-type: application/json" \
--data '{
"query": "latest developments in retrieval augmented generation",
"maxResults": 10,
"contentFormat": "passage",
"maxLength": 3000
}'
Python
import os
import json
import requests
response = requests.post(
"https://api.microsoft.ai/v3/search/web",
headers={
"x-apikey": os.environ["WEBIQ_API_KEY"],
"content-type": "application/json",
},
json={
"query": "latest developments in retrieval augmented generation",
"maxResults": 10,
"contentFormat": "passage",
"maxLength": 3000,
},
timeout=30,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
JavaScript
Salve este exemplo como search.mjs e execute-o com node search.mjs.
const response = await fetch("https://api.microsoft.ai/v3/search/web", {
method: "POST",
headers: {
"x-apikey": process.env.WEBIQ_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
query: "latest developments in retrieval augmented generation",
maxResults: 10,
contentFormat: "passage",
maxLength: 3000,
}),
});
if (!response.ok) {
throw new Error(`Web Search failed: ${response.status} ${await response.text()}`);
}
console.log(JSON.stringify(await response.json(), null, 2));
3. Entender a resposta
Uma pesquisa na Web bem-sucedida retorna um webResults array. Este exemplo abreviado mostra os campos que você usará com mais frequência:
{
"webResults": [
{
"title": "Example result",
"url": "https://example.com/article",
"content": "The query-relevant passage extracted from the page...",
"crawledAt": "2026-07-18T12:00:00Z"
}
],
"traceId": "00000000000000000000000000000000"
}
-
titleeurlidentificam a origem. -
contentcontém a passagem relevante à consulta porque a solicitação usoucontentFormat: "passage". -
traceIdajuda o Suporte do Web IQ a investigar uma solicitação.
Entre as respostas REST e os resultados da ferramenta MCP, os campos de modelo com null, string vazia ("") ou lista/matriz vazia ([]) são omitidos, incluindo campos de objetos de resultado aninhados. Trate um campo de cadeia de caracteres ausente como indisponível e um campo de lista ausente como sem itens. Cadeias de caracteres somente de espaço em branco, false, 0, dicionários vazios, entradas individuais de array/dicionário e JSON bruto inserido são preservados. Arrays raiz e coleções de envelopes de protocolo, como MCP content, não são alteradas.
Consulte a referência da API de Pesquisa na Web para todos os parâmetros e campos de resposta.
4. Escolha Pesquisa na Web ou Navegar
| Começar com | Usar | O que você obtém |
|---|---|---|
| Uma pergunta ou pesquisa | Pesquisa na Web | Páginas classificadas com conteúdo relevante à consulta |
| Uma URL específica | Navegar | Conteúdo extraído dessa página |
Um fluxo de trabalho de fundamentação comum usa ambos os endpoints: pesquise fontes relevantes, selecione uma URL de resultado e acesse essa URL quando precisar de conteúdo de página mais completo.
5. Extrair conteúdo de uma URL
Use Navegar quando você já souber qual página deseja ler.
liveCrawl: "fallback" solicita que o Web IQ rastreie a página quando ela ainda não estiver disponível no índice.
Ponto de extremidade:POST https://api.microsoft.ai/v3/browse
cURL
curl --request POST "https://api.microsoft.ai/v3/browse" \
--header "x-apikey: $WEBIQ_API_KEY" \
--header "content-type: application/json" \
--data '{
"url": "https://news.microsoft.com/source/",
"contentFormat": "markdown",
"maxLength": 3000,
"liveCrawl": "fallback"
}'
Python
import os
import json
import requests
response = requests.post(
"https://api.microsoft.ai/v3/browse",
headers={
"x-apikey": os.environ["WEBIQ_API_KEY"],
"content-type": "application/json",
},
json={
"url": "https://news.microsoft.com/source/",
"contentFormat": "markdown",
"maxLength": 3000,
"liveCrawl": "fallback",
},
timeout=30,
)
response.raise_for_status()
print(json.dumps(response.json(), indent=2))
JavaScript
Salve este exemplo como browse.mjs e execute-o com node browse.mjs.
const response = await fetch("https://api.microsoft.ai/v3/browse", {
method: "POST",
headers: {
"x-apikey": process.env.WEBIQ_API_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
url: "https://news.microsoft.com/source/",
contentFormat: "markdown",
maxLength: 3000,
liveCrawl: "fallback",
}),
});
if (!response.ok) {
throw new Error(`Browse failed: ${response.status} ${await response.text()}`);
}
console.log(JSON.stringify(await response.json(), null, 2));
Uma resposta bem-sucedida 200 inclui a página url, titleextraída contente um traceId. Um rastreamento ao vivo pode retornar 202 com retryAfter; aguarde esse período e envie a mesma solicitação novamente. Consulte a referência da Browse API para o contrato de resposta completo.
Troubleshooting
| Status | O que verificar |
|---|---|
401 Unauthorized |
Confirme WEBIQ_API_KEY se está definido e a solicitação o envia no x-apikey cabeçalho. |
415 Unsupported Media Type |
Enviar content-type: application/json. |
429 Too Many Requests |
Aguarde antes de tentar novamente e reduza a frequência de solicitação. |
Procurar... 404 Not Found |
Confirme se a URL é pública e válida. Use liveCrawl: "fallback" quando o conteúdo indexado pode estar indisponível. |
Procurar... 202 Accepted |
Aguarde a duração retornada em retryAfter e tente novamente a mesma solicitação. |
Para outras falhas, salve o traceId e veja Tratamento de Erros ou contate o Suporte do Web IQ.
Próximas Etapas
- Explore as referências da API de Pesquisa na Web e Navegação.
- Use os SDKs Python e TypeScript.
- Instale o servidor MCP no Claude Code, Cursor ou VS Code.
- Configure a autenticação de produção com Microsoft Entra ID.