I think it's difficult to build an email list completely for free.
The cheapest solution is to scrape the public data, at least you'll need some cheap proxies or use scraperapi free accounts. You'll need to code your own script or use a bot builder.
To scrape from social media platforms, you'll need some accounts, proxies and a program to scrape data.
To build you own email list, you'll need to create a lead magnet, provide something useful in exchange for the email. You'll need a hosting and an auto responder.
To get traffic to your lead magnet, you can use Instagram, Twitter( it comes with a cost to grow your account)
Since your request is to build an email list for free, no need to talk about paid ads and seo.
Here's the free one:
1-optimize your fb profile: cover, profile image, description and link.
Say something like "I help....to.....without...." and provide your call to action.
2- joing fb groups within your niche: help people by commenting, create value posts, build relation
3 - people who like your content and get help from you will end up visiting your profile and see your call to action.
4-Add as friend those who like your content.
The formula is to provide value then people will join what you're offering.