Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
За несколько минут выполните первый вызов REST API Microsoft Web IQ. Вы будете искать в Интернете, проверять ответ, а затем извлекать содержимое из известного URL-адреса.
Ключи API — это самый быстрый способ оценки веб-IQ. Для промышленных рабочих нагрузок используйте Microsoft Entra ID.
Prerequisites
- Ключ API Web IQ из управления профилями.
Tip
Используйте Web IQ Playground для отправки запросов из браузера и создания кода в cURL, Python, JavaScript, C#, Java, Go и Ruby.
1. Храните свой ключ API
Поместите ключ в переменную среды, чтобы примеры запросов не повторяли его и не помещали его в исходный код.
macOS или Linux
export WEBIQ_API_KEY="your-api-key"
Windows PowerShell
$env:WEBIQ_API_KEY="your-api-key"
Предупреждение
Не добавляйте ключ в систему контроля версий и не раскрывайте его в браузере или клиентском коде. Храните рабочие учетные данные в менеджере секретов.
2. Искать в Интернете
Используйте веб-поиск, если у вас есть вопрос или запрос и требуется, чтобы Web IQ обнаруживал и ранжировал соответствующие страницы.
Мы рекомендуем задать параметр maxResults = 10, contentFormat = passage и maxLength = 3000 для каждого запроса как оптимальную рабочую конфигурацию. Оттуда вы можете точно настроить эти параметры на основе вашего варианта использования.
Конечная точка: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
Сохраните этот пример как search.mjs и запустите его с помощью 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. Поймите ответ
Успешный веб-поиск возвращает массив webResults. В этом сокращённом примере показаны поля, которые вы будете использовать чаще всего:
{
"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"
}
-
titleиurlопределяют источник. -
contentсодержит фрагмент, релевантный запросу, так как в запросе использовалсяcontentFormat: "passage". -
traceIdпомогает Web IQ Support изучить запрос.
В ответах REST и результатах инструмента MCP поля модели со значениями null, пустой строки ("") или пустого списка/массива ([]) опускаются, включая поля вложенных объектов результатов. Обработайте отсутствующее строковое поле как недоступное и отсутствующее поле списка как не содержащее элементов. Строки, состоящие только из пробелов, 0, false, пустые словари, отдельные элементы массива/словаря и внедренные необработанные JSON сохраняются. Корневые массивы и коллекции конвертов протокола, такие как MCP content , не изменяются.
Ознакомьтесь со справочником по Web Search API с описанием всех параметров и полей ответа.
4. Выберите веб-поиск или просмотр
| Начать с | Использовать | Что вы получаете |
|---|---|---|
| Вопрос или поисковый запрос | Поиск в Интернете | Ранжированные страницы с контентом, соответствующим запросу |
| Конкретный URL-адрес | Просмотреть | Извлеченное содержимое с той страницы |
Типичный процесс заземления использует обе конечные точки: найдите соответствующие источники, выберите URL-адрес результата, а затем просмотрите этот URL-адрес, если требуется более полное содержимое страницы.
5. Извлечение содержимого из URL-адреса
Используйте Просмотр, когда вы уже знаете, какую страницу вы хотите прочитать.
liveCrawl: "fallback" запрашивает у Web IQ обход страницы, когда страница еще недоступна в индексе.
Конечная точка: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
Сохраните этот пример как browse.mjs и запустите его с помощью 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));
Успешный 200 результат включает страницу url, title, извлечённые content и traceId. Во время динамического обхода может быть возвращён результат retryAfter с 202; подождите в течение этого времени, а затем снова отправьте тот же запрос. См. справочник по Browse API для полного описания структуры ответа.
Troubleshooting
| Status | Что требуется проверить |
|---|---|
401 Unauthorized |
Убедитесь, что WEBIQ_API_KEY задан и запрос отправляет его в заголовке x-apikey. |
415 Unsupported Media Type |
Отправить content-type: application/json. |
429 Too Many Requests |
Подождите перед повторной попыткой и уменьшите частоту запросов. |
Выбрать 404 Not Found |
Убедитесь, что URL-адрес является общедоступным и допустимым. Используйте liveCrawl: "fallback", если индексированное содержимое может быть недоступно. |
Выбрать 202 Accepted |
Подождите в течение времени, указанного в ответе retryAfter, а затем повторите тот же запрос. |
Для других сбоев сохраните файл traceId и просмотрите сведения об обработке ошибок или обратитесь в службу поддержки Web IQ.
Дальнейшие действия
- Изучите ссылки на API Web Search и Browse.
- Используйте пакеты SDK Python и TypeScript.
- Установите сервер MCP в Claude Code, Cursor или VS Code.
- Настройте производственную аутентификацию с помощью Microsoft Entra ID.