Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Realice la primera llamada a la API REST de Microsoft Web IQ en unos minutos. Buscará en la web, inspeccionará la respuesta y, a continuación, extraerá contenido de una dirección URL conocida.
Las claves de API son la manera más rápida de evaluar Web IQ. En el caso de las cargas de trabajo de producción, use Microsoft Entra ID.
Prerequisites
- Una clave de API de Web IQ de Profile Management.
Sugerencia
Usa Web IQ Playground para enviar solicitudes desde el explorador y generar código en cURL, Python, JavaScript, C#, Java, Go y Ruby.
1. Almacenar la clave de API
Coloque la clave en una variable de entorno para que los ejemplos de solicitud no la repitan ni la coloquen en el código fuente.
macOS o Linux
export WEBIQ_API_KEY="your-api-key"
PowerShell de Windows
$env:WEBIQ_API_KEY="your-api-key"
Warning
No suba la clave al control de código fuente ni expórmela en el explorador o en el código del lado cliente. Almacene las credenciales de producción en un gestor de secretos.
2. Buscar en la web
Utiliza Web Search cuando tenga una pregunta o consulta y desee que Web IQ detecte y clasifique las páginas pertinentes.
Se recomienda establecer maxResults = 10, contentFormat = passagey maxLength = 3000 en cada solicitud como punto operativo optimizado. Desde allí, puede ajustar esta configuración en función de su caso de uso.
Punto final: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
Guarde este ejemplo como search.mjs y ejecútelo con 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. Comprender la respuesta
Una búsqueda web correcta devuelve un webResults array. En este ejemplo abreviado se muestran los campos que usará con más frecuencia:
{
"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"
}
-
titleeurlidentifican el origen. -
contentcontiene el pasaje pertinente para la consulta porque la solicitud usócontentFormat: "passage". -
traceIdayuda al soporte técnico de Web IQ a investigar una solicitud.
En las respuestas REST y los resultados de la herramienta MCP, se omiten los campos de modelo con null, valores de cadena vacía ("") o lista o matriz vacía ([]), incluidos los campos de objetos de resultado anidados. Trate un campo de cadena ausente como no disponible y un campo de lista ausente como vacío. Se conservan las cadenas de solo espacios en blanco, false, 0, diccionarios vacíos, entradas individuales de arrays/diccionarios y JSON sin formato incrustado. Las matrices raíz y las colecciones de sobres de protocolo, como MCP content , no se modifican.
Consulte la referencia de Web Search API para todos los parámetros y campos de respuesta.
4. Elija Búsqueda web o Examinar
| Comenzar con una | Uso | Lo que obtienes |
|---|---|---|
| Una pregunta o consulta de búsqueda | Búsqueda web | Páginas clasificadas con contenido relevante para la consulta |
| Una dirección URL específica | Navegar | Contenido extraído de esa página |
Un flujo de trabajo de fundamentación común usa ambos endpoints: busque fuentes relevantes, seleccione una dirección URL de resultado y, a continuación, examine esa dirección URL cuando necesite contenido de página más completo.
5. Extraer contenido de una dirección URL
Utilice Browse cuando ya sepa qué página desea leer.
liveCrawl: "fallback" pide a Web IQ que rastree la página cuando no está ya disponible en el índice.
Punto final: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
Guarde este ejemplo como browse.mjs y ejecútelo con 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));
Una respuesta satisfactoria 200 incluye la página url, title, extraído content y un traceId. Un rastreo en vivo puede devolver 202 con retryAfter; espere ese tiempo y, a continuación, envíe la misma solicitud de nuevo. Consulte la referencia de Browse API para obtener el contrato de respuesta completo.
Troubleshooting
| Status | Elementos que se deben comprobar |
|---|---|
401 Unauthorized |
Confirme que WEBIQ_API_KEY está establecido y que la solicitud lo envía en el encabezado x-apikey. |
415 Unsupported Media Type |
Envíe content-type: application/json. |
429 Too Many Requests |
Espere antes de reintentar y reduzca la frecuencia de las solicitudes. |
Explorar 404 Not Found |
Confirme que la dirección URL es pública y válida. Utilice liveCrawl: "fallback" cuando el contenido indizado podría no estar disponible. |
Explorar 202 Accepted |
Espere durante el tiempo devuelto retryAfter y vuelva a intentar la misma solicitud. |
En caso de otros fallos, guarde el traceId y consulte Control de errores o póngase en contacto con el soporte técnico de Web IQ.
Pasos siguientes
- Explora las referencias de Web Search y Browse API.
- Usa los SDK de Python y TypeScript.
- Instale el servidor MCP en Claude Code, Cursor o VS Code.
- Configure la autenticación de producción con Microsoft Entra ID.