Anthropic | Citations

When documents are sent with citations enabled, Claude's response includes references back to specific parts of the source documents. This lets you verify claims and trace information to its origin.

Enabling Citations

Set CitationsEnabled to True on document content blocks. Citations must be enabled on ALL or NONE of the documents in a request.


oDocBlock := TsgcAnthropicClass_Request_Content_Block.Create;
oDocBlock.ContentType := 'document';
oDocBlock.SourceType := 'base64';
oDocBlock.MediaType := 'application/pdf';
oDocBlock.Data := sgcBase64Encode(LoadFileToBytes('report.pdf'));
oDocBlock.CitationsEnabled := True;  // Enable citations

Reading Citations from Response

Text content blocks in the response may contain a Citations array with source references.


oResponse := Anthropic.CreateMessage(oRequest);
Try
  for i := 0 to Length(oResponse.Content) - 1 do
  begin
    if oResponse.Content[i].ContentType = 'text' then
    begin
      WriteLn(oResponse.Content[i].Text);

      // Process citations
      for j := 0 to Length(oResponse.Content[i].Citations) - 1 do
      begin
        oCitation := oResponse.Content[i].Citations[j];
        WriteLn(Format('  Citation [%s]: "%s"',
          [oCitation.CitationType, oCitation.CitedText]));

        if oCitation.CitationType = 'page_location' then
          WriteLn(Format('    Pages %d-%d of "%s"',
            [oCitation.StartPageNumber, oCitation.EndPageNumber,
             oCitation.DocumentTitle]));
      end;
    end;
  end;
Finally
  oResponse.Free;
End;

Citation Types