API · MCP · bulk data · free, no key

CMBS data for your code and your agents

Every loan in every public CMBS trust (12,071 loans, $281.2B), the special servicer's comments, the trusts' bond classes, the distress index (4.08% delinquent in September 2026) and the monthly Wire, as a JSON API and a remote MCP server. Free during the preview, no sign-up, no key.

Connect an AI assistant (MCP)

The server is at https://cmbs.news/mcp (Streamable HTTP, no auth). In Claude: Settings, Connectors, Add custom connector, and paste that URL. In Claude Code:

claude mcp add --transport http cmbs-news https://cmbs.news/mcp

In Cursor, Windsurf or any client that reads an mcp.json:

{
  "mcpServers": {
    "cmbs-news": { "type": "http", "url": "https://cmbs.news/mcp" }
  }
}

Then ask things like "Which Walgreens-anchored CMBS loans mature before 2028 and are under 1.2x?", "What did the special servicer say about One SoHo Square?" or "Office delinquency by vintage".

ToolWhat it returns
search_loansFind loans by property, city, status, type, state, metro, tenant, maturity, balance or coverage.
get_loanOne loan's full record: terms, status, 12-month history, trusts, special servicer comment facts, appraisal reduction.
get_trustA trust: parties, certificate classes with CUSIPs and credit support, liquidations and losses.
list_trustsTrusts, most distressed first.
find_cusipA certificate class by CUSIP.
distress_indexMonthly delinquency and special-servicing rates, by type, vintage and state.
wireThis month's transfers, delinquencies, appraisal reductions, losses and servicer updates.
tenant_exposureEvery loan a tenant backs, or the tenants with the most exposure.
compsProperty comps: NOI per square foot, occupancy, DSCR, value, with medians.
aboutCoverage, as-of dates, license and links.

JSON API

Base URL https://cmbs.news/api/v1. Every response is JSON with CORS open, cached for an hour. Schema: /openapi.json (OpenAPI 3.1, works with GPT Actions and most agent frameworks).

curl "https://cmbs.news/api/v1/loans?status=special_servicing&type=office&state=NY&limit=5"
curl "https://cmbs.news/api/v1/loans/20-times-square-new-york-ny"
curl "https://cmbs.news/api/v1/trusts/benchmark-2018-b8"
curl "https://cmbs.news/api/v1/index"
curl "https://cmbs.news/api/v1/tenants/walgreens"
EndpointWhat it returns
/loansSearch: q, status, type, state, cbsa, tenant, maturing_after, maturing_before, min_balance, max_dscr, sort, limit, offset
/loans/{slug}One loan with history, trusts and trustee-report facts
/trusts, /trusts/{slug}Trusts; one trust's parties, certificate classes and liquidations
/cusips/{cusip}A certificate class by CUSIP
/indexThe distress index (also CSV)
/wireThis month's events, by section
/tenants, /tenants/{name}Tenant exposure
/compsProperty comps with medians
/metros, /meta, /changelogReference data, coverage and the change log

Files

CSVs of every list are linked from each list page (watch list, distress list, every maturity month and year, metro, property type and trust). The distress index series is at /api-data/distress-index.csv. Site maps for agents: /llms.txt and /llms-full.txt.

Terms

  • The data is compiled from public SEC filings. The API, MCP server and files are licensed under CC BY 4.0: credit "cmbs.news" with a link.
  • Fair use during the preview: about 60 requests a minute. For more, bulk files, history or webhooks, join the Pro waitlist.
  • Servicer-reported and unaudited, about a month behind the real world. No warranty; see the terms and the methodology.
  • Coverage: the public trusts that file loan-level data with the SEC. Private Rule 144A single-borrower deals, CRE CLOs, agency and bank loans are not in it.

Breaking changes are announced on the changelog first. Questions or a bug: hello@cmbs.news.