Curate Custom Content with mediastack
I used to have a personal aggregator of sites I enjoyed but maintaining it was a nightmare. I needed to grab each site's RSS feed, categorize their contents, deal with errors and individual rate limits, etc. I had to tear the whole project down because it was a nightmare to manage. Fast forward a few years later and there's an amazing API service that aggregates major news sources for me: mediastack!
- Sign up for free!
- Provides access to 7,500 worldwide news sources
- Offers realtime news as well as historical data
- Allows querying news articles by keyword, location, date, and more
- Excellent documentation with code samples
After signing up and getting your free API key, you can start querying this awesome news API. Since it's transfer season in the English Premier League, I could look for news on Arsenal transfers:
http://api.mediastack.com/v1/news ?access_key=MY_API_KEY &keywords=Arsenal &countries=gb
I could also check on cryptocurrency governance news in the United States:
http://api.mediastack.com/v1/news ?access_key=MY_API_KEY &keywords=crypto,law &countries=us
I can always limit the source to credible news organizations:
http://api.mediastack.com/v1/news ?access_key=MY_API_KEY &keywords=coronavirus &sources=-foxnews &countries=us
mediastack allows for loads of customizations in request, down to location, paging, topics, languages, dates, and more:
http://api.mediastack.com/v1/news ?access_key=MY_API_KEY &keywords=bitcoin &sources=-foxnews &categories=business &languages=en &sort=popularity &countries=us
If I wanted to create an "On this day in history" feature, I could use the historical news feature:
http://api.mediastack.com/v1/news ?access_key=MY_API_KEY &keywords=bitcoin,price &date=2014-07-31
I love the idea of using mediastack to create a personal news site. I also enjoy the idea of creating a "Related News" block based on the keywords of a given article. In theory, you could create an amazing, full featured news site with mediastack. Go out and make it happen!