CLI wrapper around Idealista (Spain/Italy/Portugal) rental listings backed by the kimi-webbridge browser daemon. Runs inside the user's real Chrome session — no API key, no login required — and emits JSON on stdout.
| Command | Usage | Returns |
|---|---|---|
search |
idealista-cli search --country spain --city madrid-madrid [--min-rooms 1] [--max-rooms 3] [--min-price 500] [--max-price 1200] [--limit 20] |
{properties: [{id, title, price, rooms, area, ...}]} |
detail |
idealista-cli detail --country spain --url "https://www.idealista.com/inmueble/xxx/" |
{title, price, rooms, bathrooms, area, floor, features, images, ...} |
All output:
{"ok": true, "data": ...}or on failure (non-zero exit):
{"ok": false, "error": {"code": "...", "message": "..."}}kimi-webbridge daemon running on 127.0.0.1:10086 — install from https://www.kimi.com/features/webbridge.
Pre-built binary (recommended): download idealista-cli-{platform}.tar.gz from Releases and extract. macOS users: clear the Gatekeeper quarantine once with xattr -d com.apple.quarantine ./idealista-cli.
Available platforms: darwin-{arm64,amd64}, linux-{amd64,arm64}, windows-{amd64,arm64}.
Build from source (requires Go 1.25+):
go build -o idealista-cli .
./idealista-cli --help./idealista-cli search --country spain --city madrid-madrid --max-price 1200 --limit 3
./idealista-cli detail --country spain --url "https://www.idealista.com/inmueble/106838498/"| Country | Domain | City slugs |
|---|---|---|
| spain | idealista.com | madrid-madrid, barcelona-barcelona, valencia, sevilla |
| italy | idealista.it | roma, milano, firenze |
| portugal | idealista.pt | lisboa, porto |
idealista-cli/
├── main.go
├── browser/client.go # kimi-webbridge HTTP client
├── output/output.go # JSON contract: {ok, data} / {ok, error}
├── property/
│ ├── search.go # search command backend
│ └── detail.go # detail command backend
├── cmd/root.go
└── README.md
MIT — see LICENSE.