url_citation annotations on the output text. Because this is the stock
wire format, existing OpenAI SDK code that reads content[].annotations works unchanged.
Annotation format
Citations appear on themessage output item’s output_text content part. Each annotation
carries the source url and title, plus start_index/end_index marking the span of
answer text it supports:
Reading citations
Citations while streaming
With streaming enabled, each citation arrives as a standardresponse.output_text.annotation.added event after the text delta:
response.completed event carries the complete annotations array on the message
content, so non-incremental consumers can also read citations from there.
Richer evidence
Citations tell you which sources support the answer. The searches and page reads behind them are returned asweb_search_call items (see
Web Search Tool). If you need per-field evidence with
excerpts, reasoning, and confidence ratings, use the Task API’s
Research Basis.