Provider Unselected Sources (Browsed) Selected Citations (Cited)
Google Gemini N/A (all returned chunks are selected) grounding_metadata.groundingChunks matched via groundingSupports
OpenAI GPT outputtype=web_search_call.action.sources outputtype=message.content[].annotations[].url
Anthropic Claude contenttype=web_search_tool_result.content contenttype=text.citations[].url
flowchart LR
    subgraph Google[Google Gemini]
        G_Chunks[groundingChunks] --> G_Supports[groundingSupports]
        G_Supports --> G_Sel[Selected Citations]
    end

    subgraph OpenAI[OpenAI GPT]
        O_Search[web_search_call.sources] --> O_Unsel[Unselected Sources]
        O_Msg[annotations.url] --> O_Sel[Selected Citations]
    end

    subgraph Anthropic[Anthropic Claude]
        A_Result[tool_result.content] --> A_Unsel[Unselected Sources]
        A_Text[citations.url] --> A_Sel[Selected Citations]
    end