<!-- Agent Datasets docs · CMBS REST endpoints · canonical: https://www.agentdatasets.com/docs/rest/cmbs · rendered from https://www.agentdatasets.com -->

# CMBS REST endpoints

Commercial mortgage-backed securities — deal registry and loan/property collateral detail from public SEC EDGAR ABS-EE EX-102 filings.

2 endpoints. Paths are relative to `https://api.agentdatasets.com`. Every endpoint mirrors an MCP tool over the same service layer — https://www.agentdatasets.com/docs/tools.md documents the same operations for MCP clients.

## GET /v1/cmbs/deals

Deals

Return registered CMBS deals and their asset-data coverage.

### Parameters

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| query | query | `string \| null` | no | — | — | Case-insensitive trust-name substring |
| filed_after | query | `string (date) \| null` | no | — | — | Inclusive latest asset-data filing-date lower bound |
| limit | query | `integer` | no | 10 | min 1, max 50 | Registered deals per page |
| cursor | query | `string \| null` | no | — | — | Opaque pagination.next_cursor from the previous response |

### Example request

Required parameters only, with values taken from the schema.

```bash
curl --fail --silent --show-error \
  --header "X-API-KEY: adk_..." \
  "https://api.agentdatasets.com/v1/cmbs/deals"
```

### Response

`200` Successful Response — `SearchDealsResult`.

- `data` `SearchDealsData` (required) — Applied search context and a bounded page of CMBS deals.
  - `query` `string | null` (required)
  - `filed_after` `string (date) | null` (required)
  - `deals` `array<DealSummary>` (required)
    - `cik` `integer` (required)
    - `trust_name` `string` (required)
    - `latest_filed_date` `string (date)` (required)
    - `first_asset_filing_date` `string (date) | null` (required)
    - `latest_asset_filing_date` `string (date) | null` (required)
    - `loan_count` `integer | null` (required)
