How are source links returned by Mistral's web search API?

The Citead team, updated

In short. Mistral's built-in Websearch returns source URLs and titles in tool_reference chunks inside message.output.content.

Definition: As of 17 October 2026, Mistral's built-in Websearch returns source links in tool_reference chunks interleaved with answer text inside a message.output entry. Each reference carries a source url and title.

Key facts

Where does the source URL appear?

The Websearch output explanation describes message.output.content as a list containing text and reference chunks. A reference's type is tool_reference; tool identifies web_search, title names the source, and url holds its address. The documentation also lists a source field.

A separate tool.execution entry records the search execution. Its metadata includes the tool name, an identifier and timestamps. Reading only that entry misses the links embedded in the generated answer. An application displaying the answer therefore needs to process the content chunks, preserving the references alongside the text.

How can an application inspect the response?

The built-in search section of Mistral's Web Search with References cookbook starts a conversation with tools=[{"type": "web_search"}]. It supplies a model directly, so this example begins without creating an agent first.

For an existing response, the following adaptation of its output loop prints each complete serialized output entry. The cookbook truncates each printed entry; removing that truncation makes the full content available for inspection.

for output in response.outputs:
    print(output.model_dump_json())

The relevant fields to inspect are the output's type and, for a generated message, the chunks in content. For a website audit, keeping that serialized response preserves the returned source addresses together with the answer being examined.

Why do other examples use reference IDs?

Mistral's Citations & References guide demonstrates a custom get_information function. It returns JSON source records containing URLs, titles and snippets. The application adds that result to the chat history as a tool message before requesting the final answer.

In that example, the formatter collects ReferenceChunk.reference_ids, looks up each identifier in the function result, and prints the matching title and URL. These IDs belong to the custom tool's reference data. The built-in Websearch response described above exposes URLs directly in its tool-reference chunks. A parser needs to follow the format used by its chosen API workflow.

FAQ

Can I enable built-in Websearch through Chat Completions?

Mistral's Websearch documentation places web_search and web_search_premium in the Conversations and Agents APIs. It states that Chat Completions responses lack the search-result references required by those tools.

Follow the lookup in Mistral's Citations & References example: collect the IDs from reference chunks, resolve them against the tool's JSON result, and use the corresponding url and title fields.

Sources

  1. Mistral AI, "Websearch", undated, accessed 17 October 2026
  2. Mistral AI, "Web Search with References", undated, accessed 17 October 2026
  3. Mistral AI, "Citations & References", undated, accessed 17 October 2026

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark