Track German Apartment Listings Daily

OpenAIGoogle Sheets

Scans apartment listings across key German cities daily, extracts details, scores investment potential, and logs enriched data with market summaries to Google Sheets.

Real EstateGerman MarketInvestment ScoringGoogle Sheets

German Real Estate Market Intelligence

This workflow provides up-to-date market intelligence by collecting and analyzing apartment listings for sale in select German cities every morning. It uses web search and AI analysis to extract relevant data, estimate rental yields, score investment potential, and log the results — along with a city-level market summary — into Google Sheets.

What It Does

  1. Triggers daily at 7:00 AM Berlin time to keep your data fresh.
  2. Generates search queries for apartments for sale in 12 German cities, limited to listings from the last 90 days.
  3. Searches the web for relevant apartment listings in each city.
  4. Uses an AI agent to browse and extract detailed information from listing portals like ImmoScout24, Immowelt, and Kleinanzeigen.
  5. Cleans, parses, and deduplicates the aggregated listing data.
  6. Scores each apartment based on estimated rental income, gross yield, price per sqm, and overall investment value.
  7. Sorts all listings by city and investment score.
  8. Writes individual listings to a Google Sheets "Listings" tab with date-stamped entries.
  9. Generates a market summary with per-city statistics (average/median prices, yields, hot deals count) and writes it to a separate "Market Summary" tab.

What You Need

  • A Needle Platform account with access to workflow automation tools.
  • A Google account with access to Google Sheets.
  • A configured Google Sheets connector in Needle.
  • A destination spreadsheet with two sheets: Listings and Market Summary.

How the Flow Works

NodeDescription
Scheduled TriggerRuns the workflow daily at 7:00 AM Europe/Berlin time.
Code (Generate Queries)Creates search queries for each of the 12 target cities to find apartment listings from the last 90 days.
Web SearchPerforms internet searches based on the generated queries for each city.
AI Agent (Extract Listings)Browses the most promising listing pages and extracts structured apartment data including price, size, rooms, address, and source.
Code (Clean & Deduplicate)Flattens results from all cities, parses string-format entries if needed, and removes duplicates.
AI Agent (Score Listings)Estimates monthly rent using city-level benchmarks, calculates gross yield, and assigns an investment score and verdict (HOT_DEAL, GOOD, AVERAGE, or OVERPRICED).
Code (Sort Listings)Sorts enriched listings by city name, then by investment score in descending order.
Google Sheets (Listings)Writes the final processed listings to the "Listings" sheet with date-stamped rows.
Code (Market Summary)Aggregates per-city statistics: average/median prices, price per sqm, yields, listing counts, and deal breakdowns.
Google Sheets (Market Summary)Writes the city-level summary to the "Market Summary" sheet.

Output

Each day, your Google Sheet is updated with two tabs:

  • Listings — Individual apartment entries with the following fields:
FieldDescription
DateThe date the listing was collected
TitleListing title
CityCity name
SourcePortal name (e.g., ImmoScout24)
Price (EUR)Asking price
Size (sqm)Apartment size in square meters
RoomsNumber of rooms
Price per sqmCalculated price per square meter
AddressStreet-level address if available
Listing URLDirect link to the listing
Est. Monthly RentEstimated cold rent based on city benchmarks
Gross Yield %Estimated annual gross rental yield
ScoreInvestment score from 1 (worst) to 10 (best)
VerdictHOT_DEAL, GOOD, AVERAGE, or OVERPRICED
NotesBrief explanation of the score
  • Market Summary — Per-city aggregated statistics including average and median prices, yield percentages, and counts of hot deals vs. overpriced listings.

Target Cities

The workflow currently covers 12 German cities across Eastern and Western Germany:

  • Leipzig, Dresden, Chemnitz
  • Dortmund, Essen, Duisburg, Gelsenkirchen, Wuppertal, Bochum
  • Halle (Saale), Magdeburg, Bremerhaven

You can customize this list by editing the code node that generates search queries.

Notes

  • Rental estimates are based on predefined cold-rent benchmarks per city. Actual rents may vary.
  • Listings where the price is listed as "auf Anfrage" (on request) or is ambiguous are excluded.
  • The AI browsing tool targets popular portals but may miss smaller sites or private listings.
  • Make sure your Google Sheets API credentials are correctly set up and authorized in the Needle connector.
  • You can adjust city lists, rent benchmarks, and scoring logic by editing the relevant code nodes.

Want to showcase your own workflows?

Become a Needle workflow partner and turn your expertise into recurring revenue.

Ready to vibe automate?

Join thousands of people who have transformed their workflows.

Workflows

Automations with AI agents

Collections

All your data, searchable

Chat Widget

Drop-in widget for your website

Developer API

Build AI-powered apps with ease

    We use cookies to enhance your experience on Needle and keep your data secure. Privacy Policy