Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Point de terminaison :POST https://api.microsoft.ai/v3/browse
Exemple de demande :
curl -X POST "https://api.microsoft.ai/v3/browse" \
-H "host: api.microsoft.ai" \
-H "x-apikey: <Your key>" \
-H "content-type: application/json" \
-d '{
"url": "https://techcommunity.microsoft.com/blog/azuredevcommunityblog/why-ai-agents-need-external-grounding/4565283",
"query": "How fast is Web IQ",
"contentFormat": "passage",
"maxLength": 3000,
"liveCrawl": "fallback",
"language": "en",
"region": "US"
}'
Les passages sont le format recommandé pour la mise au sol. Les applications disposant d’un accès complet aux documents peuvent plutôt demander l’intégralité de la page en définissant contentFormattextsur , htmlou .markdown Consultez passages et formats de contenu.
Parameters
| Paramètre | Required | Type | Default | Description |
|---|---|---|---|---|
| url | Yes | string | - | URL de la page web à parcourir. |
| query | Obligatoire pour passage |
string | - | Requête utilisée pour sélectionner des passages dans la page, jusqu’à 1 000 caractères. Une passage requête nécessite une requête qui n’est pas vide. Pour les autres formats, query est facultatif. Une valeur supérieure à 1 000 caractères retourne HTTP 400. Cette limite est indépendante de maxLength. |
| longueur maximale | Non | integer | 3000 (10000 avec accès complet aux documents) | Nombre maximal de caractères dans content, compris entre 1 et 5 00000. Une valeur en dehors de cette plage retourne HTTP 400. Sans accès complet aux documents, content il y a au maximum 3 000 caractères et les valeurs supérieures sont limitées à 3 000. |
| liveCrawl | Non | string | « aucun » | Contrôle le comportement d’analyse dynamique. Valeurs prises en charge : « none » (renvoyer uniquement du contenu indexé, sans analyse dynamique) et « secours » (demandez une analyse dynamique si l’URL n’est pas trouvée dans l’index). Pour « aucun », si l’URL n’est pas trouvée dans l’index, l’API retourne 404 (URL introuvable). Remarque : L’analyse dynamique est soumise aux restrictions et à la disponibilité de l’éditeur ; La « secours » ne garantit pas une analyse réelle. |
| includeWebLinks | Non | boolean | faux | Inclure des liens hypertexte sortants à partir de la page. Ignoré pour le contenu de passage. |
| renderDynamicPages | Non | boolean | faux | Activer le rendu JavaScript pour la capture d’écran du contenu dynamique. Fonctionne uniquement lorsque liveCrawl est défini sur « secours ». |
| includeImageLinks | Non | boolean | faux | Incluez des URL d’image à partir de la page. Ignoré pour le contenu de passage. |
| langue | Non | string | « en » | Code de langue (2 lettres ISO 639-1). Consultez les langues prises en charge pour obtenir la liste complète. |
| region | Non | string | "US" | Code régional (code pays/région à 2 lettres). Consultez les régions prises en charge pour obtenir la liste complète. |
| contentFormat | Non | string | « passage » (« html » avec accès complet aux documents) | « passage » renvoie les parties de la page les plus pertinentes query (recommandées pour la mise au sol). « text », « html » et « markdown » retournent le document complet et s’appliquent uniquement aux applications disposant d’un accès complet au document ; sans cela, ils retournent HTTP 403 (AuthContentFormatForbidden). Consultez passages et formats de contenu. |
Pour les demandes de passage, définissez contentFormat sur « passage » et envoyez un non-vide query. Si vous quittez contentFormat, « passage » est la valeur par défaut, sauf si votre application dispose d’un accès complet au document, où la valeur par défaut est « html ». Requête de passage sans query retour HTTP 400 (HandlerInvalidInput).
Demandes de passage
Une demande de passage est soumise à la validation normale de la demande, ainsi que les éléments suivants :
-
querydoit contenir du texte autre que l’espace blanc et comporter au maximum 1 000 caractères. Sinon, la requête retourne HTTP 400 (HandlerInvalidInput). -
liveCrawldoit être « aucun » ou « secours ».
Sur MCP, ces échecs retournent HTTP 200 avec une erreur d’outil (result.isError: true) qui porte l’ID de requête d’origine. Le passage est retourné dans le champ existant content ; la réponse a la même forme que pour les autres formats de contenu.
Contenu de passage
Un passage est un extrait axé sur la requête de la page demandée. Au lieu de renvoyer la page à partir du début, le service sélectionne les parties de la page les plus pertinentes query et les retourne dans le content champ.
-
Sélection : la page est divisée en segments classés par pertinence.
queryLes segments les plus classés sont sélectionnés jusqu’à ce que lemaxLengthbudget soit atteint. -
Classement : les segments sélectionnés sont retournés dans leur ordre de page d’origine, et non dans l’ordre de classement. Les segments non adjacents sont séparés par
.... -
Limites de segment : les segments sont définis par longueur plutôt que par phrase ou paragraphe, afin qu’un extrait puisse commencer ou terminer la phrase intermédiaire. Affichez les passages sous forme d’extraits et utilisez la source
urlpour l’attribution. -
Format : le contenu de passage est du texte brut. Les références de balisage, de liens hypertexte et d’image ne sont pas incluses dans
content. -
Longueur :
contentne dépasse jamais lesmaxLengthcaractères. La valeur par défautmaxLengthest 3000 sans accès complet aux documents et 1 0000 avec accès complet aux documents. Les pages courtes peuvent être retournées en intégralité. -
Secours : si la sélection de pertinence n’est pas disponible temporairement pour une demande, le service retourne le début de la page sous forme de texte brut, tronqué à
maxLength. - Restrictions de contenu : les stratégies d’éditeur et de site, telles que les directives de robots et les règles de paywall, sont appliquées avant la sélection. Les passages ne sont sélectionnés que dans le contenu qui peut être retourné pour la page.
-
Autre comportement : La résolution d’URL, l’analyse dynamique avec « secours », les réponses d’analyse en attente (HTTP 202), les champs de réponse tels que
title,crawledAtetisAdultles réponses d’erreur sont identiques aux autres formats de contenu.
En-têtes de requête
| Champ | Type | Description |
|---|---|---|
| host | string | Hôte pour Microsoft API IA : api.microsoft.ai. |
| x-apikey ou autorisation | string | Votre clé API ou votre jeton d’accès Entra ID pour l’authentification. |
| type de contenu | string | Type MIME du corps de la requête. Utilisez application/json. |
Response
| Champ | Type | Description |
|---|---|---|
| url | string | URL de la page web ou URL à réessayer lorsqu’une analyse est en attente. |
| title | string | Titre de la page Web. |
| contenu | string | Contenu extrait de la page web (aka grounding). Pour une demande de passage, les passages sélectionnés pour query. |
| lastUpdatedAt | string | La dernière date de mise à jour de la page web suit ISO8601 format. |
| crawledAt | string | La dernière date analysée de la page web suit ISO8601 format. |
| traceId | string | ID de trace pour le débogage. |
| retryAfter | string | Heure la plus ancienne pour réessayer, en tant qu’horodatage UTC ISO 8601 (par exemple, "2026-10-30T01:01:00Z"). Présentez quand une analyse à la demande est en cours (202) et sur certaines erreurs. |
| isAdult | boolean | Indique si la page web contient du contenu pour adultes. |
Note
Les titlechamps , , lastUpdatedAtcontentisAdultet crawledAt les champs ne sont présents que dans les réponses réussies (200). Elles sont omises des réponses de nouvelle tentative (202).
Exemple : demande de passage et réponse
La requête dans l’exemple ci-dessus retourne une réponse semblable à ce qui suit. Le service a sélectionné des segments non adjacents de la page et les a joints à ....
{
"url": "https://techcommunity.microsoft.com/blog/azuredevcommunityblog/why-ai-agents-need-external-grounding/4565283",
"title": "Why AI agents need external grounding | Microsoft Web IQ",
"content": "Why AI agents need external grounding | Microsoft Web IQ Microsoft Community Hub Azure Microsoft Developer Community Blog nodeTitle minReadText Why AI Agents Need External Grounding bkingms Microsoft Oct 18, 2026 Earlier this year, we introduced Microsoft Web IQ, a suite of AI-native web search and grounding APIs that gives LLMs, AI agents, and applications access to current, relevant web information. This post explores why web grounding is becoming a foundational layer of AI, how it helps deliver answers customers can use and verify, and how we’re addressing the quality, speed, and efficiency developers need. -- When customers ask an AI agent or application for help, the answer may do more than inform them—it may shape a recommendation, trigger a workflow, or guide an action. If that answer relies on... ... an engineering approach that treats quality, speed, and token efficiency as a connected problem. You can read more on our engineering approach here. Highest grounding satisfaction. On a 3,000 query blind test sampled from production traffic, Web IQ scored 79.05 against 75.70 for the next best service and more than 14 points ahead of the lowest. It gets there by returning more complete, structured context drawn from web, news, images, and video. What your users see is answers that hold up: more accurate, more consistent, and properly attributed. In the domains where source quality, freshness, and attribution drive the decision, that is the difference between an agent people act on and one they quietly double check. 2.5x faster than today's best alternative. P95 latency measured 164 milliseconds across five datacenter regions, against 406 for the closest competitor and 2,090 for the slowest. Latency compounds in agent workloads, because a multi-step chain pays the retrieval cost at every hop. Cutting it at each step keeps workflows moving and keeps interactive agents feeling interactive instead of batch. Highest quality answers with the fewest tokens. Web IQ sits on a new Pareto curve of efficiency, reaching peak quality at around 40,000 tokens per query while competing services spend 60,000 to 100,000 to score lower. Prioritizing the most relevant passages and cutting unnecessary context reduces both token spend and reasoning time, and those savings compound across high volume production workloads. Most web search APIs force a tradeoff — fast or accurate, cost-efficient or complete. Web IQ is delivers across the board: industry-leading quality, fastest performance, and fewest tokens per query — all in an enterprise-ready solution. For teams evaluating Web IQ, those results provide a starting point. We recommend testing your own questions, sources, models, and end-to-end workflows to understand how retrieval quality and efficiency translate into customer outcomes. Grounding satisfaction is a benchmark score, not an accuracy percentage, and retrieval latency is only one part of the time required to complete a task. Within Microsoft IQ,...",
"isAdult": false,
"lastUpdatedAt": "2026-10-18T00:00:00",
"crawledAt": "2026-10-29T07:44:00Z",
"traceId": "6ae4fd995e3d425f847c07c2f0839e38"
}
Codes d’erreur
| Code de statut | Catégorie d’erreur | Description | Causes courantes |
|---|---|---|---|
| 200 | Success | La demande a abouti. | - |
| 202 | Accepté | Demande acceptée pour le traitement (analyse dynamique). | Analyse à la demande en cours |
| 400 | Demande incorrecte | Paramètres de requête non valides. | Champs obligatoires manquants, valeurs de paramètre non valides, JSON mal formé, manquant ou vide query pour une demande de passage |
| 401 | Unauthorized | Échec ou absence de l’authentification. | Clé API non valide, en-tête x-apikey manquant |
| 403 | Interdit | Les informations d’identification valides, mais la demande ne peut pas être remplie. | La clé API ne dispose pas des autorisations requises, de l’URL bloquée par la stratégie, du contenu filtré, textou htmlmarkdown demandée sans accès complet au document |
| 404 | Introuvable | Document introuvable. | URL non valide ou inaccessible |
| 410 | Non disponible (Gone) | HTTPS requis. | Requête effectuée sur HTTP au lieu de HTTPS |
| 415 | Type de média non pris en charge | Type de contenu non pris en charge. | En-tête de type de contenu manquant ou incorrect |
| 429 | Trop de demandes | Limite de débit ou limite d’analyse à la demande dépassée. | Trop de requêtes dans la fenêtre de temps ou des demandes d’analyse dynamique excessives |
| 430 | Trop d’analyses à la demande | Trop d’analyses à la demande (codes d’erreur hérités). | Demandes d’analyse dynamique excessives |
| 500 | Erreur interne du serveur | Erreur de serveur inattendue. | Problème de serveur temporaire |
| 503 | Service indisponible | Service temporairement indisponible. | Pannes de maintenance ou temporaires |
| 504 | Délai d’expiration de la passerelle | La requête a expiré. | Délai d’expiration du service en amont |
| 520 | Échec du traitement du contenu | La page a été récupérée, mais aucun contenu utilisable ne peut être produit. | Échec ou expiration du délai d’expiration du traitement des documents ou expiration du rendu dynamique |
| 523 | Analyse annulée | L’analyse n’a pas produit de contenu en raison d’un quota limité d’analyse de site. | Quota d’analyse limité pour l’hôte source |
| 524 | Délai d’expiration de l’analyse | L’analyse n’a pas produit de contenu, car elle a expiré. | L’hôte distant a expiré |
Erreurs de requête de passage
Ces erreurs s’appliquent aux demandes de passage. Ils s’appliquent également lorsque « passage » est le format par défaut.
| Pathologie | État HTTP | Code d’erreur |
|---|---|---|
query est manquant, vide ou supérieur à 1 000 caractères |
400 | HandlerInvalidInput |
Une application sans demandes textd’accès complet aux documents, htmlou markdown |
403 | AuthContentFormatForbidden |
Codes d’erreur granulaires
Les codes d’erreur granulaires sont activés par défaut pour Parcourir. Ils identifient la raison spécifique pour laquelle une page n’a pas pu être retournée, comme le filtrage de contenu, un document manquant ou un échec d’analyse, et incluent des conseils de nouvelle tentative le cas échéant. Aucune demande d’inscription ou de support n’est requise.
Pour obtenir la liste complète des codes et des actions recommandées, consultez Parcourir les erreurs spécifiques à l’API.
Pour obtenir des instructions détaillées sur la gestion des erreurs, consultez Gestion des erreurs.
Voir aussi :Recherche devidéos recherche | d’actualités Recherche | d’imagesde recherche | d’actualités MCP |