How to get related entry data using ElementCriteriaModel in a plugin
This is called Eager Loading you have to do 

$criteria = craft()-&gt;elements-&gt;getCriteria(ElementType::Entry);
$criteria-&gt;order('postDate asc');
$criteria-&gt;dateUpdated = array('and', '&gt;=' . $this-&gt;dateFrom-&gt;format(DateTime::MYSQL_DATETIME), '&lt;=' . $this-&gt;dateTo-&gt;format(DateTime::MYSQL_DATETIME));
$criteria-&gt;limit('null');

// ========== start change ===============
$criteria-&gt;with = ['video'];
// ========== end change  ================

$responses = $criteria-&gt;find();


Edit: One of the most important things when working with Craft.


  I can see that $response->video is an array containing the sourceElement id and field id.


No, no and no. Many people believe this, or many other things, but that is not true. Your $response-&gt;video will contain an object of type ElementCriteriaModel. $respose-&gt;video is exactly the same type of object like $criteria = craft()-&gt;elements-&gt;getCriteria();

Thus you can do 

$videos = $response-&gt;video-&gt;order('')-&gt;limit(2)-&gt;find()