All Categories
💬

Social

DEV.to API
Forem
Access articles, tags, users and comments from the DEV.to developer community.
ArticlesTagsUser ProfilesCommentsReactions
API KeyFreeReal-timeGlobal
Quick start
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}`)
);
Visit
GitHub API
GitHub
Access repositories, issues, pull requests, users and organizations on GitHub.
RepositoriesStars & ForksIssues & PRsUser ActivityOrganization Data
API KeyFreeReal-timeGlobal
Quick start
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}`));
Visit
HackerNews API
Y Combinator
Real-time access to Hacker News stories, comments, jobs and polls. No auth required.
Top StoriesAsk HNShow HNJobsComments & Karma
No AuthFreeReal-timeGlobal
Quick start
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}`));
Visit
Mastodon API
Mastodon
Federated social network API for posting, timelines and instance discovery.
TimelinesPosts (Toots)NotificationsFollowsInstance Info
OAuthFreeReal-timeGlobal
Quick start
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)}`));
Visit
Reddit API
Reddit
Access Reddit posts, comments, subreddits and user data via official OAuth API.
Posts & CommentsSubreddit DataUser KarmaSearch ResultsHot/New/Top Feed
OAuthFreeReal-timeGlobal
Quick start
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));
Visit
YouTube Data API
Google
Search videos, retrieve channel data and manage YouTube content via official API.
Video SearchChannel InfoPlaylistsCommentsSubscriber Count
API KeyFreeReal-timeGlobal
Quick start
const res = await fetch(
  `https://www.googleapis.com/youtube/v3/videos?part=snippet,statistics&chart=mostPopular&regionCode=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}`)
);
Visit