Call the hosted Actor logiover/devto-articles-scraper from Node.js with the official apify-client.
npm install apify-clientimport { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/devto-articles-scraper').call({
tag: 'ai',
maxArticles: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const a of items) {
console.log(`${a.reactionsCount}❤ ${a.title} — @${a.authorUsername}`);
}const run = await client.actor('logiover/devto-articles-scraper').call({
sort: 'top_week',
tag: 'javascript',
maxArticles: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.sort((a, b) => (b.reactionsCount ?? 0) - (a.reactionsCount ?? 0));
console.table(items.slice(0, 10).map((a) => ({ title: a.title, reactions: a.reactionsCount })));const run = await client.actor('logiover/devto-articles-scraper').call({
username: 'ben',
maxArticles: 0,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const tagCounts = {};
for (const a of items) for (const t of a.tags || []) tagCounts[t] = (tagCounts[t] || 0) + 1;
console.table(tagCounts);import { writeFileSync } from 'node:fs';
const csv = await client.dataset(run.defaultDatasetId).downloadItems('csv');
writeFileSync('devto.csv', csv);See also: cli.md · api-curl.md · python.md