- `meta` `Meta` (required) — Result-level provenance. ``source`` is a stable connector identifier (e.g. ``sec_edgar_companyfacts``); ``as_of`` is the freshest value-level ``as_of`` on the returned page, or ``None`` when the page is empty. Event-grained sources carry an aware datetime; date-grained sources (e.g. an SEC filing's report period) carry a plain date.
  - `source` `string` (required)
  - `as_of` `string (date-time) | string (date) | null`
- `pagination` `Pagination | null`
  - `limit` `integer` (required)
  - `has_more` `boolean` (required)
  - `next_cursor` `string | null`

Fields are shown to 3 levels; the full schema is in https://www.agentdatasets.com/docs/machine/openapi.json

## GET /v1/cmbs/loans

Loans

Return one CMBS deal's loans with collateral and latest performance.

### Parameters

| Parameter | In | Type | Required | Default | Constraints | Description |
| --- | --- | --- | --- | --- | --- | --- |
| deal | query | `string` | yes | — | min length 1 | Exact CMBS trust name or all-digits CIK |
| property_type | query | `string \| null` | no | — | min length 1 | Exact SEC property-type code |
| state | query | `string \| null` | no | — | min length 2, max length 2 | 2-letter property state code |
| payment_status | query | `string \| null` | no | — | min length 1 | Exact latest-period payment-status code |
| limit | query | `integer` | no | 25 | min 1, max 100 | Prospectus loan-ID-order loans per page |
| cursor | query | `string \| null` | no | — | — | Opaque pagination.next_cursor from the previous response |

### Example request

Required parameters only, with values taken from the schema.

```bash
curl --fail --silent --show-error \
  --header "X-API-KEY: adk_..." \
  "https://api.agentdatasets.com/v1/cmbs/loans?deal=DEAL"
```

### Response

`200` Successful Response — `GetLoansResult`.

- `data` `GetLoansData` (required) — Resolved deal, applied filters, and a bounded page of filed loans.
  - `cik` `integer` (required)
  - `trust_name` `string` (required)
  - `property_type` `string | null` (required)
  - `state` `string | null` (required)
  - `payment_status` `string | null` (required)
  - `loans` `array<LoanRecord>` (required)
    - `asset_number` `string` (required)
    - `asset_sequence` `integer` (required)
    - `asset_type_number` `string | null` (required)
    - `originator_name` `string | null` (required)
    - `origination_date` `string (date) | null` (required)
    - `original_loan_amount` `NumericValue | null` (required)
      - `value` `string` (required)
      - `unit` `string` (required)
      - `currency` `"USD" | null` (required)
      - `accession_number` `string` (required)
      - `as_of` `string (date-time) | null` (required)
    - `original_term_months` `integer | null` (required)
    - `maturity_date` `string (date) | null` (required)
    - `original_amortization_term_months` `integer | null` (required)
    - `original_interest_rate` `NumericValue | null` (required)
      - `value` `string` (required)
      - `unit` `string` (required)
      - `currency` `"USD" | null` (required)
      - `accession_number` `string` (required)
      - `as_of` `string (date-time) | null` (required)
    - `original_interest_rate_type_code` `string | null` (required)
    - `original_interest_only_term_months` `integer | null` (required)
    - `first_payment_due_date` `string (date) | null` (required)
    - `payment_type_code` `string | null` (required)
    - `interest_only_indicator` `boolean | null` (required)
    - `balloon_indicator` `boolean | null` (required)
    - `negative_amortization_indicator` `boolean | null` (required)
    - `modified_indicator` `boolean | null` (required)
    - `number_properties` `integer | null` (required)
    - `number_properties_securitization` `integer | null` (required)
    - `latest_seen_accession` `string` (required)
    - `as_of` `string (date-time) | null` (required)
    - `properties` `array<PropertyRecord>` (required)
      - `property_name` `string | null` (required)
      - `property_type_code` `string | null` (required)
      - `address` `string | null` (required)
      - `city` `string | null` (required)
      - `state` `string | null` (required)
      - `zip` `string | null` (required)
      - `county` `string | null` (required)
      - `geography` `PropertyGeography | null`
      - `net_rentable_sqft` `NumericValue | null` (required)
      - `units_beds_rooms` `integer | null` (required)
      - `year_built` `integer | null` (required)
      - `most_recent_valuation_amount` `NumericValue | null` (required)
      - `most_recent_valuation_date` `string (date) | null` (required)
      - `most_recent_valuation_source_code` `string | null` (required)
      - `occupancy_securitization_pct` `NumericValue | null` (required)
      - `most_recent_occupancy_pct` `NumericValue | null` (required)
      - `most_recent_financials_start_date` `string (date) | null` (required)
      - `most_recent_financials_end_date` `string (date) | null` (required)
      - `noi_securitization_amount` `NumericValue | null` (required)
      - `most_recent_noi_amount` `NumericValue | null` (required)
      - `ncf_securitization_amount` `NumericValue | null` (required)
      - `most_recent_ncf_amount` `NumericValue | null` (required)
      - `dscr_noi_securitization` `NumericValue | null` (required)
      - `dscr_ncf_securitization` `NumericValue | null` (required)
      - `most_recent_dscr_noi` `NumericValue | null` (required)
      - `most_recent_dscr_ncf` `NumericValue | null` (required)
      - `most_recent_dscr_code` `string | null` (required)
      - `accession_number` `string` (required)
      - `as_of` `string (date-time) | null` (required)
    - `latest_period` `PeriodRecord | null` (required)
      - `reporting_period_begin_date` `string (date) | null` (required)
      - `reporting_period_end_date` `string (date)` (required)
      - `begin_scheduled_balance` `NumericValue | null` (required)
      - `end_actual_balance` `NumericValue | null` (required)
      - `end_scheduled_balance` `NumericValue | null` (required)
      - `period_interest_rate` `NumericValue | null` (required)
      - `paid_through_date` `string (date) | null` (required)
      - `payment_status_code` `string | null` (required)
      - `primary_servicer_name` `string | null` (required)
      - `most_recent_special_servicer_transfer_date` `string (date) | null` (required)
      - `most_recent_master_servicer_return_date` `string (date) | null` (required)
      - `asset_added_indicator` `boolean | null` (required)
      - `modification_indicator` `boolean | null` (required)
      - `nonrecoverability_indicator` `boolean | null` (required)
      - `total_pi_advanced_outstanding` `NumericValue | null` (required)
      - `accession_number` `string` (required)
      - `as_of` `string (date-time) | null` (required)
- `meta` `GetLoansMeta` (required) — CMBS loan provenance with conditional Census/OMB derivation notice.
  - `source` `string` (required)
  - `as_of` `string (date-time) | string (date) | null`
  - `notice` `string | null`
- `pagination` `Pagination | null`
  - `limit` `integer` (required)
  - `has_more` `boolean` (required)
  - `next_cursor` `string | null`

Fields are shown to 3 levels; the full schema is in https://www.agentdatasets.com/docs/machine/openapi.json
