[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Buildium API and MCP server: Let your AI agent work your Buildium rent roll.

> Buildium has an official REST API, the Open API, on the Premium plan only, and no official MCP server (checked 27 Oct 2026). The API covers leases, ledgers, tasks and announcements but not two-way texts or reports. Cotlet runs 13 tools hosted on any plan, over MCP for agents and REST for scripts.

Connect Buildium property, lease and task records to your reporting workflow. Use an AI agent through MCP or REST from automation tools and scripts.

[MCP setup](https://cotlet.dev/integrations/buildium-api-mcp-server.md#connect)
[REST API guide](https://cotlet.dev/integrations/buildium-api-mcp-server.md#rest-api)

- Free 7-day trial, no card
- Unofficial, not affiliated with Buildium or RealPage
- Page: https://cotlet.dev/integrations/buildium-api-mcp-server

## What can you automate in Buildium?

- Record check and cash rent payments
- Text tenants with an outstanding balance
- Answer resident text messages
- Log maintenance requests and send work orders
- Announce a building notice to tenants
- Weekly delinquency summary

## Does Buildium have an MCP server or an API?

- Buildium's developer guide: "To take advantage of the Buildium Open API you must have a Premium Subscription." Premium starts at $400 a month, Growth at $192, Essential at $62.
- An administrator turns the API on under Settings > Application settings > Api settings and creates a client ID and secret. A key can be limited to read-only.
- Texts with residents live in Communication > Messages and reports in the Reports menu. The Open API reference has neither.
- We found no Buildium app on Zapier or Make and no native n8n node. They reach Buildium only through the Open API.

| What you need | Open API | GitHub server | Cotlet |
|---|---|---|---|
| Works on Essential and Growth | Premium only | Needs the Open API | Yes, any plan |
| Leases, ledgers, payments, work orders | Yes, on Premium | Yes, on Premium | Yes |
| Two-way texts with residents | No endpoint | No endpoint | Yes, after your OK |
| Delinquent tenants report | No report endpoints | No report endpoints | Yes |
| Allowed by Buildium | Yes, official | Yes, official API | Uses the web app |

Checked 27 Oct 2026. Sources: [Buildium Open API developer guide and reference](https://developer.buildium.com/), [Buildium pricing (Open API on Premium)](https://www.buildium.com/pricing/), [Buildium Help: How do I add tenant payments?](https://help.buildium.com/hc/s/article/How-do-I-add-tenant-payments-1557495015924), [Buildium Help: Delinquent tenants report](https://support.buildium.com/hc/en-us/articles/200749797-Delinquent-tenants-report)

## How does Cotlet connect to Buildium?

1. **Sign in to Buildium.** Use your own account in its Cotlet Cloud Browser.
2. **Choose MCP or REST.** Connect your agent or create a Cotlet API key.
3. **Run your workflow.** Ask your agent or send an HTTP request.

We never keep your Buildium password, and no payment, text or work order goes out until you approve it.

## Connect Buildium to your agent or workflow

Use MCP with your AI agent, or HTTP requests in n8n, Make, Zapier and scripts. Follow the MCP setup below or jump to the REST guide.

1. **Enable Buildium for agents.** Sign up, sign in to Buildium in its Cloud Browser with your staff login, then press Enable for agents.
2. **Add the Cotlet address.** Put https://cotlet.dev/mcp/v1 in your agent as an MCP server or connector.
3. **Allow the connection.** Chat apps send you to a Cotlet sign-in. Code editors, n8n and scripts take an API key from the console.

The shared address `https://cotlet.dev/mcp/v1` carries Buildium next to your other apps. Your agent can do what your Buildium user role allows, so a staff login without accounting rights cannot record payments here either. If you enable Buildium after connecting, refresh the connector to load the new tools.

Claude:

```
Settings > Connectors > Add custom connector
URL: https://cotlet.dev/mcp/v1/connect

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

ChatGPT:

```
Settings > Apps & Connectors > Create
MCP server URL: https://cotlet.dev/mcp/v1/connect
Authentication: OAuth
```

Cursor:

```
// ~/.cursor/mcp.json
{
  "mcpServers": {
    "cotlet-buildium": {
      "url": "https://cotlet.dev/mcp/v1",
      "headers": { "Authorization": "Bearer ${env:COTLET_API_KEY}" }
    }
  }
}
```

Codex:

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

n8n:

```
MCP Client Tool (inside an AI Agent)
Transport: HTTP Streamable
URL: https://cotlet.dev/mcp/v1
Auth: Bearer, <your key>
Tool: buildium_read
```

Make, Zapier:

```
Make: MCP Client > Call a tool
Zapier: MCP Client by Zapier > Run Tool
Server URL: https://cotlet.dev/mcp/v1
Token: <your key>
Tool: buildium_write
```

## How to use the Buildium REST API

### Create your Cotlet API key

Sign in to Buildium in its Cotlet Cloud Browser and enable the app for agents. Your staff role determines accessible properties and records; complete two-step verification yourself.

Create a Cotlet API key with access to Buildium and its read operations. Store it as `COTLET_API_KEY` in your environment or automation platform's credential store.

### Make your first Buildium API request

cURL: list_properties:

```
curl https://cotlet.dev/api/v1/buildium/properties \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

### Read properties before leases and balances

A successful REST call puts the tool output in `result`. This illustrative response excerpt omits call IDs, messages and credit details.

Illustrative response excerpt:

```
{
  "status": "success",
  "app": "buildium",
  "tool": "list_properties",
  "result": {
    "properties": [
      {
        "property_id": "48213",
        "name": "Maple Court",
        "address": "120 Maple St, Springfield",
        "units": 12
      }
    ],
    "next_cursor": null
  }
}
```

Read `result.properties` and pass `result.next_cursor` unchanged as `cursor` until null. Keep the search unchanged; property lists expose no page-size input.

Use returned property IDs for lease reads. Active leases and open tasks are the defaults; follow their returned cursors with filters fixed.

Rent, balance and ledger amounts are decimal strings, not cents. Preserve their precision and account currency context; ledger reads default to the last 90 days without a cursor.

### Buildium workflows for agents and automations

| Tool | Connect through | Example workflow |
|---|---|---|
| n8n | HTTP Request | Read properties and leases into a rent-roll report with lease dates and decimal-string balances. |
| Make | HTTP > Make a request | Combine outstanding balances and lease ledgers into an arrears review without payments or reminders. |
| Python or Node.js | REST API | Read open tasks and unanswered resident texts into a maintenance review queue without sending messages. |

Send `Authorization: Bearer <your Cotlet API key>` in request headers. You configure the schedule, destination and record comparisons.

Cotlet reads Buildium; your workflow steps write to your chosen destination. These HTTP workflows do not require a native Cotlet connector or a prebuilt template.

Python and Node.js can use the same HTTP requests without an AI agent. Keep access keys in credentials, outside shared workflow exports.

The [API and MCP reference](https://cotlet.dev/integrations/buildium-api-mcp-server.md#tools) lists operations and inputs. The [REST API guide](https://cotlet.dev/docs/api.md) explains authentication, errors and approvals.

## Buildium API endpoints and MCP tools

### Rent roll and ledgers

Payments and charges change what a tenant owes, so both wait for your OK. Buildium pays the largest open charge first unless the lease has its own allocation.

- **List properties** (`list_properties`, read): Your rental properties with address and unit count.
- **List leases** (`list_leases`, read): Leases from the Rent roll with unit, tenants, rent, dates and balance.
- **List outstanding balances** (`list_outstanding_balances`, read): Leases with an outstanding balance as of today, largest first.
- **Get lease ledger** (`get_lease_ledger`, read): Charges, payments and credits on one lease, oldest first, with the running balance.
- **Get Delinquent tenants report** (`get_delinquent_tenants_report`, read): Buildium's Delinquent tenants report: who owes what as of a date, with the last payment.
- **Record lease payment** (`record_lease_payment`, write, asks first): Record a payment received by check, cash or money order on a lease ledger.
- **Post lease charge** (`post_lease_charge`, write, asks first): One-time charge on a lease, such as a utility bill or a repair the tenant pays.

### Resident messages

Texts go only to residents who opted in, at most 10 per message. An announcement over 140 characters goes out without a text, and announcement texts reach US numbers only.

- **List text messages** (`list_text_messages`, read): Two-way text conversations with residents from Communication > Messages.
- **Send text message** (`send_text_message`, write, asks first): Text up to 10 residents who opted in, each as a separate message.
- **Send announcement** (`send_announcement`, write, asks first): Announcement to the residents of chosen properties by email, text and Resident Center.

### Tasks and work orders

A task reaches nobody and runs at once. A work order assigns an outside vendor, so it asks first.

- **List tasks** (`list_tasks`, read): Tasks from Tasks > All tasks with type, status, property and assignee.
- **Create task** (`create_task`, write): New to-do or resident request task for a property or unit.
- **Add work order** (`add_work_order`, write, asks first): Work order on an existing task, assigned to a vendor.

Inputs, REST path and example response of every tool: https://cotlet.dev/integrations/buildium-api-mcp-server#tools

## Who can see my Buildium session, and how do I revoke it?

- **What we store.** Your signed-in Buildium browser profile, AES-256-GCM encrypted, in Finland. Never the password.
- **What your agent gets.** The 13 Buildium tools, not the session cookie.
- **What the session sees.** What your staff role sees: properties, leases, ledgers, tasks and resident messages.
- **What no tool touches.** Bank accounts, ePay settings, owner payouts, user roles and deleting records.
- **If Buildium asks to verify.** A code for a new device goes to you. You type it, we never do.
- **How to cut access.** Disable for agents, reset the browser, or sign out in Buildium.

Our site scores A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory ([live results](https://cotlet.dev/security.md)). We have no SOC 2 report or third-party pentest yet.

## Is it against Buildium's terms? Account safety

> Use any robot, spider, crawler, deep-links, data-mining, data-gathering, extraction tool, or other automatic device...
>
> [Buildium Website Terms of Use, 2.7, last updated 6 Aug 2025](https://www.buildium.com/website-terms-of-service/)

That clause is from the terms of buildium.com. Section 19 says the software itself runs under separate customer Terms of Use, which win where the two differ, and those sit behind a Buildium login. Read them in your account before you start. On Premium, the Open API is the route Buildium offers. We found no public case of a Buildium account closed for automation (checked 27 Oct 2026). Buildium is part of RealPage.

How we keep your account looking like you:

- Your own Buildium staff login, signed in by you
- One Cloud Browser with its own IP and cookies, no new device on every call
- Payments, charges, texts and work orders wait for your OK
- If Buildium objects, we pause the Buildium tools for everyone within 24 h

> Tenants' ledgers are money. Read the draft amounts before you approve a batch of payments, and keep the check numbers in the reference field so the deposit matches.

## What happens when Buildium changes?

- **12 h** between tests of the Buildium reads
- **24 h** between tests of payments, texts and work orders
- **$0** for a call to a Buildium tool paused for repair

Buildium reworked its reports in 2025 with new filters and columns. When a screen or a report moves like that, we fix the tool and your prompts keep working. [status.cotlet.dev](https://status.cotlet.dev) checks the site, console and API every 3 minutes.

## Approvals, undo and mistakes

1. **Finds the lease.** list_leases matches the unit or name on the check.
2. **Reads the ledger.** get_lease_ledger shows a payment already entered, so it is skipped.
3. **Waits for your OK.** The payment shows up in your Cotlet console first.
4. **Reports the balance.** Charges paid and what the tenant still owes.

| Action | Undo |
|---|---|
| Record a payment | Reverse it on the lease ledger in Buildium |
| Post a charge | Edit or delete the charge on the ledger |
| Create a task | Delete the task in Tasks |
| Add a work order | Edit or close it; a vendor who saw it already knows |
| Send a text | No, the resident has it |
| Send an announcement | Expire it from the Resident Center; emails and texts are out |

5 of 13 tools ask first: record_lease_payment, post_lease_charge, add_work_order, send_text_message and send_announcement, the ones that move money or reach a tenant or a vendor. Reads and create_task run at once. Switch the wait off per tool for a scheduled run.

> Buildium charges late fees from the ledger dates, so the payment date is the day the check was in hand, not the day it was entered.

MCP call:

```
{
  "name": "record_lease_payment",
  "arguments": {
    "lease_id": "90517",
    "amount": "1450.00",
    "date": "2026-10-27",
    "method": "check",
    "reference": "1042"
  }
}
```

REST:

```
curl -X POST https://cotlet.dev/api/v1/buildium/leases/90517/payment \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount":"1450.00","date":"2026-10-27","method":"check","reference":"1042"}'
```

Tool output:

```
{
  "payment_id": "7781204",
  "lease_id": "90517",
  "amount": "1450.00",
  "date": "2026-10-27",
  "method": "check",
  "reference": "1042",
  "applied_to": [
    {
      "charge": "Rent October 2026",
      "amount": "1450.00"
    }
  ],
  "balance": "0.00"
}
```

A script or a cron job calls the same tools over REST at `/api/v1/buildium`, with the same key and price. A failed call is free. Each tool in the table above lists its REST path.

## How much does the Buildium MCP server cost?

**About $24 a month** for a manager with about 120 units, 4,090 credits. Buildium still bills your plan as before.

| Job | Calls | Credits |
|---|---|---|
| Record a check or cash payment | 3 × 25 | 750 |
| Text tenants with a balance | 7 × 4 | 280 |
| Answer resident texts | 4 × 22 | 880 |
| Log a request and work order | 3 × 20 | 600 |
| Announce a building notice | 2 × 2 | 40 |
| Delinquent tenants report | 1 × 4 | 40 |
| Cloud Browser, 30 days |  | 1,500 |
| Total |  | 4,090 |

- Free 7-day trial, no card
- 10 credits per successful call, MCP or REST
- 50 credits a day for the Cloud Browser
- No Premium upgrade, only your staff login

The month is our example: 25 checks, texts on every workday and 20 work orders. Buildium's own plans start at $62, $192 or $400 a month, and only Premium includes the Open API. Dollars at the $29 pack rate.

## Buildium MCP server: Open API, GitHub or hosted

| Option | What it does | Where it stops |
|---|---|---|
| [Buildium Open API](https://developer.buildium.com/) | Official REST API with webhooks and a sandbox: leases, ledgers, tasks, work orders, announcements, template emails. | Premium plan only, set up by an administrator. No texts, no reports, no MCP server. |
| [luthersystems/mcp-server-buildium](https://github.com/luthersystems/mcp-server-buildium) | Community server, 7 stars, last push 23 Oct 2026, 81 tools in 12 categories. | Runs on the Open API with your client ID and secret, so Premium only. |
| [blackwaxxx/Buildium-MCP](https://github.com/blackwaxxx/Buildium-MCP) | Community server on PyPI, last push 23 Sep 2026, all API operations through 19 tools, sandbox by default. | Same API, same plan and the same gaps. |
| [sirakinb/Buildium-MCP-Server-CLI](https://github.com/sirakinb/Buildium-MCP-Server-CLI) | Community server, 455 tools in 24 categories. | Last push 11 Jun 2026. |
| Hosted browser agents and API connectors | Paid services that sign in for you or call the Open API. | Some store your Buildium password; Cotlet keeps only the session. |

If you are on Premium and need leases, ledgers or work orders, a community server on the Open API is free and sanctioned, and you keep it running. Cotlet is for Essential and Growth accounts, and for texts and reports on any plan.

## Who runs Cotlet

Take Group sp. z o.o. runs Cotlet, a software company registered in Poland, EU (VAT PL6342984273), working since 2019 and founded by Bart Krawczyk (Co-founder, CTO) and Jake Slugocki (Co-founder, SEO, sales and marketing). Questions about the Buildium tools go to contact@cotlet.dev.

## Buildium API and MCP: questions

### Can I use the Buildium API without an AI agent?

Yes. Call Cotlet's REST API from a script or an HTTP step in n8n, Make or Zapier with your Cotlet key. MCP is the alternative for AI agents; you do not need to connect an agent to use REST.

### How do I get access?

Create a free account at https://cotlet.dev, open Buildium under Integrations in the console and sign in to Buildium in its Cloud Browser. The trial starts with your first app, no card asked.

### Do I need Buildium's Premium plan or the Open API?

No. Cotlet works in your own Buildium session and does not use the Open API, which Buildium's developer guide limits to the Premium subscription. Your agent can do what your Buildium user role can do on Essential, Growth or Premium.

### Can the agent text tenants who have not opted in?

No. Buildium only lets you text residents who opted in, and send_text_message skips the rest and names them. Buildium suggests asking for consent in the lease or inviting tenants by email from Buildium.

### Why does a long announcement not arrive by text?

Buildium sends no text version of an announcement over 140 characters, and announcement texts reach US numbers only. Email and the Resident Center still get the full message.

### Does Buildium have webhooks?

Yes, on the Open API: Buildium posts event notifications to your HTTPS endpoint. Use them for events if you are on Premium; Cotlet runs the jobs your agent asks for.

### Can I use the Open API and Cotlet together?

Yes. On Premium, keep the Open API for bulk data sync and connect Cotlet to the same agent for resident texts and reports.

### Is the MCP server different from the REST API?

Only the door differs. Both carry the same 13 tools, inputs and answers, with one API key and one price. Agents use MCP; scripts and HTTP steps use REST.

### Is Cotlet affiliated with Buildium?

No. Cotlet is independent and not affiliated with Buildium or RealPage.

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet.dev is built by Bart Krawczyk and Jake Slugocki, the founders of Take Group sp. z o.o., ul. Wincentego Janasa 4, 40-855 Katowice, Poland. KRS 0000871398, NIP 6342984273, VAT EU: PL6342984273. [About us](https://cotlet.dev/about.md)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.
