Saving and retrieving custom data across platforms

I’m currently working on a project that allows players to create their own puzzle levels in a level editor and publish them so that other players can play them. This should work similar to Mario Maker.

The challenge is that i want the levels to be available cross platform. Player A create a level on Steam and Player B plays the level on Epic for example.

It looks like Epic Online Services can be used for this. Is that the best way to go forward or are there any other options?

Another idea was to create my own Web API with a SQL database to save levels and make HTTP requests to the API from the game. Is it bad practise to use Web API’s in game development or is it not even possible?

Would love to hear thoughts if anyone has ever faced a similar challenge. Thanks!