Changelog
Releases and planned additions.
v1.0 — First release for brokerage owners and admins: account, properties (including
/properties/engagement), leads, the agent directory, summary, email, traffic, webhooks and the event feed.v1.13.3 — Connections no longer expire. A sign-in from any assistant now lasts until you disconnect it, Ruuster revokes it, or your API key stops working; the 90-day limit is gone.
v1.13.2 — Muse connects with the Ruuster sign-in and stays connected. Assistants that sign in but never renew, such as Meta's Muse, now get a sign-in that doesn't expire after an hour, so the connection no longer looks dead after the first hour. Revoke in the Ruuster web app still ends it at once. The Muse steps now use the sign-in, which also connects your CRM.
v1.13.1 — An MCP address for API keys only:
https://mcp.ruuster.com/key. It offers no sign-in, so assistants that prefer a sign-in whenever one is offered, such as Meta's Muse, ask for your API key straight away. The tools and key checks are the same as at/mcp. The Muse steps now use this address and add the connector from a Muse chat. See Muse and other assistants that take one API key.v1.13.0 — Email status. Get a lead's email status answers, for one address, CRM id or lead, Ruuster's verdict on the email:
valid,invalid,blocked,soft_bounce,complaint,unsubscribedorunknown, with the code behind it (the SMTP line or verification status), the reason in a sentence, and since when. The newlead.email_status_changedwebhook event fires when that verdict changes (lead.*subscribers get it automatically). The Email status guide covers the statuses and how to keep the verdict in Follow Up Boss, Sure Send or Sierra Interactive through their APIs, where smart lists and action plans can use it.v1.12.2 — Your key on its own. AI assistants that take a single API key and send it in the
Authorizationheader, such as Meta's Muse, connect to the MCP server with just your personal key (Bearer <key>or HTTP Basic); Ruuster finds the login it belongs to. A brokerage integration key still needs the person's email: pasteemail:key. On the REST API,x-emailis now optional with a personal key, and a lone integration key gets401 email_required. See Muse and other assistants that take one API key.v1.12.1 — Public records reach only the states your brokerage's MLSs cover (for example, Oklahoma for a brokerage on MLSOK). A home elsewhere returns
400 mls_not_in_scopefrom the public record calls and from a CMA on a home with no MLS record, and doesn't count toward the daily allowance.v1.12.0 — Public records without running a CMA, for US homes whether or not they were ever on the MLS. Look up a public record by address, parcel number or
propertyIdreturns the parcel, building facts, tax and assessed value, AVM, last sale and the loans still open, with the owners' names and mailing address when you addinclude=owner. Get a home's deed and mortgage history returns every recorded transfer and mortgage, each mortgage marked open, released or paid off. Both answer one home per call, under a daily allowance of 500 per brokerage. CMAs now value homes with no MLS record from their county record (subject.publicRecordId, or an address the MLS doesn't know).v1.11.6 — Older sales are found again.
/properties/lookup(by MLS number or address),/properties/{propertyId}and CMA subjects now reach a sale that closed more than about a year ago, which used to return nothing or404 not_found. Comps are unchanged (up to 12 months).v1.11.5 — AI assistants that can't finish the Ruuster sign-in, such as Grok Bot, can connect with your login email and API key as headers (
x-email,x-api-key), plus optionalx-crm-vendor,x-crm-keyandx-crm-writefor the CRM tools. Assistants that sign in, such as Claude and ChatGPT, work as before. See Grok Bot and other assistants that take headers.v1.11.4 — In AI assistants, the first answer after you connect checks whether Claude can put your logo and listing photos into decks and documents, and says what to allow if it can't. The Ruuster connect screen and the owner's setup steps mention it too. See Logos and photos in decks and documents.
v1.11.3 — In AI assistants, every image Ruuster returns (your logo, agent photos, listing photos) now comes from one address,
api.ruuster.com, so allowing that one address in Claude's settings lets Claude put them into the decks and documents it builds. See Logos and photos in decks and documents.v1.11.2 — CMAs: the public record's
loansand the net sheet's defaultmortgagePayoffcount only the loans still open. A loan whose release was recorded, or that a later refinance paid off, is left out even when the county record still lists it (it could make a seller look underwater), and a newer refinance the county record hasn't picked up yet counts at its amortized balance.v1.11.1 —
GET /brand:logo.urlis now your full logo from your brokerage profile, the one your site shows, instead of your app's square icon, which moves to the newlogo.appIcon. For sites styled with the newer UI customization,colors.textis the color your site renders text in. In AI assistants,cma_createandcma_getinclude the brand kit, and the visual CMA shows your logo, colors and fonts with the agent's photo and contact details.v1.11 — Changing your CRM, with brakes and a permanent record.
POST /crm/changespreviews a change (add or remove tags, change stage, reassign, add a note or a task, or undo an earlier tag, stage or assignment change) for up to 500 people and writes nothing;POST /crm/changes/{changeId}/applymakes it after the same person confirms, no sooner than 8 seconds and no later than 15 minutes after the preview, and checks every person against what the CRM answers. Needsx-crm-write: allow; Follow Up Boss for now. Every request, who asked, and each person's before and after are kept for good:GET /crm/changesandGET /crm/changes/{changeId}. Reads of your CRM are now on record too. In AI assistants, tick "Let the assistant make changes" under Your CRM on the connect screen. See Connect your CRM.v1.10 — Your CRM, joined with Ruuster. Send your CRM's API key (Follow Up Boss, Sierra Interactive or Sure Send) in the new
x-crm-vendorandx-crm-keyheaders, used for that request only, and ask questions that need both sides.GET /leads/follow-uplists leads who viewed listings (or engaged more) on your Ruuster sites but have no call, or no contact, in your CRM for N days.GET /leads/crm-segmentscounts engaged leads by CRM pond, stage, agent or tag ("how many leads in our inactive ponds engaged meaningfully?").GET /crm/peopleandGET /crm/people/{crmPersonId}read your CRM's people with their Ruuster activity attached, andGET /crm/overviewandGET /crm/identitydescribe the key and the account's ponds, stages and users. In AI assistants, pick your CRM and paste its key on the connect screen. See Connect your CRM.v1.9.1 —
GET /properties/{propertyId}/prospectsis faster and no longer fails with503 source_unavailablewhen the check against shape areas (counties, school districts, neighborhoods, drawn areas) runs long: it returns the zip and city matches and says so in the newmeta.areaShapes(checked,timed_outorno_location). Lead events and webhooks keep up again for every brokerage. Your brokerage's integration key now works with any owner's or admin's login email, and a brief outage on Ruuster's side no longer answers403 brokerage_not_enabled.v1.9 —
GET /wins: your account's highlights in one call. It shows figures that grew against the previous period (led by engagement: leads engaged, listing views, activity), your most-viewed listings, your most engaged leads, agent activity, your hottest areas with Ruuster's share of listing views, and, for Follow Up Boss accounts, dormant leads re-engaged after a Ruuster touch, with ready-written headlines. It reports highlights only;/summaryremains the complete record.GET /leads/mapgainssources=1, which places the listing views your CRM recorded from other sources (portals, IDX sites) on the same map and gives Ruuster's share of views for every point and area. The MCP map colours areas where Ruuster has most of the views. Through MCP these are thewinsandleads_maptools.v1.8.2 — Every Ruuster client brokerage now has API access without asking: owner and admin keys work within an hour of the brokerage being set up. Lead contact details (
emailandphoneon lead objects and in webhooks) are on by default; ask your CSM if you'd like them off./meshows the setting asleadContactDetails.v1.8.1 —
/summarybuckets now carryweeklyEmail: the exact figures Ruuster's weekly analytics email showed for that week, next to the stricter measured figures. The summary page explains which to use: the email's numbers are the headline, and the measured ones (human opens, signed-in leads) are the detail and are expected to be lower. Assistants connected through MCP are told the same, so reports no longer flag the difference as a mismatch.v1.8 —
GET /leads/map: where your leads are looking for homes, as map-ready points. Listing views, favorites and tour requests from the last 30 days, grouped by the viewed listings' locations into clusters, ZIP codes, cities or single listings, with the top cities and the map bounds, in one call and without lead names. Through MCP this is theleads_maptool, so "make me a market map of where my leads are looking" no longer means paging through every lead. Also fixed: CMA ids are mixed-case, and the MCPcma_gettool and the OpenAPI document wrongly accepted lowercase ids only.v1.7 —
GET /mortgage/rates: the national mortgage-rate averages (30- and 15-year fixed, FHA, jumbo, VA, the 10-year Treasury; daily lock indices and the weekly Freddie Mac survey) with the history of any one series, as data. CMAs now carry the current 30- and 15-year figures inmarket.rates. Through MCP this is themortgage_ratestool, and assistants are told to use it for rate questions and payment illustrations instead of quoting a rate from memory. The MCP server also gained ready-made prompts (a "What can Ruuster do?" tour plus hottest leads, lead story, listing engagement, CMA, weekly summary, mortgage rates and seller report) and offers the tour when a conversation opens with a general question.v1.6 —
GET /brand: your brokerage's name, logo, phone, website and the colors and fonts your Ruuster site is styled with, so reports built from the API (or by an assistant through MCP) carry your brand. Theseller_reportMCP tool includes it.v1.5 — MCP server. Add
https://mcp.ruuster.comto Claude, ChatGPT or any assistant that supports remote MCP servers, sign in with your owner or admin email and API key, and every read call plus Run a CMA is available as a tool, with composed tools for seller reports, lead stories, hot leads and listing lookups. See Use with AI assistants (MCP).v1.4 — CMAs.
POST /cmaruns a comparative market analysis for any home in your MLSs (by address, MLS number or id): subject profile, sold comps with rule-based dollar adjustments, active, pending and expired competition, market conditions, a value conclusion and a seller net sheet, all computed from MLS records.GET /cmaandGET /cma/{cmaId}read stored analyses for 90 days. 200 CMAs per brokerage per day by default. See CMAs.v1.3 — Any listing can be described, one at a time. Events, the event feed and a lead's activity now name every listing a lead engaged with (MLS number, MLS, address), not only yours.
GET /properties/{propertyId}answers for any listing by id and returnsphotos(the full gallery, up to 50). NewGET /properties/lookup?mlsRecordId=resolves an MLS number to any listing in your MLSs (a lookup call).GET /properties/{propertyId}/engagement?scope=anyreturns your own leads' views, unique leads, favorites and tour requests on any one listing. Property objects carryownedByYou. Bulk calls still cover your own inventory only.v1.2 —
GET /properties/{propertyId}/viewerstakesscope=anyto ask about one listing that isn't yours (still your own leads, one listing per call), and returnsproperty.ownedByYou.v1.1 —
GET /leads/activity(your most active leads in a period) andGET /properties/{propertyId}/viewers(your leads who viewed, saved or toured a listing).
Planned (not available yet; dates aren't promised):
compare=previous,changedSinceandETagcaching.previousPropertyIdsfor re-listed properties.
Breaking changes are announced here at least 90 days ahead. Ruuster may change, suspend or discontinue the API at any time without notice.