We extract active listings, historical sold prices, bidding histories, and algorithmic valuations from Booli. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.
Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.
Complete list of extractable fields for Active Listings objects from booli.se. All fields typed and schema-versioned.
"booli_id": "4829104", "address": "Sveavägen 42", "municipality": "Stockholm", "property_type": "Lägenhet", "rooms": 3, "living_area": 84.5, "list_price": 7500000, "rent": 4250, "broker_agency": "Fastighetsbyrån"
| # | booli_id | address | municipality | county | property_type | rooms |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Sold Properties objects from booli.se. All fields typed and schema-versioned.
"booli_id": "3910284", "address": "Linnégatan 12", "sold_price": 8200000, "list_price": 7800000, "price_diff_pct": 5.1, "sold_date": "2023-10-14", "price_per_sqm": 97041.4, "broker_agency": "Bjurfors"
| # | booli_id | address | property_type | sold_price | list_price | price_diff_pct |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Booli Valuations objects from booli.se. All fields typed and schema-versioned.
"property_id": "9481726", "valuation_estimate": 4500000, "valuation_low": 4200000, "valuation_high": 4800000, "confidence_score": "High", "trend_12m": -2.4, "reference_properties": 14, "last_updated": "2023-11-01T08:14:00Z"
| # | property_id | address | valuation_estimate | valuation_low | valuation_high | confidence_score |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for BRF Details objects from booli.se. All fields typed and schema-versioned.
"brf_name": "BRF Solrosen 1", "org_number": "769600-1234", "registration_year": 1984, "total_apartments": 42, "debt_per_sqm": 4500, "energy_class": "C", "municipality": "Göteborg"
| # | brf_name | org_number | registration_year | total_apartments | debt_per_sqm | monthly_fee |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Complete list of extractable fields for Bidding History objects from booli.se. All fields typed and schema-versioned.
"booli_id": "3910284", "total_bids": 8, "unique_bidders": 3, "bid_timestamp": "2023-10-12T14:32:10Z", "bid_amount": 8100000, "bid_increase": 50000, "bidder_id": "Bidder 2"
| # | booli_id | address | total_bids | unique_bidders | start_price | final_price |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 |
Our Booli scraper handles every layer of the Swedish property market: active listings, sold prices, BRF details, and algorithmic valuations — with Swedish residential proxies and CAPTCHA handling built in.
Extract properties currently for sale and 'snart till salu' listings. Capture asking price, living area, plot size, and broker details.
Access historical transaction data (slutpriser). Compare final sale prices against original asking prices to calculate regional premiums.
Extract Booli's algorithmic property valuations, including low/high confidence intervals and trailing 12-month market trends.
Track bid logs, unique bidder counts, and bid increments to gauge market heat and demand velocity per property.
Scrape housing association (Bostadsrättsförening) data including debt per square metre, monthly fees, and registration years.
Aggregate data by broker agency to analyse market share, average days on market, and price realisation rates.
Extract aggregated statistics at the municipality and county levels to track macro real estate shifts across Sweden.
Monitor price reductions and delistings on active properties to identify motivated sellers and stale inventory.
Run one-off bulk exports or configure continuous pipelines at daily or real-time cadences with change-detection diffing.
Brief in. Clean data out.
Provide municipalities, property types, or search filters. We design the extraction schema together.
We configure Scrapy / Playwright crawlers, Swedish proxy rotation, and CAPTCHA handling for booli.se.
Schema validation, null-rate checks, valuation outlier detection, and sample payloads before full launch.
JSON / CSV / Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.
Swedish real estate portals invest heavily in scraping detection. Here is how we stay resilient — and why teams choose managed infrastructure over DIY.
Booli restricts access from data centre IPs and non-Swedish regions. Our crawlers use residential ISP proxies located in Sweden with realistic browser fingerprints and full cookie session management.
Booli's search results and map interfaces rely heavily on JavaScript rendering. We run full Playwright browser sessions to trigger map pan/zoom events and extract hidden listing IDs that headless HTTP clients miss.
Property portals update their layouts frequently. Our selector strategy uses multiple fallback chains per field — CSS selectors, XPath, and Next.js state extraction — so a frontend update does not break your data pipeline.
For active listings, we maintain a hash index of last-seen values per field. Subsequent runs only push diffs — capturing price drops or status changes without redownloading static images and descriptions.
Every run emits structured logs to our observability stack. We alert on null-rate spikes in critical fields like sold_price or valuation_estimate, and respond before you notice.
PropTech companies train machine learning models on historical transaction data and property characteristics to predict future values.
Real estate funds track yield compression, days on market, and regional price trends to identify undervalued municipalities.
Agencies monitor competitor performance, tracking list-to-sale price ratios and transaction volumes by broker name.
Banks and alternative lenders use BRF financial health indicators and regional price trends to assess mortgage portfolio risk.
Municipalities and developers analyse bidding intensity and demographic shifts to plan new construction projects.
Startups build consumer-facing applications that require real-time alerts for upcoming listings and recent regional sales.
"Booli holds the most comprehensive registry of Swedish property transactions and algorithmic valuations — but extracting it at scale requires dedicated infrastructure."
Most teams underestimate the investment required: reliable Booli scraping requires Swedish residential proxies, full JavaScript rendering for map clusters, CAPTCHA handling, and daily selector maintenance. DataFlirt absorbs that complexity so your engineers can focus on the analysis — not the infrastructure.
Everything supported by our booli.se scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.
Open-source tooling on proven cloud infra — no vendor lock-in, full observability.
Scrapy handles crawl orchestration, deduplication, and retry logic. Playwright handles JavaScript rendering, cookie sessions, and interaction flows. Combined via scrapy-playwright middleware.
We maintain pools of residential ISP proxies specifically located in Sweden. Rotation happens per-request with sticky sessions where required to bypass regional blocking.
Pipelines run on AWS Lambda (burst) and ECS (sustained). Airflow handles scheduling, dependency management, and SLA alerting. All state stored in managed Postgres.
Data delivered to where your team already works — no new tooling required.
About booli.se scraping, legality, and pipeline operations.
Ask us directly →Scraping publicly available information from Booli is generally permissible for analytical purposes. DataFlirt targets only public, non-authenticated property, pricing, and valuation data. We do not extract personal data or circumvent authentication walls. Clients should review Booli's ToS and consult legal counsel for specific commercial use cases.
We use Swedish residential ISP proxies, full Playwright browser sessions with realistic fingerprints, and request timing modelled on human behaviour. We monitor for CAPTCHA rate spikes in real time and trigger solver queues automatically.
Booli maintains extensive historical transaction data. We can extract slutpriser dating back multiple years depending on the municipality, allowing you to build comprehensive time-series datasets.
Real-time streaming pipelines achieve sub-60-minute latency for new listings and price updates on a defined regional set. Full national catalogue refreshes at daily cadence complete within a 4-8 hour window.
Yes. We extract available BRF metrics linked to apartment listings, including total apartments, registration year, debt per square metre, and monthly fee structures.
Our smallest packages start at a defined regional scope (e.g., Stockholm county) with weekly delivery. For national coverage or custom schema requirements, we price based on volume and delivery frequency.
Absolutely. We provide a sample run of up to 500 properties as part of the pre-engagement scoping process — so you can validate schema fit, field completeness, and data quality before signing any contract.
20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off historical transaction dump or a continuous listing feed across Sweden — we scope, build, and operate the pipeline. Tell us what you need.