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

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

  • Free 7-day trial, no card
  • Unofficial, not affiliated with Buildium or RealPage
Buildium logo Buildium Cloud Browser

13 tools Read and write

Rent, texts, maintenance

What can you automate in Buildium? Use an AI agent, a workflow or a script.

  • 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

Premium only, with gaps

Does Buildium have an MCP server or an API? An API on Premium, no MCP server.

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.

  • 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.
Buildium Open API, a GitHub MCP server and Cotlet compared
What you need Open APIGitHub serverCotlet
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 · Buildium pricing (Open API on Premium) · Buildium Help: How do I add tenant payments? · Buildium Help: Delinquent tenants report

Set up once

How does Cotlet connect to Buildium? One account, two ways to connect.

  1. 1Sign in to Buildium

    Use your own account in its Cotlet Cloud Browser.

  2. 2Choose MCP or REST

    Connect your agent or create a Cotlet API key.

  3. 3Run 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. Who can see your session

Any MCP client

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. 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. 2

    Add the Cotlet address. Put https://cotlet.dev/mcp/v1 in your agent as an MCP server or connector.

  3. 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
Scripts and HTTP

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

Buildium workflows you configure
ToolConnect throughExample workflow
n8nHTTP RequestRead properties and leases into a rent-roll report with lease dates and decimal-string balances.
MakeHTTP > Make a requestCombine outstanding balances and lease ledgers into an arrears review without payments or reminders.
Python or Node.jsREST APIRead 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 lists operations and inputs. The REST API guide explains authentication, errors and approvals.

7 read, 6 write

Buildium API endpoints and MCP tools

