mlsgrid Office API

Brokerage offices (RESO Data Dictionary Office resource).

OpenAPI Specification

mlsgrid-office-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: MLS Grid RESO Web Lookup Office API
  description: 'The MLS Grid RESO Web API is a normalized, RESO Data Dictionary–compliant OData v4 Web API for replicating

    Multiple Listing Service (MLS) data across the dozens of participating boards on the MLS Grid network. The

    API is optimized for incremental replication using `ModificationTimestamp`, supports `$select`, `$filter`,

    and `$expand` for related resources (Media, Rooms, UnitTypes), and applies a single license agreement across

    all participating MLSs.


    Authentication uses long-lived OAuth 2.0 bearer tokens issued through the MLS Grid web application.

    '
  version: 2.0.0
  contact:
    name: MLS Grid Support
    email: support@mlsgrid.com
    url: https://www.mlsgrid.com
  license:
    name: MLS Grid Master Data License Agreement
    url: https://www.mlsgrid.com
  x-logo:
    url: https://www.mlsgrid.com
servers:
- url: https://api.mlsgrid.com/v2
  description: MLS Grid Web API v2 (production)
security:
- bearerAuth: []
tags:
- name: Office
  description: Brokerage offices (RESO Data Dictionary Office resource).
paths:
  /Office:
    get:
      tags:
      - Office
      summary: List Offices
      description: Replicate Office (brokerage) records filtered by `OriginatingSystemName` and `ModificationTimestamp`.
      operationId: listOffices
      parameters:
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Select'
      - $ref: '#/components/parameters/Top'
      - $ref: '#/components/parameters/Count'
      responses:
        '200':
          description: Collection of Office records.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OfficeCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  parameters:
    Select:
      name: $select
      in: query
      description: Comma-separated list of fields to return. Reduces payload size.
      schema:
        type: string
      example: ListingKey,StandardStatus,ListPrice,ModificationTimestamp
    Count:
      name: $count
      in: query
      description: When `true`, includes `@odata.count` in the response.
      schema:
        type: boolean
    Filter:
      name: $filter
      in: query
      description: 'OData `$filter` expression. Required pattern uses `OriginatingSystemName eq ''<system>''` combined with

        `ModificationTimestamp gt <UTC datetime>` for incremental replication. Replication queries are

        restricted to a limited set of searchable fields documented per resource.

        '
      schema:
        type: string
      example: OriginatingSystemName eq 'actris' and ModificationTimestamp gt 2026-01-01T00:00:00Z
    Top:
      name: $top
      in: query
      description: Maximum number of records to return per page.
      schema:
        type: integer
        maximum: 1000
  schemas:
    OfficeCollection:
      type: object
      properties:
        '@odata.context':
          type: string
        '@odata.nextLink':
          type: string
        value:
          type: array
          items:
            $ref: '#/components/schemas/Office'
    Office:
      type: object
      properties:
        OfficeKey:
          type: string
        OriginatingSystemName:
          type: string
        OfficeName:
          type: string
        OfficeMlsId:
          type: string
        ModificationTimestamp:
          type: string
          format: date-time
        MlgCanView:
          type: boolean
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
    RateLimited:
      description: Rate limit exceeded. The MLS Grid Web API enforces 2 RPS, 7,200 requests/hour, 40,000 requests/24h, and 4 GB/hour download caps. Repeated violations may suspend the token.
      headers:
        Retry-After:
          schema:
            type: integer
          description: Seconds until the client may retry.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: Long-lived OAuth 2.0 bearer token issued via the MLS Grid web application token tab.