In both self-hosted and business hosting scenarios you can extract the user generated content from posts using REST API calls, listening to Webhooks, querying the database via the web interface using the Data Explorer plugin and export it to JSON/CSV, or even download a full copy of the PostgreSQL database that contains all the data.
Which option you should choose depends on your preferred ETL workflow, data size and frequency needs.