Rent roll and ledgers7

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 Your rental properties with address and unit count. read

    Returns the rental properties in your Buildium account with address and number of units. Search matches the property name or address. Use the property_id of each item in the other tools.

    MCP callbuildium_read → list_properties

    REST endpointGET https://cotlet.dev/api/v1/buildium/properties

    Parameters

    Parameters: list_properties
    NameTypeDescription
    search string string Match on property name or address.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "properties": [
        {
          "property_id": "48213",
          "name": "Maple Court",
          "address": "120 Maple St, Springfield",
          "units": 12
        }
      ],
      "next_cursor": null
    }
  • list_leases Leases from the Rent roll with unit, tenants, rent, dates and balance. read

    Returns leases as Buildium's Rentals > Rent roll shows them: unit, tenants, monthly rent, start and end dates and the current balance. Search matches unit or tenant name. Use lease_id from here in the ledger and payment tools.

    MCP callbuildium_read → list_leases

    REST endpointGET https://cotlet.dev/api/v1/buildium/leases

    Parameters

    Parameters: list_leases
    NameTypeDescription
    search string string Match on unit or tenant name.
    status enum enum active, future or past. Default: active.
    property_id string string Only this property. Property ID from list_properties.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "leases": [
        {
          "lease_id": "90517",
          "property": "Maple Court",
          "unit": "2B",
          "tenants": [
            "Marcus Hale"
          ],
          "rent": "1450.00",
          "start_date": "2026-01-01",
          "end_date": "2026-12-31",
          "status": "active",
          "balance": "1450.00"
        }
      ],
      "next_cursor": null
    }
  • list_outstanding_balances Leases with an outstanding balance as of today, largest first. read

    Returns what Buildium's Rentals > Outstanding balances page shows: each lease with a balance today, the tenants and the amount. Sorted by balance, largest first. Filter by property or by a minimum amount.

    MCP callbuildium_read → list_outstanding_balances

    REST endpointGET https://cotlet.dev/api/v1/buildium/outstanding-balances

    Parameters

    Parameters: list_outstanding_balances
    NameTypeDescription
    property_id string string Only this property. Property ID from list_properties.
    min_balance string string Only balances at or above this decimal amount.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "balances": [
        {
          "lease_id": "90517",
          "property": "Maple Court",
          "unit": "2B",
          "tenants": [
            "Marcus Hale"
          ],
          "balance": "1450.00"
        },
        {
          "lease_id": "90522",
          "property": "Maple Court",
          "unit": "7",
          "tenants": [
            "Rosa Lin"
          ],
          "balance": "320.00"
        }
      ],
      "total": "1770.00",
      "next_cursor": null
    }
  • get_lease_ledger Charges, payments and credits on one lease, oldest first, with the running balance. read

    Returns the ledger from the lease's Financials tab, oldest first: charges, payments and credits, each with the running balance. Use it before recording a payment to catch one a colleague already entered.

    MCP callbuildium_read → get_lease_ledger

    REST endpointGET https://cotlet.dev/api/v1/buildium/leases/{lease_id}/ledger

    Parameters

    Parameters: get_lease_ledger
    NameTypeDescription
    lease_id string required string Lease ID from list_leases or list_outstanding_balances.
    from date date Start date. Default: 90 days ago.
    to date date End date. Default: today.

    Example input

    {
      "lease_id": "lease_8c41d2"
    }

    Example response

    {
      "lease_id": "90517",
      "transactions": [
        {
          "type": "charge",
          "date": "2026-10-01",
          "memo": "Rent October 2026",
          "amount": "1450.00",
          "balance": "1450.00"
        }
      ],
      "balance": "1450.00"
    }
  • get_delinquent_tenants_report Buildium's Delinquent tenants report: who owes what as of a date, with the last payment. read

    Runs the Delinquent tenants report from the Reports menu and returns its rows: tenant, unit, balance and last payment date as of the date you give. Resident status picks current, future or former tenants. Balance detail by GL account only comes back for a single property, as in Buildium.

    MCP callbuildium_read → get_delinquent_tenants_report

    REST endpointGET https://cotlet.dev/api/v1/buildium/delinquent-tenants-report

    Parameters

    Parameters: get_delinquent_tenants_report
    NameTypeDescription
    as_of date date Balances as of this date. Default: today.
    resident_status enum enum current, future or former. Default: current.
    property_id string string Only this property. Property ID from list_properties.

    Example response

    {
      "as_of": "2026-10-27",
      "rows": [
        {
          "tenant": "Marcus Hale",
          "property": "Maple Court",
          "unit": "2B",
          "balance": "1450.00",
          "last_payment": "2026-09-03"
        }
      ],
      "total": "1450.00"
    }
  • record_lease_payment Record a payment received by check, cash or money order on a lease ledger. writeasks first

    Records a payment the same way as Receive payment on the lease ledger. Use the date the money was in hand, because Buildium charges late fees from the ledger dates. Buildium applies the money to the charge with the largest balance first unless the lease has its own allocation. The response lists the charges paid and the balance after. By default you confirm each call; you can switch that off for this tool.

    MCP callbuildium_write → record_lease_payment

    REST endpointPOST https://cotlet.dev/api/v1/buildium/leases/{lease_id}/payment

    Parameters

    Parameters: record_lease_payment
    NameTypeDescription
    lease_id string required string Lease ID from list_leases or list_outstanding_balances.
    amount string required string Decimal amount received, e.g. "1450.00".
    date date required date Date the payment was received.
    method enum required enum check, cash, money_order or cashiers_check.
    reference string string Check number or other reference.
    memo string string Shown on the ledger.

    Example input

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

    Example response

    {
      "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"
    }
  • post_lease_charge One-time charge on a lease, such as a utility bill or a repair the tenant pays. writeasks first

    Adds one charge to a lease ledger against a GL account from your chart of accounts. It raises the tenant's balance and shows in the Resident Center. It does not change your late fee rules. By default you confirm each call; you can switch that off for this tool.

    MCP callbuildium_write → post_lease_charge

    REST endpointPOST https://cotlet.dev/api/v1/buildium/leases/{lease_id}/charge

    Parameters

    Parameters: post_lease_charge
    NameTypeDescription
    lease_id string required string Lease ID from list_leases or list_outstanding_balances.
    amount string required string Decimal amount, e.g. "45.00".
    date date required date Charge date.
    gl_account string required string Income GL account as named in your Buildium chart of accounts.
    memo string string Shown on the ledger.

    Example input

    {
      "lease_id": "lease_8c41d2",
      "amount": "45.00",
      "date": "2026-10-01",
      "gl_account": "gl account"
    }

    Example response

    {
      "charge_id": "7781230",
      "lease_id": "90517",
      "amount": "45.00",
      "date": "2026-10-27",
      "gl_account": "Utility income",
      "balance": "45.00",
      "status": "posted"
    }

