360 Secure SkillHub
360 安全技能中心

booli

核心功能为对接瑞典房产平台Booli,支持地名转区域ID,可按价格、面积、房型、建造年代等多维度筛选,查询在售房源详情、历史成交记录(含实际成交价、溢价率)、片区市场统计指标(成交中位价、平米均价等),适用于查询瑞典各类房产的在售信息、成交参考、片区行情。因站点反爬限制,需配合指定Chrome桥接扩展访问,输入支持自由地名或区域ID,输出货币为瑞典克朗、面积为平方米,所有工具为只读查询。

chrischall
chrischall
热度 60.86
最近更新 2026-10-10 07:25:48
分类:搜索依赖:联网浏览搜索 / 第三方 API / MCP 服务应用场景:市场分析 / 研究 / 推荐

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add booli
Metadata
name
booli
description
Search and analyse Swedish real estate on booli.se — active for-sale listings, sold prices (slutpriser), area resolution, and market statistics. Use when the user asks about Swedish property, Booli, bostäder, lägenheter, villor, or slutpriser.

Booli (booli.se)

Tools for the Swedish property portal Booli, reading its consumer GraphQL API. Money is in SEK, areas in m², rooms as a number.

Setup — the browser bridge

booli.se is behind a Cloudflare bot wall that blocks server-side requests, so booli-mcp routes each query through your own signed-in www.booli.se browser tab via the fetchproxy bridge (the ContextMint Bridge extension). No Booli login is needed — just a normal, Cloudflare-cleared page view.

  • Install ContextMint Bridge from https://github.com/nullnet-app/contextmint-bridge/releases (Chrome: load the chrome zip unpacked; Safari isn't available yet — use Chrome for now) and keep a www.booli.se tab open in that browser. On the first request, approve the one-time pairing prompt. It's the fetchproxy extension renamed, same maintainer; source at https://github.com/nullnet-app/contextmint-bridge (build it, or verify a release zip with its published .sha256).
  • BOOLI_TRANSPORT picks the path: auto (default — tries a direct fetch first, falls back to the bridge when walled), fetchproxy (always the bridge), direct (fail if walled). The fleet shares WS port 37149 (BOOLI_WS_PORT).
  • Run booli_healthcheck to confirm the path is working.

Start with an area

Booli's searches scope by a numeric area id, not a place name. Resolve first, or pass a free-text location and the search tools resolve the top hit for you.

  1. booli_search_areas — { query: "Nacka" } → areas with area_id and display_name. Pass an area_id into the search tools.

For-sale listings

  • booli_search_listings — search active listings by area_id or free-text location, plus optional min_list_price/max_list_price (SEK), min_list_sqm_price/max_list_sqm_price, min_rooms/max_rooms, min_living_area/max_living_area (m²), min_plot_area/max_plot_area, object_type (comma-separated: Lägenhet, Villa, Kedjehus-Parhus-Radhus, Fritidshus, Gård, Tomt/Mark), min_construction_year/max_construction_year, is_new_construction, sort + ascending. Paginated by page — check total_count/pages. Returns slim summaries by default (compact: false for full raw records).
  • booli_get_listing — full detail for one property by its residence id (the number in a booli.se/bostad/ URL, or a result's residence_id). Works for both active and sold properties.

Sold prices (slutpriser) — the comparables

  • booli_search_sold — sold properties with the achieved sold price, sold date, and over/under-asking %. Same scope/filters as the for-sale search, plus min_sold_price/max_sold_price, min_sold_sqm_price/max_sold_sqm_price, and min_sold_date/max_sold_date (YYYYMMDD). sort also accepts soldDate/soldPrice; the default is soldDate descending (most recent sales first), as for booli_market_stats.
  • booli_market_stats — median/average sold price, price per m², and average over/under-asking % for an area (same filters as the sold search, over ONE page — page/pages say which; total_count is the whole matching set, not the sample). sample_size is the rows on the page and sold_price_count/price_per_sqm_count/price_change_count the rows behind each metric — check them before trusting a thin median.

Diagnostics

  • booli_healthcheck — one-call probe of the data path (direct or bridge).

All tools are read-only.