# How do I find bank-owned and auction properties in an area?

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

Use the `bank` and `auction` boolean filters. Casafari client accounts search the property graph with `POST /api/v2/properties/search` (`bank` or `auction` true plus `location_ids`) and query alerts with `POST /api/v1/listing-alerts/search`. For price context, the Area Insights tool `ma_get_price_distribution` on the Casafari MCP server accepts the same flags, so you can compare against the whole market.

Products: [Property Sourcing](/docs/property-sourcing), [New Market Leads](/docs/alerts), [Area Insights](/docs/area-insights), [Comparables & Valuation](/docs/comparables-valuation).

## Short answer

`bank` and `auction` are boolean filters in three places:

- `POST /api/v2/properties/search` returns bank properties or auction properties.
- `POST /api/v1/listing-alerts/search` returns alerts from them.
- Every Area Insights data tool accepts both. There, `bank` means the property is owned by the bank and `auction` means it is the subject of an auction.

On the Area Insights tools, `auction` defaults to false, so state it explicitly.

## Steps

### Search: `POST /api/v2/properties/search` with bank or auction true and location_ids

1. Casafari client accounts: send `location_ids` for your area, `bank: true` (or `auction: true`), `types` and `search_operations`. Each result is one property with its price and status history.

### Alerts: `POST /api/v1/listing-alerts/search` with bank or auction, or a feed

2. Casafari client accounts: send `location_ids`, `bank` or `auction` true, `alert_date_from` and `alert_date_to`. You get new bank or auction properties, price cuts and status changes as alerts.
3. For a standing feed: create a feed with `POST /alerts-api/feeds` and a webhook with `PUT /alerts-api/webhooks`. `filters` accepts `bank` and `auction` booleans, which combine with `alert_subtypes`, next to the required `business_type`. Set the webhook before the first feed: without one, creating a feed answers `409` with `No webhook configured`. See the [Create feed](/docs/rest/alerts/create-feed) page for the other keys.

### Context: ma_get_price_distribution twice, with bank true and without, on the same boundary

4. Over MCP: resolve the area with `ma_get_location_typeahead` (English place names).
5. Call `ma_get_price_distribution` with `custom_location_boundary.location_ids`, `type_group`, `business_type` and `bank: true`.
6. Call it again with exactly the same inputs but `bank` left unset.

## Example: bank-owned apartments in Alicante

Ask an assistant connected to the Casafari MCP server: *"How do bank-owned apartment prices in Alicante compare with the market?"* It calls:

1. `ma_get_location_typeahead` with `location_name` "Alicante". Several matches can come back; `administrative_level` and `breadcrumbs` tell them apart, so pick the city.
2. `ma_get_price_distribution` with:

```json
{
  "request_data": {
    "type_group": "apartment",
    "business_type": "sale",
    "custom_location_boundary": { "location_ids": [<ALICANTE_LOCATION_ID>] },
    "bank": true,
    "exclude_outliers": false
  }
}
```

3. The same call without `bank`.

`exclude_outliers` is set to false in both runs. Its default (true) drops significantly underpriced properties, which are exactly what you are looking for.

A Casafari client account then gets the properties themselves from `POST /api/v2/properties/search`:

```json
{
  "search_operations": ["sale"],
  "location_ids": [<ALICANTE_LOCATION_ID>],
  "types": ["apartment"],
  "bank": true
}
```

The accepted values for `search_operations` are on the [Search properties (v2)](/docs/rest/property-sourcing/search-properties-v2) page.

## How to read the result

### If both bank and auction are set, the result combines both (as the field notes say)

On `POST /api/v2/properties/search`, the notes on `bank` and `auction` say that if the other filter is also set, the result combines both. To tell bank stock from auction stock, run them separately. The exact wording is on the operation page.

### Compare price bands against the general market

Each band of `ma_get_price_distribution` has `lower_bound`, `upper_bound`, `properties_count` and `is_mean`, which marks the band holding the mean.

Turn counts into shares of each run's total and compare the two shapes. If the bank run's mean band sits below the market's, bank stock in that area is priced lower.

To check a single property against its neighbours, run `comps_get-comparables` and compare its price with `fair_market_price`.

## Limits

### Flags come from the advertisement data in the graph

`bank` and `auction` reflect how properties are advertised in the sources the graph collects. They do not prove legal ownership, auction terms or charges on the property. Check those before you bid.

### Not available over MCP except the Area Insights context

`POST /api/v2/properties/search` and `POST /api/v1/listing-alerts/search` are for Casafari client accounts. `/alerts-api/feeds` and the Area Insights tools are also available to Casafari clients with their Casafari account; for them and for the property search, self-serve access for new users is coming soon.

The Area Insights tools name no specific market in their descriptions. The property graph is built from sources in 16 countries. No refresh frequency, quotas or prices are published; ask [Casafari](https://www.casafari.com/).

## Questions

### Can I get bank-property alerts to a webhook?

A feed on `POST /alerts-api/feeds`, with `PUT /alerts-api/webhooks`, delivers alerts for its `filters` to your endpoint. `filters` accepts `bank` and `auction` booleans, so a feed can be limited to bank-owned or auction properties. Casafari client accounts can query `POST /api/v1/listing-alerts/search` with `bank` or `auction` set to true at any time.

### Can I see the price history of a bank property?

Yes, with a Casafari client account. `GET /api/v1/properties/search/{property_id}` returns the property and its history. The graph keeps every price change and status change with dates, in `sale_price_history` for sales and `rent_price_history` for rentals. Repeated cuts on a bank property show a lender keen to sell, which helps you judge how far to negotiate.

### Does Area Insights let me compare auction prices with normal prices?

Yes. Every Area Insights data tool accepts `auction`, including `ma_get_price_distribution` and `ma_get_time_series_data`. Run the same request twice on the same boundary and compare the results. Because `auction` defaults to false on these tools, state it explicitly in each run. Set `exclude_outliers` to false so underpriced properties stay in.

### Can I filter new developments the same way?

Partly. `new_development` is a filter on `POST /api/v1/listing-alerts/search`, which returns alerts from new-development properties for Casafari client accounts. The sources show no `new_development` field on `POST /api/v2/properties/search` or on the Area Insights tools. Over those operations, you cannot isolate new developments the way you can bank or auction properties.

All use cases: [Use cases](/docs/use-cases#leads).