Resident messages3

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 Two-way text conversations with residents from Communication > Messages. read

    Returns text threads with residents, newest message first, with the resident, their unit and the last messages. unanswered_only keeps threads where the resident wrote last. Only residents who opted in to texts appear here.

    MCP callbuildium_read → list_text_messages

    REST endpointGET https://cotlet.dev/api/v1/buildium/text-messages

    Parameters

    Parameters: list_text_messages
    NameTypeDescription
    unanswered_only boolean boolean Only threads where the resident wrote last. Default: false.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "threads": [
        {
          "thread_id": "tx_5521",
          "resident": "Rosa Lin",
          "unit": "Maple Court 7",
          "last_from": "resident",
          "last_at": "2026-10-27T08:14:00Z",
          "last_message": "Is the plumber still coming today?"
        }
      ],
      "next_cursor": null
    }
  • send_text_message Text up to 10 residents who opted in, each as a separate message. writeasks first

    Sends a text from Communication > Messages to one or more residents, at most 10 per call. Buildium sends each message separately, so residents do not see each other. Residents who have not opted in are skipped and listed in the response. By default you confirm each call; you can switch that off for this tool.

    MCP callbuildium_write → send_text_message

    REST endpointPOST https://cotlet.dev/api/v1/buildium/text-messages

    Parameters

    Parameters: send_text_message
    NameTypeDescription
    residents string[] required string[] Resident names or IDs, at most 10.
    message string required string Message text.

    Example input

    {
      "residents": [
        "residents"
      ],
      "message": "message"
    }

    Example response

    {
      "sent": [
        {
          "resident": "Marcus Hale",
          "unit": "Maple Court 2B"
        }
      ],
      "skipped_not_opted_in": [],
      "status": "sent"
    }
  • send_announcement Announcement to the residents of chosen properties by email, text and Resident Center. writeasks first

    Publishes an announcement to the residents of the properties you choose. The subject shows in email and in the Resident Center and is capped at 100 characters. Buildium sends no text when the body is over 140 characters, and announcement texts reach US numbers only. By default you confirm each call; you can switch that off for this tool.

    MCP callbuildium_write → send_announcement

    REST endpointPOST https://cotlet.dev/api/v1/buildium/announcements

    Parameters

    Parameters: send_announcement
    NameTypeDescription
    subject string required string Up to 100 characters.
    body string required string Message. Over 140 characters goes out without the text version.
    property_ids string[] required string[] Property IDs from list_properties.
    expires date date Date the announcement leaves the Resident Center.

    Example input

    {
      "subject": "subject",
      "body": "body",
      "property_ids": [
        "property ids"
      ]
    }

    Example response

    {
      "announcement_id": "8814",
      "subject": "Water off Thursday",
      "properties": [
        "Maple Court"
      ],
      "sms": true,
      "expires": "2026-10-31",
      "status": "published"
    }

