If it supports [oEmbed][1] you can use `OEmbed` Source plugin similar to below. https://git.drupalcode.org/sandbox/Bhanu951-3225164/-/blob/1.x/src/Plugin/media/Source/TikTok.php If it doesn't support oEmbed you can create your own media source plugin extending `MediaSourceBase` class similar to below. https://git.drupalcode.org/project/media_entity_slideshow/-/blob/8.x-2.x/src/Plugin/media/Source/Slideshow.php Edit 1 : In order to store it as own media type you need to extended `oEmbed` class and define `providers` [key][2] to provide oEmbed source. All the additional metadata will be handled by `oEmbed` class. You can alter the source data by using `hook_media_source_info_alter` refer https://git.drupalcode.org/sandbox/Bhanu951-3225164/-/blob/1.x/media_entity_tiktok.module#L11 [1]: https://oembed.com/providers.json [2]: https://git.drupalcode.org/sandbox/Bhanu951-3225164/-/blob/1.x/src/Plugin/media/Source/TikTok.php#L14