Skip to content

Latest commit

 

History

History
69 lines (52 loc) · 1.83 KB

File metadata and controls

69 lines (52 loc) · 1.83 KB

JavaScript (apify-client) — WG-Gesucht Scraper

Call the WG-Gesucht Scraper from Node.js with the official apify-client SDK.

Install

npm install apify-client

Run and read the dataset

import { 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}`);
}

Rent-per-m² across a city

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)}`);

Multiple cities via search URLs

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,
});

CommonJS

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
// ...same as above

See the README for the full input and output field reference.

▶️ Run on Apify: https://apify.com/logiover/wg-gesucht-scraper