Call the WG-Gesucht Scraper from Node.js with the official apify-client SDK.
npm install apify-clientimport { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('logiover/wg-gesucht-scraper').call({
city: 'Berlin',
category: 'wg-rooms',
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Scraped ${items.length} listings`);
for (const l of items) {
console.log(`${l.rent} EUR — ${l.sizeSqm}m² — ${l.rooms} rooms — ${l.district}`);
}const run = await client.actor('logiover/wg-gesucht-scraper').call({
city: 'Muenchen',
category: 'apartments',
maxResults: 0, // whole city
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const withMetrics = items.filter((l) => l.rent && l.sizeSqm);
const avgPerSqm =
withMetrics.reduce((s, l) => s + l.rent / l.sizeSqm, 0) / withMetrics.length;
console.log(`Average €/m² in Munich: ${avgPerSqm.toFixed(2)}`);const run = await client.actor('logiover/wg-gesucht-scraper').call({
searchUrls: [
'https://www.wg-gesucht.de/wg-zimmer-in-Berlin.8.0.1.0.html',
'https://www.wg-gesucht.de/wohnungen-in-Hamburg.55.2.1.0.html',
],
maxResults: 2000,
});const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
// ...same as aboveSee the README for the full input and output field reference.