# `agentgraph_screen_agencies`

> **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).

Screen agencies in an area. Product: [AgentGraph AI](/docs/agentgraph). Annotations: Read-only.

Call it as `agentgraph_screen_agencies` on `https://mcp.casafari.com/` (the backend's own name is `screen_agencies`).

Over REST: no operation in the public API description does this. [MCP and REST compared](/docs/parity#agentgraph-ai).

## Description

Ranks the real estate agencies active in a German area against partner profiles: franchise offices losing momentum and growing independent agencies (solo brokers and small teams of about 2-10). Each result has its figures (active homes, new homes per quarter, momentum, exits and days on market, price cuts, postcodes), the profile signals it meets and misses, its team, and contacts. Use this to find agencies worth partnering with.

## Parameters

- `location` (string | integer, optional): A German city, district or state by name ("München", "Hamburg-Altona", "Bayern") or a location id from find_location. A 5-digit value is read as a postcode.
- `zipcodes` (string[], optional): Limit to these postcodes (with or without a location). at most 200 items; pattern `^\d{5}$`.
- `profile` (string | string[], optional): Profiles to match: franchise_office_losing_momentum, growing_independent; "all" (default) for any of them, or "none" to rank every broker by volume using filters only.
- `operation` (string, optional): Sales listings (default) or rentals. Values: `sale`, `rent`. default "sale".
- `limit` (integer, optional) 1–50; default 20.
- `filters` (object, optional): Optional thresholds applied on top of the profiles (or alone with profile "none"). Percent values are whole numbers.
  - `min_active_homes` (integer, optional) ≥ 0.
  - `max_active_homes` (integer, optional) ≥ 0.
  - `min_exits_last_12m` (integer, optional) ≥ 0.
  - `min_momentum_pct` (number, optional)
  - `max_momentum_pct` (number, optional)
  - `min_median_days_on_market` (integer, optional) ≥ 0.
  - `max_median_days_on_market` (integer, optional) ≥ 0.
  - `min_price_cut_share_pct` (number, optional) 0–100.
  - `max_postcodes` (integer, optional) ≥ 1.
  - `min_top_postcode_share_pct` (number, optional) 0–100.
  - `brand_kinds` (string[], optional) Values: `independent`, `franchise`, `bank_network`, `digital_brokerage`.
  - `exclude_brands` (string[], optional)
  - `min_team_size` (integer, optional): Agencies only: named people on its listings. ≥ 0.
  - `max_team_size` (integer, optional): Agencies only. ≥ 0.
- `client_brand` (string, optional): Your own network's name, if you are one. Its offices and agents are not offered as matches from "another network's franchise".

## Example call

Required arguments only, with placeholder values; see the parameters above for real ones.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "agentgraph_screen_agencies",
    "arguments": {
      "location": "…"
    }
  }
}
```

## Questions about this

- [Does Casafari cover Germany?](/docs/faq/coverage-germany)
- [What is AgentGraph AI?](/docs/faq/what-is-agentgraph)
- [How do I find agencies or agents to partner with in a German city?](/docs/faq/example-find-agencies-germany)
