# Immobiliare.it API and MCP server

> Immobiliare.it has no public API for listings, messages or visit requests (checked 11 Oct 2026). Agencies get listings onto the portal only through agency management software such as Getrix Multinvio, and everyone else manages listings and Messages by hand in their personal area.

The leading property portal in Italy, where owners and agencies list homes for sale or rent and house hunters search, save listings and contact advertisers.

## What is the Immobiliare.it API?

Cotlet's Immobiliare.it API exposes 12 endpoints for your own Immobiliare.it account: list listings, get listing, list conversations, get conversation, list saved listings, save search, create listing, update listing, delete listing, reply to conversation, contact advertiser and request visit. The list_listings endpoint returns your Published listings with contract, price, address, visibility and number of views. Each endpoint takes simple JSON inputs like listing_id, limit or cursor and works both as an MCP tool for agents and as a REST call for scripts.

- **Category:** [Real estate](https://cotlet.dev/integrations/category/real-estate)
- **Endpoints:** 12 (5 read, 7 write)
- **Updated:** 2026-10-11

Immobiliare.it has no public API for listings, messages or visit requests (checked 11 Oct 2026). Cotlet is a hosted MCP server and REST API for Immobiliare.it with 12 endpoints (5 read, 7 write): your AI agent signs in as you and does the work.

## Does Immobiliare.it have an official API?

Immobiliare.it has no public API for listings, messages or visit requests (checked 11 Oct 2026). Agencies get listings onto the portal only through agency management software such as Getrix Multinvio, and everyone else manages listings and Messages by hand in their personal area.

| Task | Immobiliare.it official | Cotlet |
|---|---|---|
| List your published listings with views | No | Yes |
| Publish a new listing | Partly: Agencies only, sent from their management software | Yes |
| Edit price or description of a listing | Partly: Agencies only, through the same software feed | Yes |
| Delete a listing | No | Yes |
| Read conversations and visit requests in Messages | No | Yes |
| Reply to someone who contacted you | No | Yes |
| Contact an advertiser or request a visit | No | Yes |
| Save a search or read saved listings | No | Yes |

Sources: [Immobiliare.it help: Managing contacts](https://immobiliare.kustomer.support/en_us/managing-contacts-BkxbIp2pa), [Immobiliare.it help: Publish a listing for sale or rent](https://immobiliare.kustomer.support/en_us/publish-a-listing-for-sale-or-rent-SytWRCUsj), [Immobiliare.it help: Request a visit](https://immobiliare.kustomer.support/en_us/request-a-visit-S1UZNZTpi), [Immobiliare.it help: Edit a listing](https://immobiliare.kustomer.support/en_us/edit-a-listing-SJilrkDoo), [Immobiliare.it help: Saving a listing](https://immobiliare.kustomer.support/en_us/saving-a-listing-HkvtoUEkA), [Immobiliare.it help: Save a search and receive alerts on new listings](https://immobiliare.kustomer.support/en_us/save-a-search-and-receive-alerts-on-new-listings-B1A9DUE1C), [Getrix Multinvio: sending listings to portals](https://www.getrix.it/multi-invio-annunci-immobiliari/)

## For AI agents

```text
Immobiliare.it has no public API for listings, messages or visit requests (checked 11 Oct 2026). Agencies get listings onto the portal only through agency management software such as Getrix Multinvio, and everyone else manages listings and Messages by hand in their personal area.
Cotlet provides a hosted MCP server and REST API for Immobiliare.it: 12 tools (5 read, 7 write).
Access       Request access at https://cotlet.dev/app/signup?app=immobiliare; we email the API key.

MCP server   https://cotlet.dev/mcp/v1
REST base    https://cotlet.dev/api/v1/immobiliare
Auth         Authorization: Bearer <COTLET_API_KEY>. Listing endpoints and schemas needs no key; calling an endpoint needs one.
Tools        list_listings, get_listing, list_conversations, get_conversation, list_saved_listings, save_search, create_listing, update_listing, delete_listing, reply_to_conversation, contact_advertiser, request_visit
Confirm      create_listing, delete_listing, reply_to_conversation, contact_advertiser, request_visit (by default the user approves each call; the user can switch this off per tool, e.g. for scheduled automations)
Markdown     https://cotlet.dev/integrations/immobiliare-api-mcp-server.md

How access works:
1. The user requests access at https://cotlet.dev/app/signup?app=immobiliare (Immobiliare.it is pre-selected). Each request is reviewed and the API key is sent by email.
2. The user signs in to Immobiliare.it once in a browser. An agent cannot do this step.
3. The API key goes into the MCP client or the REST call as a bearer token.

Fits: people who want a hosted Immobiliare.it server that someone else maintains, including non-developers.

Policy: Cotlet never stores passwords, never solves CAPTCHAs, never bypasses MFA.
Company: legal details in the Terms of service at https://cotlet.dev/terms. Contact contact@cotlet.dev.
Session: the user signs in to Immobiliare.it in a browser; Cotlet keeps only the session, AES-256 encrypted, revocable in the dashboard at any time.
Terms: the user stays responsible for following Immobiliare.it's terms; Cotlet is not affiliated with Immobiliare.it.
```

## What can an AI agent do in Immobiliare.it?

Cotlet is best for property owners, agents and house hunters who want their AI agent to handle Immobiliare.it messages, listing edits and visit requests without running or fixing a server.

- **[Answer messages and visit requests about a listing](https://cotlet.dev/integrations/immobiliare-api-mcp-server/answer-listing-messages)** (runs: daily): "Answer every new Immobiliare.it message about the Bologna flat in Via Mascarella. I can show it Saturday at 10:00, 11:00 or 12:00, in person only. Do not reply to anyone who offers a deposit before seeing it; list those for me." → `list_conversations`, `get_conversation`, `get_listing`, `reply_to_conversation`
- **[Find listings with views but no enquiries](https://cotlet.dev/integrations/immobiliare-api-mcp-server/listings-without-enquiries)** (runs: weekly): "Every Monday, compare views and messages for each of my Immobiliare.it listings, tell me which ones get looked at but not contacted, and suggest whether to change the price, photos or text." → `list_listings`, `list_conversations`, `get_listing`
- **Change the price of a listing**: "Drop the price of the Turin apartment to 239,000 EUR and update the description to say the kitchen is new." → `list_listings`, `update_listing`
- **[Request visits for saved listings](https://cotlet.dev/integrations/immobiliare-api-mcp-server/request-visits-saved-listings)** (runs: weekly): "Go through the flats I saved on Immobiliare.it, skip removed ones and anything over 300,000 EUR, and request an in-person visit next Saturday or Sunday morning for the rest I have not contacted yet." → `list_saved_listings`, `get_listing`, `list_conversations`, `request_visit`
- **Publish a listing from your details**: "Publish my Milan studio for rent at 950 EUR a month with the photos in ./studio." → `create_listing`

## Can Immobiliare.it automations run on a schedule in n8n, Make or Zapier?

Yes. Cotlet does not replace your automation platform: it gives it a Immobiliare.it connection it does not have, with the same API key as your agent. Write actions ask for your OK by default; switch that off in your dashboard for the tools you choose, for example to answer messages and visit requests about a listing, and the schedule runs on its own. Cotlet runs in the cloud, so it keeps going while your computer is off.

| Where | How to connect | How to schedule |
|---|---|---|
| Your AI agent | Add https://cotlet.dev/mcp/v1 with your API key. | A scheduled agent run, for example a Claude Code routine. |
| n8n | MCP Client node with https://cotlet.dev/mcp/v1, or an HTTP Request node to https://cotlet.dev/api/v1/immobiliare/{tool}. | Schedule Trigger node. |
| Make | HTTP module: POST https://cotlet.dev/api/v1/immobiliare/{tool} with an Authorization: Bearer header and a JSON body. | Scenario schedule. |
| Zapier | Webhooks by Zapier: POST https://cotlet.dev/api/v1/immobiliare/{tool} with the same header and body. | Schedule by Zapier trigger. |
| Your own script | POST https://cotlet.dev/api/v1/immobiliare/{tool} with your API key. | cron or GitHub Actions. |

## Tools

**For AI agents:** Every endpoint and its schema is public. The 12 endpoints on this page, with parameters and example responses, can be listed without an account. Calling one returns 403 until the account has an API key with access to Immobiliare.it.

### list_listings

Your Published listings with contract, price, address, visibility and number of views. Access: read. REST: `POST /api/v1/immobiliare/list_listings`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `contract` | enum | no | sale, rent or all. Default: all. |
| `limit` | integer | no | 1 to 100. Default: 50. |
| `cursor` | string | no | Next page cursor from the previous call. |

Returns the listings in your Published listings, with the number of views the portal shows for each. Filter by sale or rent. Pass next_cursor back as cursor for the next page. Use listing_id from each item in the other tools.

Example response:

```json
{
  "listings": [
    {
      "listing_id": "118734552",
      "title": "Two-room flat, Bologna",
      "contract": "sale",
      "price": 239000,
      "address": "Via Example 5, Bologna",
      "visibility": "BASE",
      "views": 412,
      "url": "https://www.immobiliare.it/annunci/118734552/"
    },
    {
      "listing_id": "118790021",
      "title": "Studio, Milano",
      "contract": "rent",
      "price": 950,
      "address": "Via Example 10, Milano",
      "visibility": "BASE",
      "views": 96,
      "url": "https://www.immobiliare.it/annunci/118790021/"
    }
  ],
  "next_cursor": null
}
```

### get_listing

Full listing: category, type, contract, address, characteristics, price, description, photos, floor plans and URL. Access: read. REST: `POST /api/v1/immobiliare/get_listing`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `listing_id` | string | yes | Your listing ID from list_listings, or any public listing ID. |

Returns one listing as the portal shows it. Works for your own listings and for any public listing, so your agent can read a flat before it asks for a visit.

Example response:

```json
{
  "listing_id": "118734552",
  "category": "residential",
  "property_type": "apartment",
  "contract": "sale",
  "price": 239000,
  "address": "Via Example 5, Bologna",
  "characteristics": {
    "surface_m2": 68,
    "rooms": 2,
    "bathrooms": 1,
    "floor": 2
  },
  "description": "Bright two-room flat near the centre.",
  "photo_count": 12,
  "url": "https://www.immobiliare.it/annunci/118734552/"
}
```

### list_conversations

Conversations in Messages, with the listing, the other person, the last message and any visit request. Access: read. REST: `POST /api/v1/immobiliare/list_conversations`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `listing_id` | string | no | Only conversations about this listing. |
| `limit` | integer | no | 1 to 100. Default: 50. |
| `cursor` | string | no | Next page cursor from the previous call. |

Lists conversations in Messages, most recent first. Filter by listing_id to see only the people who wrote about one listing. Each item flags whether it has a visit request. Pass next_cursor back as cursor for the next page.

Example response:

```json
{
  "conversations": [
    {
      "conversation_id": "c_58210934",
      "listing_id": "118734552",
      "with": "Marco R.",
      "last_message": "Is the flat still available?",
      "last_message_at": "2026-10-10T15:10:00+02:00",
      "has_visit_request": true
    }
  ],
  "next_cursor": null
}
```

### get_conversation

Every message in a conversation, plus the visit request details: in person or remote, days and time slots. Access: read. REST: `POST /api/v1/immobiliare/get_conversation`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `conversation_id` | string | yes | Conversation ID from list_conversations. |

Returns all messages of one conversation, oldest first, so your agent reads the thread in order. If the person asked for a visit, the request shows the mode, the days and the time slots they offered.

Example response:

```json
{
  "conversation_id": "c_58210934",
  "listing_id": "118734552",
  "messages": [
    {
      "message_id": "m_903114100",
      "from": "them",
      "body": "Is the flat still available?",
      "sent_at": "2026-10-10T15:10:00+02:00"
    }
  ],
  "visit_request": {
    "mode": "in_person",
    "days": [
      "2026-10-17"
    ],
    "time_slots": [
      "10:00-12:00"
    ]
  }
}
```

### list_saved_listings

Listings you saved with the heart icon, your notes on them, and whether they were removed. Access: read. REST: `POST /api/v1/immobiliare/list_saved_listings`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `limit` | integer | no | 1 to 100. Default: 50. |
| `cursor` | string | no | Next page cursor from the previous call. |

Returns your saved listings with the note you wrote on each and a removed flag for listings that left the portal. Use ad_id from each item with get_listing, contact_advertiser and request_visit.

Example response:

```json
{
  "saved": [
    {
      "ad_id": "117220481",
      "title": "Three-room flat, Torino",
      "price": 285000,
      "note": "Check the heating",
      "removed": false
    },
    {
      "ad_id": "116004417",
      "title": "Two-room flat, Torino",
      "price": 199000,
      "note": "",
      "removed": true
    }
  ],
  "next_cursor": null
}
```

### save_search

Save a search by name to get an email or notification for every new matching listing. Access: write. REST: `POST /api/v1/immobiliare/save_search`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `name` | string | yes | Name of the saved search. |
| `search_url` | string | yes | Immobiliare.it results URL with your filters set. |

Saves the filters of an Immobiliare.it results URL under a name, as the save search option does. The portal then alerts you to new matching listings. It reaches no one, and the saved search can be removed in your personal area, so it runs without asking.

Example response:

```json
{
  "name": "Torino under 300k",
  "status": "saved"
}
```

### create_listing

Post a new listing with free BASE visibility. It goes live after the editorial review, up to 48 hours. Access: write, asks the user first. REST: `POST /api/v1/immobiliare/create_listing`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `category` | string | yes | Property category, e.g. residential or commercial. |
| `property_type` | string | yes | Type within the category, e.g. apartment, villa, office. |
| `contract` | enum | yes | sale or rent. |
| `address` | string | yes | Street address and town of the property. |
| `characteristics` | object | yes | Surface, rooms, bathrooms, floor and other features. |
| `price` | integer | yes | Price in EUR; monthly rent for rentals. |
| `description` | string | yes | Listing text. |
| `photo_urls` | string[] | no | Photos to upload, by URL. |
| `floor_plan_urls` | string[] | no | Floor plans to upload, by URL. |

Creates a listing from the details you give and returns its ID with status in_review. The portal reviews it before it goes live, which can take up to 48 hours. Photos and floor plans are uploaded from the URLs you pass. By default you confirm each call; you can switch that off for this tool.

Example response:

```json
{
  "listing_id": "118790021",
  "status": "in_review",
  "visibility": "BASE",
  "url": "https://www.immobiliare.it/annunci/118790021/"
}
```

### update_listing

Change fields of one of your listings, as with Edit this listing. Access: write. REST: `POST /api/v1/immobiliare/update_listing`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `listing_id` | string | yes | Listing ID from list_listings. |
| `fields` | object | yes | Any of price, description, characteristics, photo_urls, floor_plan_urls. |

Changes only the fields you pass and returns the updated values. The listing keeps its ID and URL. It reaches no one directly and the old value goes back with one more call, so it runs without asking.

Example response:

```json
{
  "listing_id": "118734552",
  "updated": [
    "price",
    "description"
  ],
  "price": 239000,
  "status": "online"
}
```

### delete_listing

Remove one of your listings from the portal for good. Access: write, asks the user first. REST: `POST /api/v1/immobiliare/delete_listing`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `listing_id` | string | yes | Listing ID from list_listings. |

Deletes the listing from the portal. It cannot be undone with another call; you would publish it again. By default you confirm each call; you can switch that off for this tool.

Example response:

```json
{
  "listing_id": "118790021",
  "status": "deleted"
}
```

### reply_to_conversation

Send a reply as you in a Messages conversation. Access: write, asks the user first. REST: `POST /api/v1/immobiliare/reply_to_conversation`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `conversation_id` | string | yes | Conversation ID from list_conversations. |
| `body` | string | yes | Reply text. |

Sends a message in an existing conversation under your name and returns its ID and time. By default you confirm each call; you can switch that off for this tool.

Example response:

```json
{
  "conversation_id": "c_58210934",
  "listing_id": "118734552",
  "message_id": "m_903114208",
  "sent_at": "2026-10-10T16:42:00+02:00",
  "status": "sent"
}
```

### contact_advertiser

Send a first message to whoever posted a listing; the conversation then lives in Messages. Access: write, asks the user first. REST: `POST /api/v1/immobiliare/contact_advertiser`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `ad_id` | string | yes | ID of any public listing on immobiliare.it, from its URL (/annunci/{id}/). |
| `body` | string | yes | Message text. |
| `phone` | string | no | Phone number to be contacted at. Optional. |

Writes to the advertiser of one public listing, as the contact form does. The conversation then appears in list_conversations. By default you confirm each call; you can switch that off for this tool.

Example response:

```json
{
  "conversation_id": "c_58301177",
  "ad_id": "117220481",
  "status": "sent",
  "sent_at": "2026-10-10T17:05:00+02:00"
}
```

### request_visit

Ask the advertiser for a viewing. Not a booking: they contact you to confirm. Access: write, asks the user first. REST: `POST /api/v1/immobiliare/request_visit`.

| Parameter | Type | Required | Description |
|---|---|---|---|
| `ad_id` | string | yes | ID of any public listing on immobiliare.it, from its URL (/annunci/{id}/). |
| `mode` | enum | yes | in_person or remote (video call with the agent). |
| `days` | string[] | yes | Days you are available, as YYYY-MM-DD. |
| `time_slots` | string[] | yes | Time slots you are available, as offered on the form. |

Sends a visit request with the mode, the days and the time slots you are free. It is a request, not a booking: the advertiser contacts you to confirm. Time slots are those the form offers. By default you confirm each call; you can switch that off for this tool.

Example response:

```json
{
  "ad_id": "118734552",
  "mode": "remote",
  "days": [
    "2026-10-19",
    "2026-10-20"
  ],
  "time_slots": [
    "18:00-19:00"
  ],
  "status": "requested"
}
```

## How do I connect Immobiliare.it to Claude Code, Codex or Cursor?

Connecting Immobiliare.it takes three steps: request access, sign in to Immobiliare.it once, then add one MCP server or call the REST API with the same key.

### Connect Immobiliare.it to your agent.

1. **Create an account** Sign up and add Immobiliare.it in the console. Your API key is there too.

2. **Sign in to Immobiliare.it once** Open the connect page from the console and sign in to Immobiliare.it the way you always do. We keep the session, never your password, and you can revoke it anytime.

3. **Add Cotlet to your agent** Paste the snippet for your client. The same server and key serve every app you connect, so you do this once.

   Claude Code:

```
claude mcp add --transport http cotlet \
  https://cotlet.dev/mcp/v1 \
  --header "Authorization: Bearer $COTLET_API_KEY"
```

   Cursor:

```
{
  "mcpServers": {
    "cotlet": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": {
        "Authorization": "Bearer ${COTLET_API_KEY}"
      }
    }
  }
}
```

   Codex:

```
# ~/.codex/config.toml
[mcp_servers.cotlet]
url = "https://cotlet.dev/mcp/v1"
bearer_token_env_var = "COTLET_API_KEY"
```

4. **Ask your agent** Ask in plain words. Your agent finds the Immobiliare.it tools on the server and calls them for you; anything that reaches other people waits for your OK unless you switch that off for a tool.

```
Answer every new Immobiliare.it message about the Bologna flat in Via Mascarella. I can show it Saturday at 10:00, 11:00 or 12:00, in person only. Do not reply to anyone who offers a deposit before seeing it; list those for me.
```

### Call Immobiliare.it from your scripts.

1. **Export your API key** Your scripts use the same API key as your agent. Keep it in an environment variable, never in your code.

```
export COTLET_API_KEY="cotlet_..."
```

2. **Call a tool** Every tool is a POST endpoint at /api/v1/immobiliare/{tool}. Send its parameters as JSON, exactly as listed in the endpoints above.

```
curl https://cotlet.dev/api/v1/immobiliare/reply_to_conversation \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"conversation_id":"c_58210934","body":"Hello, the flat is still available. I can show it on Saturday at 10:00 or 11:30. Which suits you?"}'
```

3. **Read the result** You get plain JSON back, ready for your script. A failed call costs nothing.

```
{
  "conversation_id": "c_58210934",
  "listing_id": "118734552",
  "message_id": "m_903114208",
  "sent_at": "2026-10-10T16:42:00+02:00",
  "status": "sent"
}
```

## Why use Cotlet for Immobiliare.it?

**Built for agents**

- One MCP server for every app you connect.
- The same tools as a REST API for scripts and cron jobs.
- Works with Claude Code, Codex and Cursor.

**Your login stays yours**

- You sign in to Immobiliare.it yourself. We keep only the session, encrypted with AES-256.
- The model never sees a login.
- No stored passwords, no CAPTCHA solving, no MFA bypass.

**You stay in control**

- Pick read only, or read and write.
- Anything that reaches other people waits for your OK, unless you switch it off per tool.
- Revoke access in one click.

**Kept working for you**

- We test every integration daily.
- When Immobiliare.it changes, the tool pauses until we fix it.
- Failed calls cost nothing.

## Is there a Immobiliare.it MCP server on GitHub?

Hosted scrapers read public Immobiliare.it search results, listings and agency pages. None of them signs in, so your own listings, Messages and saved listings are out of reach. For publishing, agencies use management software feeds.

|  | Hosted scraper | Cotlet |
|---|---|---|
| Setup | Account on the scraper service, paste search or listing URLs | Request access, sign in to Immobiliare.it once in your browser |
| Your listings and Messages | Not reachable: public pages only, no login | Your listings, their views, conversations and visit requests |
| Write actions | None | Publish, edit, reply and request visits, each message confirmed by you by default |
| When Immobiliare.it changes | Wait for the scraper author | Our team tests it daily and fixes it for you; failed calls are free |
| Your session | Not used: no sign-in | Encrypted in an EU vault, never your password, revoked in one click |
| Where it runs | The scraper service, results as a dataset | Hosted: Claude Code, Codex, Cursor, n8n and scripts, also on a schedule |
| Price | Pay per result, public data only | Free 7-day trial with 5,000 credits, then credits per call |

### Which one fits you

**Pick Cotlet if**

- you are not a developer, or you do not want to maintain a server
- you need it to keep working when Immobiliare.it changes, without checking it yourself
- your agent or a script should run it on a schedule, also while your computer is off

**Pick an open-source server if**

- you are comfortable installing, updating and fixing it yourself
- you want the session to stay on your own computer
- you only need it now and then, from one MCP client

## How much does the Immobiliare.it API cost?

Free 7-day trial with 5,000 credits, no card needed. After that, the Immobiliare.it API comes with the Cotlet plan, from $29 a month for 3,000 credits, with no limit on apps. Each month's credits stay valid for 3 months, so unused credits add up.

| Size | Price | Credits / month | Per credit |
|---|---|---|---|
| Solo | $29/mo | 3,000 | about $0.0097 |
| Pro | $99/mo | 12,000 | about $0.0083 |
| Agency | $299/mo | 40,000 | $0.0075 |

Each successful call uses credits for the work it takes; failed calls and timeouts cost nothing. A hard spend cap is on by default. Authenticate with the `Authorization: Bearer` header. [See full pricing](https://cotlet.dev/pricing)

## How Cotlet holds your access

Cotlet hosts MCP servers and REST APIs for apps with no usable API. Your agent works in your own Immobiliare.it account.

- **Company details:** The legal name, address and registration numbers of the company behind Cotlet are in the Terms of service. [Terms](https://cotlet.dev/terms)
- **Your session:** You sign in to Immobiliare.it yourself, in your browser. We keep only the session, never your password: encrypted with AES-256 in an EU vault, isolated to your account and used only when your agent calls a Immobiliare.it tool you allowed. When it expires, your agent gives you a link to sign in again. [Security](https://cotlet.dev/security)
- **Revoking access:** Disconnect Immobiliare.it in your dashboard: the session is deleted and access ends at once. Actions that reach other people wait for your OK unless you switch that off per tool.
- **What we never do:** Store passwords, solve CAPTCHAs or bypass MFA.
- **Immobiliare.it's terms:** You use your own Immobiliare.it account and stay responsible for following Immobiliare.it's terms. Cotlet is independent and not affiliated with Immobiliare.it. [Terms](https://cotlet.dev/terms)
- **Contact:** Questions about the company, security or an app: [contact@cotlet.dev](mailto:contact@cotlet.dev)

## Frequently asked questions

**How do I get access?**

Request access and pick Immobiliare.it. Cotlet reviews each request and emails you your API key.

**Do I need to be technical?**

No. You sign in to Immobiliare.it once in your browser and paste one command into your agent, or one URL into n8n. Your agent can walk you through it. There is no server to install, update or fix.

**Is a hosted server safe? My Immobiliare.it session would leave my computer.**

Cotlet keeps your Immobiliare.it session encrypted with AES-256 in an EU vault, isolated to your account and used only for the tools you allow: read only, or read and write. The AI model never sees it, and you revoke it in one click. A local server keeps the same session in a file on your computer, readable by any program you run, and needs a fresh sign-in whenever it expires.

**Does it work with an agency account or only a private one?**

The tools follow the personal area (Published listings, Messages, saved listings). Whether an agency account exposes the same screens is not stated in the Immobiliare.it help center (checked 11 Oct 2026), so we confirm it per account when you request access.

**Can my agent post or send messages in Immobiliare.it without asking me?**

No. Every call to create_listing, delete_listing, reply_to_conversation, contact_advertiser or request_visit waits for your OK by default. For scheduled automations you can switch confirmation off per tool in your dashboard, for example only for approvals. save_search, update_listing runs without asking, because it sends nothing to anyone and one call undoes it.

**Can I use the Immobiliare.it API in n8n?**

Yes. Add https://cotlet.dev/mcp/v1 with your API key in n8n's MCP Client node, or call https://cotlet.dev/api/v1/immobiliare/{tool} from the HTTP Request node.
