ohne-makler.net Scraper — Germany FSBO Property Data & API
Pricing
from $2.50 / 1,000 overview listings
ohne-makler.net Scraper — Germany FSBO Property Data & API
ohne-makler.net scraper & real estate data API for Germany's FSBO / private-seller portal. Commission-free rent & sale listings in every German city: price, size, rooms, deposit, address, GPS, energy class, photos — clean JSON/CSV. Fast overview or full detail. No-code, no API key needed.
Pricing
from $2.50 / 1,000 overview listings
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
5
Total users
4
Monthly active users
7 days ago
Last modified
Categories
Share
ohne-makler.net Scraper — Germany FSBO Property Data & API 🏡
🎉 Every commission-free private-seller listing in Germany — the entire result set in a single fetch, clean JSON/CSV
For lead-gen teams, property analysts and investors who want provisionsfrei (no-agent) listings nobody else is scraping
📋 Overview
Pull Germany's FSBO real-estate market straight into a spreadsheet. ohne-makler.net is Germany's private-seller ("von privat", provisionsfrei) property portal — this scraper turns it into clean, structured data: rent (mieten) and sale (kaufen) listings in every German city, with price, size, rooms, deposit, exact address, GPS, energy class, photos and full descriptions.
Why professionals choose this scraper:
- ✅ Whole market in one request: the search page embeds the entire result set — a national rent search returns 2,000+ listings in a single fetch, no pagination, no page-by-page billing.
- ⚡ Fast & reliable: German residential routing returns the full page in seconds — no throttling, no broken half-pages.
- 🎯 Rich, ready-to-use fields: 40+ structured columns including GPS coordinates, energy class, deposit and price-per-m².
- 💰 Pay only for what you keep: transparent pay-per-result pricing — no charge until your input is validated.
- 💎 A niche nobody else covers: the only dedicated ohne-makler.net scraper — reach private sellers before the agencies do.
- ✨ Two modes: cheap overview to map a city, full detail for the complete listing.
✨ Features
- 🧭 Overview mode — enumerate every listing for a search (id, title, URL, GPS) in one cheap fetch.
- 🔎 Detail mode — full listing: exact address, all attributes, energy, deposit, description and every photo.
- 🗺️ By place — pick contract + property type + state/city, or go national.
- 🔗 By search URL — paste any ohne-makler.net search URL and scrape it as-is.
- 🆔 By listing URL — pass specific listing URLs or IDs straight to detail mode.
- 🎚️ Built-in filters — price, living area and search radius.
- 📊 Computed KPIs — price-per-m² and thumbnail-first rows out of the box.
- 🌐 Map-ready geo — latitude/longitude on every listing, with a precise/approximate flag.
- 👤 FSBO-only signal — every listing is a private, commission-free seller.
🎬 Quick Start
Choose a mode and a place (or paste a search URL), set how many listings you want, and run. Results land in the Apify dataset as JSON/CSV/Excel.
curl -X POST https://api.apify.com/v2/acts/sian.agency~ohne-makler-property-scraper/runs?token=YOUR_TOKEN \-H 'Content-Type: application/json' \-d '{"scrapeMode":"overview","searchMode":"byPlace","contract":"rent","estateType":"wohnung","states":["berlin"],"cities":["berlin"]}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose your mode
Pick Overview (cheap, full list) or Detail (full data per listing).
Step 2: Tell it what to scrape
Set contract + property type + state/city, or paste an ohne-makler.net search URL.
Step 3: Run
Click Start and watch listings stream into your dataset.
That's it! In under a minute, you'll have:
- A clean dataset of private-seller listings
- Price, size, rooms, address and GPS for every result
- One-click export to JSON, CSV or Excel
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| scrapeMode | string | No | overview (cheap list) or detail (full data) |
| searchMode | string | No | byPlace, bySearchUrl or byListingUrl |
| contract | string | No | rent (mieten) or sale (kaufen) |
| estateType | string | No | wohnung, haus, zimmer, grundstueck, buero, … |
| states | array | No | State slugs, e.g. berlin, bayern |
| cities | array | No | City slugs, e.g. berlin, berlin-lichterfelde |
| searchUrls | array | No | ohne-makler.net search URLs |
| listingUrls | array | No | Listing URLs or IDs (detail mode) |
| priceMin / priceMax | integer | No | Price filter in EUR |
| areaMin / areaMax | integer | No | Living-area filter in m² |
| radius | integer | No | Search radius in km |
| enrichPreview | boolean | No | Add price/size/rooms to overview rows |
| maxResults | integer | No | Cap per run (FREE: 25, PAID: unlimited) |
Example (overview by place):
{"scrapeMode": "overview","searchMode": "byPlace","contract": "rent","estateType": "wohnung","states": ["berlin"],"cities": ["berlin"],"maxResults": 100}
Example (detail by listing URL):
{"scrapeMode": "detail","searchMode": "byListingUrl","listingUrls": ["https://www.ohne-makler.net/immobilie/443590/", "465847"]}
📤 Output
Results are saved to the Apify dataset with 40+ fields including:
| Field | Type | Description |
|---|---|---|
| id | string | Listing ID (Objekt-Nr) |
| propertyTitle | string | Listing headline |
| contract | string | rent / sale |
| price | number | Kaltmiete (rent) or Kaufpreis (sale), EUR |
| price_per_sqm_eur | number | Computed price per m² |
| area_sqm | number | Living area in m² |
| rooms | number | Number of rooms |
| deposit | number | Mietsicherheit / Kaution, EUR |
| address / city / zip / district | string | Location details |
| latitude / longitude | number | GPS coordinates |
| energy_class | string | Energieeffizienzklasse |
| construction_year | number | Baujahr |
| is_private | boolean | Always true (FSBO portal) |
| images | array | All photo URLs (detail mode) |
Example:
{"id": "443590","url": "https://www.ohne-makler.net/immobilie/443590/","propertyTitle": "Berlin Lichterfelde 3-Zi-Neubau 2025 76 m² A+ Privatgarten","contract": "rent","property_type": "Wohnung","price": 1786,"price_per_sqm_eur": 23,"area_sqm": 76.4,"rooms": 3,"deposit": 5358,"address": "Schillerstr. 21, 12207 Berlin (Lichterfelde)","city": "Berlin","zip": "12207","district": "Lichterfelde","latitude": 52.42673,"longitude": 13.32214,"energy_class": "A+","construction_year": 2025,"is_private": true,"image_count": 13}
💼 Use Cases & Examples
1. FSBO Lead Generation
Real-estate agents & buyers sourcing commission-free sellers before the competition.
Input: A city + contract. Output: Every private-seller listing with location and price. Use: Build an outreach list of provisionsfrei owners.
2. Rent & Price Benchmarking
Analysts tracking asking prices and price-per-m² by district.
Input: A state/city with price filters. Output: Structured price, area and price-per-m² columns. Use: Benchmark a neighbourhood or build a market report.
3. Investment Sourcing
Investors scanning for undervalued private-sale opportunities.
Input: Sale contract + area/price filters. Output: Listings with construction year, energy class and condition. Use: Shortlist deals that match an investment thesis.
4. CRM & Map Enrichment
PropTech teams enriching a CRM with geo-located inventory.
Input: Search URLs for target regions. Output: GPS coordinates on every listing. Use: Plot inventory on a map or enrich existing records.
5. Market Monitoring
Researchers tracking how the FSBO segment moves over time.
Input: Scheduled national or regional runs. Output: A growing dataset of listings. Use: Measure supply, price trends and time-on-market signals.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/ohne-makler-property-scraper').call({scrapeMode: 'overview',searchMode: 'byPlace',contract: 'rent',estateType: 'wohnung',states: ['berlin'],cities: ['berlin'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/ohne-makler-property-scraper').call(run_input={'scrapeMode': 'detail','searchMode': 'byListingUrl','listingUrls': ['https://www.ohne-makler.net/immobilie/443590/'],})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~ohne-makler-property-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"scrapeMode":"overview","searchMode":"bySearchUrl","searchUrls":["https://www.ohne-makler.net/immobilien/wohnung-mieten/berlin/berlin/"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API
- Process: Handle the JSON results
- Action: Save to a sheet, push to a CRM, or notify
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 listings per run — full feature access, same quality
- No credit card required
- Perfect for testing and small projects
PAID Tier (Production Ready)
- Unlimited listings per run
- Faster runs, no caps
- Pay-per-result: only charged for listings you actually extract
💰 Cheap by design — the overview event maps an entire city for cents, and you only pay for full detail when you need it.
❓ Frequently Asked Questions
Q: How many listings can I scrape? A: FREE tier: 25 per run. PAID tier: unlimited.
Q: Does it cover all of Germany? A: Yes — search nationally or narrow to any state, city or radius.
Q: What's the difference between overview and detail? A: Overview returns the full result list cheaply (id, title, URL, GPS). Detail fetches each page for the complete field set (address, energy, deposit, description, all photos).
Q: What output formats are available? A: JSON, CSV and Excel — export directly from the Apify dataset.
Q: Do I need an account or API key for ohne-makler.net? A: No. Just run the actor.
Q: Why are bedrooms / listing date sometimes empty? A: ohne-makler.net doesn't structure those fields for most listings — that's the source, not a bug.
Q: Is this legal? A: We only extract publicly available data. See the legal note below.
🐛 Troubleshooting
No results returned
- Check the state/city slugs (e.g.
berlin,berlin-lichterfelde) — they must match the site's URL slugs. - Widen the scope: drop the city, or remove price/area filters.
Fewer fields than expected in overview mode
- Overview returns the list cheaply. Enable
enrichPreviewfor price/size/rooms, or use detail mode for everything.
Detail run is slow
- Detail fetches one page per listing. Lower
maxResultsor split across runs.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Trademark note: ohne-makler.net is a trademark of its respective owner. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by ohne-makler.net. "ohne-makler" is used only to describe the public website this tool helps you access.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check the SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools