---
title: "Discover Listings"
method: GET
path: "/api/v1/cd-planner/listings/discover"
tags: ["cd-planner"]
---

# Discover Listings

`GET /api/v1/cd-planner/listings/discover`

## Request

- Base URL: `https://api.casaintelligence.com.au` (the document declares no server; this is the origin it was published from)
- URL: `https://api.casaintelligence.com.au/api/v1/cd-planner/listings/discover`
- Auth: API key in header `X-API-Key`

Surface ACTIVE REA listings matching a development profile.

Filters compose with AND semantics. Result set is ordered by
development_score DESC then last_seen_date DESC, capped at `limit`.
Each row includes the rationale string for the find_opportunities
card (per-listing reason for the match). Returns the same shape
the find_opportunities tool expects so it works whether we call
in anchor mode (from a property page) or preferences mode (from
the dashboard).

## Query parameters

- `council_areas` string, nullable: Comma-separated LGA names (e.g. 'Brisbane,Sunshine Coast').
- `opportunity_type` string, nullable: Dev type filter — subdivision, townhouse, duplex, mcu, kdr, infill. Maps to property_type + score_breakdown signals.
- `budget_min` integer, nullable
- `budget_max` integer, nullable
- `land_area_min` integer, nullable
- `land_area_max` integer, nullable
- `exclude_property_id` string, nullable: When set in anchor mode, omit this property from results so Casa AI doesn't surface the seed listing back to itself.
- `min_score` integer
- `limit` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine.md) · [All operations](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/casaintelligence/apis/casa-intelligence-engine/revisions/71d711039de0?raw)
