Skip to main content
Every Responses API answer is grounded in live web research, and the sources are returned as OpenAI-style 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 the message 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:
A span may carry multiple citations when several sources support the same claim.

Reading citations

Citations while streaming

With streaming enabled, each citation arrives as a standard response.output_text.annotation.added event after the text delta:
The final 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. If you need per-field evidence with excerpts, reasoning, and confidence ratings, use the Task API’s Research Basis.