Hızlı Başlangıç: İlk Web IQ API çağrılarınızı yapın

Birkaç dakika içinde ilk Microsoft Web IQ REST API çağrınızı yapın. Web'de arama yapacak, yanıtı inceleyecek ve ardından bilinen bir URL'den içerik ayıklayacaksınız.

API anahtarları, Web IQ'yu değerlendirmenin en hızlı yoludur. Üretim iş yükleri için Microsoft Entra ID kullanın.

Prerequisites

Tavsiye

Web IQ Playground'u kullanarak tarayıcıdan istek gönderin ve cURL, Python, JavaScript, C#, Java, Go ve Ruby'de kod oluşturun.

1. API anahtarınızı depolayın

Anahtarı bir ortam değişkenine yerleştirin; böylece istek örneklerinde tekrarlanmaz ve kaynak kodunuza yerleştirilmez.

macOS veya Linux

export WEBIQ_API_KEY="your-api-key"

Windows PowerShell

$env:WEBIQ_API_KEY="your-api-key"

Warning

Anahtarınızı kaynak denetimine işlemeyin veya tarayıcıda veya istemci tarafı kodunda kullanıma sunmayın. Üretim kimlik bilgilerini gizli yönetimi aracında depolayın.

2. Web'de arama

Bir sorunuz veya sorgunuz varsa ve Web IQ'nin ilgili sayfaları bulmasını ve derecelendirmesini istiyorsanız Web Search kullanın.

Her istekte, contentFormat = passage, maxLength = 3000 ve maxResults = 10 ayarlarını optimum çalışma noktası için ayarlamanızı öneririz. Buradan, bu ayarlarda kullanım örneğiniz temelinde ince ayarlar yapabilirsiniz.

Bitiş noktası: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

Bu örneği search.mjs olarak kaydedin ve node search.mjs ile çalıştırın.

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. Yanıtı anlama

Başarılı bir Web Araması, webResults dizisi döndürür. Bu kısaltılmış örnek, en sık kullanacağınız alanları gösterir:

{
  "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 ve url kaynağı tanımlar.
  • content istek contentFormat: "passage" kullandığı için sorguyla ilgili bölümü içerir.
  • traceId Web IQ Desteği'nin bir talebi incelemesine yardımcı olur.

REST yanıtlarında ve MCP aracı sonuçlarında, iç içe sonuç nesnelerinin alanları da dahil olmak üzere, "", boş dize ([]) veya boş liste/dizi (null) değerlerine sahip model alanları atlanır. Eksik bir dize alanını kullanılamaz, eksik bir liste alanını ise hiçbir öğesi yok olarak değerlendirin. Yalnızca boşluk dizeleri, false, 0, boş sözlükler, tek tek dizi/sözlük girdileri ve eklenmiş ham JSON korunur. Kök diziler ve MCP content gibi protokol zarf koleksiyonları değişmeden kalır.

Tüm parametreler ve yanıt alanları için Bkz. Web Araması API'si başvurusu .

4. Web Araması veya Gözat'ı seçin

Şununla başla Use Ne elde edersiniz?
Soru veya arama sorgusu Web Araması Sorguyla ilgili içeriğe sahip sıralanmış sayfalar
Belirli bir URL Gözat Bu sayfadan ayıklanan içerik

Yaygın bir grounding iş akışı, her iki uç noktayı da kullanır: ilgili kaynakları arayın, bir sonuç URL'si seçin ve daha eksiksiz sayfa içeriğine ihtiyacınız olduğunda bu URL'ye göz atın.

5. URL'den içerik ayıklama

Okumak istediğiniz sayfayı zaten biliyorsanız Gözat'ı kullanın. liveCrawl: "fallback" Web IQ'dan, sayfa dizinde zaten mevcut değilse sayfayı taramasını ister.

Bitiş noktası: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

Bu örneği browse.mjs olarak kaydedin ve node browse.mjs ile çalıştırın.

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));

Başarılı bir 200 yanıtı, title sayfasını, content ayıklanan traceId ve bir url içerir. Canlı tarama ile retryAftergeri dönebilir202; bu süreyi bekleyin ve aynı isteği yeniden gönderin. Yanıt sözleşmesinin tamamı için Browse API referansına göz atın.

Troubleshooting

Statü Denetlenecek şeyler
401 Unauthorized WEBIQ_API_KEY ayarlandığını ve isteğin bunu x-apikey üst bilgisinde gönderdiğini onaylayın.
415 Unsupported Media Type Gönderin content-type: application/json.
429 Too Many Requests Yeniden denemeden önce bekleyin ve istek sıklığını azaltın.
Gözat 404 Not Found URL'nin herkese açık ve geçerli olduğunu onaylayın. Dizine alınan içerik kullanılamayabileceğinde liveCrawl: "fallback" kullanın.
Gözat 202 Accepted Döndürülen retryAfter süre kadar bekleyin ve aynı isteği yeniden deneyin.

Diğer hatalar için traceId öğesini kaydedin ve Hata İşleme bölümüne bakın veya Web IQ Desteği'ne başvurun.

Sonraki Adımlar