const res = await fetch(
'https://dev.to/api/articles?top=7&per_page=5'
);
const articles = await res.json();
articles.forEach(a =>
console.log(`[${a.public_reactions_count}❤️] ${a.title} by @${a.user.username}`)
);const res = await fetch(
'https://api.github.com/search/repositories?q=stars:>50000&sort=stars&per_page=5',
{ headers: { Authorization: `token ${process.env.GITHUB_TOKEN}`, Accept: 'application/vnd.github.v3+json' } }
);
const { items } = await res.json();
items.forEach(r => console.log(`⭐ ${r.stargazers_count.toLocaleString()} — ${r.full_name}`));const topRes = await fetch('https://hacker-news.firebaseio.com/v0/topstories.json');
const ids = (await topRes.json()).slice(0, 5);
const stories = await Promise.all(
ids.map(id => fetch(`https://hacker-news.firebaseio.com/v0/item/${id}.json`).then(r => r.json()))
);
stories.forEach((s, i) => console.log(`${i + 1}. [${s.score}] ${s.title}`));const res = await fetch(
'https://mastodon.social/api/v1/timelines/public?limit=5'
);
const posts = await res.json();
posts.forEach(p => console.log(`@${p.account.username}: ${p.content.replace(/<[^>]+>/g, '').slice(0, 80)}`));const tokenRes = await fetch('https://www.reddit.com/api/v1/access_token', {
method: 'POST',
headers: {
Authorization: `Basic ${Buffer.from(`${process.env.REDDIT_CLIENT_ID}:${process.env.REDDIT_SECRET}`).toString('base64')}`,
'Content-Type': 'application/x-www-form-urlencoded',
},
body: 'grant_type=client_credentials',
});
const { access_token } = await tokenRes.json();
const res = await fetch('https://oauth.reddit.com/r/programming/hot?limit=5', {
headers: { Authorization: `Bearer ${access_token}`, 'User-Agent': 'MyApp/1.0' },
});
const { data } = await res.json();
data.children.forEach(p => console.log(p.data.title));const res = await fetch(
`https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&chart=mostPopular®ionCode=US&maxResults=5&key=${process.env.YOUTUBE_API_KEY}`
);
const { items } = await res.json();
items.forEach(v =>
console.log(`[${Number(v.statistics.viewCount).toLocaleString()} views] ${v.snippet.title}`)
);