Why is the summary and body returning an empty object using the Element API?
Try this:

...
'transformer' =&gt; function (EntryModel $entry) {
    return [
        'title' =&gt; $entry-&gt;title,
        'url' =&gt; $entry-&gt;url,
        'summary' =&gt; (string) $entry-&gt;summary
    ];
},
...