Можете отдавать что угодно, и как угодно (iframe, скрипт, или данные для AJAX запроса), главное, чтобы сервер (ваш хостинг) разрешил использование данных с других хостов.
По умолчанию браузерам разрешено грузить скрипты и картинки с других источников, но нельзя обращаться с AJAX запросом к серверам, которые прямо не разрешают это. Можно даже целиком страницы чужие в iframe грузить, но доступ скриптам из основного документа к содержимому iframe нужно разрешать с помощью CORS.
Подробнее по теме:
-
https://habrahabr.ru/post/114432/
-
https://developer.mozilla.org/en-US/docs/Web/HTML/...
-
https://ru.wikipedia.org/wiki/Cross-origin_resourc...
Тэги для гугления:
crossorigin
,
CORS
.
Еще один вариант - JSONP - загрузка данных в виде скриптов с источников расположенных на других хостах (серверах с адресом отличным от адреса сервера вызывающей страницы).
Самое распространенное решение для внедрения сторонних виджетов - скрипт, который тащит с собой данные (внутри тела скрипта) и генерирует новую разметку, чаще всего - iframe.
Упомянутый oEmbed, по факту, делает тоже самое, как и виджеты "Вконтакте", "Фэйсбук" и т.п.