The RTCIceTransport method getLocalCandidates() returns an array of RTCIceCandidate objects, one for each of the candidates that have been gathered by the local device during the current ICE agent session.

The local candidates are placed in this list by the ICE agent prior to being delivered to the local client's code in an icecandidate event so that the client can forward the candidates to the remote peer.





Return value

A JavaScript Array containing one RTCIceCandidate object for each candidate that has been identified so far during the ICE candidate gathering session.

You can't correlate these local candidates with matching remote candidates. To find the best match found so far, call RTCIceTransport.getSelectedCandidatePair().


This simple example gets the local candidate list from the RTCIceTransport for the first RTCRtpSender on the RTCPeerConnection, then outputs to the console all of the candidates in the list.

const localCandidates = pc

localCandidates.forEach((candidate, index) => {
  console.log(`Candidate ${index}: ${candidate.candidate}`);


WebRTC: Real-Time Communication in Browsers
# dom-rtcicetransport-getlocalcandidates

Browser compatibility

BCD tables only load in the browser