Tasks and work orders3

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

  • list_tasks Tasks from Tasks > All tasks with type, status, property and assignee. read

    Returns tasks, newest first: resident requests, owner requests, contact requests and to-dos, each with its subject, property, unit, status and who it is assigned to. Use it to check whether a request is already logged before creating a task.

    MCP callbuildium_read → list_tasks

    REST endpointGET https://cotlet.dev/api/v1/buildium/tasks

    Parameters

    Parameters: list_tasks
    NameTypeDescription
    status enum enum new, in_progress, completed or deferred. Default: all open.
    property_id string string Only this property. Property ID from list_properties.
    cursor string string Next page cursor from the previous call.

    Example response

    {
      "tasks": [
        {
          "task_id": "311045",
          "type": "Resident request",
          "subject": "Kitchen sink leaking",
          "property": "Maple Court",
          "unit": "7",
          "status": "New",
          "assigned_to": "Sam Ortiz",
          "created": "2026-10-26"
        }
      ],
      "next_cursor": null
    }
  • create_task New to-do or resident request task for a property or unit. write

    Creates a task with a subject, type, property, optional unit, priority and assignee from your staff. A to-do stays inside your team. It runs without asking first, because the task can be deleted in Buildium in one step.

    MCP callbuildium_write → create_task

    REST endpointPOST https://cotlet.dev/api/v1/buildium/properties/{property_id}/tasks

    Parameters

    Parameters: create_task
    NameTypeDescription
    subject string required string Short title.
    type enum required enum to_do or resident_request.
    property_id string required string Property ID from list_properties.
    unit string string Unit the task concerns.
    description string string Details for whoever does the work.
    priority enum enum low, normal or high. Default: normal.
    assigned_to string string Staff member, as named in Buildium.

    Example input

    {
      "subject": "subject",
      "type": "to_do",
      "property_id": "property_8c41d2"
    }

    Example response

    {
      "task_id": "311046",
      "type": "Resident request",
      "subject": "Kitchen sink leaking",
      "property": "Maple Court",
      "unit": "7",
      "priority": "high",
      "status": "New"
    }
  • add_work_order Work order on an existing task, assigned to a vendor. writeasks first

    Adds a work order on the task's Work Order tab, the same as Add work order in Buildium. The task's request type, contact information and subject carry over. It assigns work to an outside vendor. By default you confirm each call; you can switch that off for this tool.

    MCP callbuildium_write → add_work_order

    REST endpointPOST https://cotlet.dev/api/v1/buildium/tasks/{task_id}/work-orders

    Parameters

    Parameters: add_work_order
    NameTypeDescription
    task_id string required string Task ID from list_tasks or create_task.
    vendor string required string Vendor name as listed in Buildium.
    work_details string string What the vendor should do.
    entry_allowed boolean boolean Whether the vendor may enter the unit.

    Example input

    {
      "task_id": "task_8c41d2",
      "vendor": "vendor"
    }

    Example response

    {
      "work_order_id": "52890",
      "task_id": "311046",
      "vendor": "Ortiz Plumbing",
      "subject": "Kitchen sink leaking",
      "entry_allowed": true,
      "status": "created"
    }
Encrypted, revocable

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). We have no SOC 2 report or third-party pentest yet.

Account risk

Is it against Buildium's terms? Account safety The customer terms are not public.

"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

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.

Tested every 12 h

What happens when Buildium changes? We repair the tool; your prompts stay the same.

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

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 checks the site, console and API every 3 minutes.

5 tools ask first

Approvals, undo and mistakes Tenants and vendors hear nothing until you say so.

  1. 01 Finds the lease list_leases matches the unit or name on the check.
  2. 02 Reads the ledger get_lease_ledger shows a payment already entered, so it is skipped.
  3. 03 Waits for your OK The payment shows up in your Cotlet console first.
  4. 04 Reports the balance Charges paid and what the tenant still owes.
Which Buildium actions can be undone
ActionUndo
Record a paymentReverse it on the lease ledger in Buildium
Post a chargeEdit or delete the charge on the ledger
Create a taskDelete the task in Tasks
Add a work orderEdit or close it; a vendor who saw it already knows
Send a textNo, the resident has it
Send an announcementExpire 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.

Pay per call

How much does the Buildium MCP server cost?

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

A month of Buildium jobs for about 120 units, in credits
JobCallsCredits
Record a check or cash payment3 × 25750
Text tenants with a balance7 × 4280
Answer resident texts4 × 22880
Log a request and work order3 × 20600
Announce a building notice2 × 240
Delinquent tenants report1 × 440
Cloud Browser, 30 days1,500
Total4,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.

Cotlet credit packs: price, credits and calls at 10 credits each
Credits Price, one time Calls at 10 credits Per 1,000 credits
5,000 $29 500 $5.80
15,000 $79 1,500 $5.27
32,000 $149 3,200 $4.66
60,000 $249 6,000 $4.15

Only successful calls use credits; failed calls and timeouts cost nothing. At a balance of 0 calls pause, never a surprise charge. Authenticate with the Authorization: Bearer header.

Other options

Buildium MCP server: Open API, GitHub or hosted On Premium, try the Open API first.

Buildium MCP options, checked 27 Oct 2026
OptionWhat it doesWhere it stops
Buildium Open APIOfficial 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-buildiumCommunity 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-MCPCommunity 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-CLICommunity server, 455 tools in 24 categories.Last push 11 Jun 2026.
Hosted browser agents and API connectorsPaid 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.

EU company, since 2019

Who runs Cotlet A company you can look up.

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 agent access to Buildium.

Free 7-day trial with 2,000 credits, no card needed.