I have searched the web and it seems that to include external content you need a federated search connector.
However, all the samples assume that the external service either supports OpenSearch or is a web service that returns data in a specific format.
In my case, I need to access a web service (using OAuth as login with provided credentials), get the results and format it to be compatible with the search results shown otherwise.
I am looking for documentation for how to create the code for this, how I should format this data and (optionally) how I can create previews and such for this content (in our case it's video, so it need some special treatment).