Bridge Property API

RESO Property resource (listings)

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/bridge-mls-property-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bridge-mls-property-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bridge RESO Web Agents Property API
  version: '2.0'
  description: 'RESO Platinum-certified Web API for MLS listing data, served by Bridge (a Zillow Group company).

    Data is normalized to the RESO Data Dictionary and queryable via OData 4.0. Bridge interprets

    OData `$top` as page size (default 10, max 200 via the `maxpagesize` header) and extends the spec

    with an `unselect` parameter that returns all fields except those listed.


    Each request is scoped to a `{dataset}` (the MLS dataset code) and must carry an `access_token` —

    either as a query parameter or via the `Authorization: Bearer` header.

    '
  contact:
    name: Bridge Interactive Support
    email: support@bridgeinteractive.com
    url: https://www.bridgeinteractive.com/contact/
  license:
    name: Bridge Data Output Terms of Use
    url: https://www.bridgeinteractive.com/terms-of-use/
servers:
- url: https://api.bridgedataoutput.com/api/v2/OData
  description: Production v2 OData endpoint
- url: https://api.bridgedataoutput.com/api/v3/OData
  description: Production v3 OData endpoint
security:
- BearerAuth: []
- AccessToken: []
tags:
- name: Property
  description: RESO Property resource (listings)
paths:
  /{dataset}/Property:
    get:
      tags:
      - Property
      summary: List Properties
      description: Query the Property entity set with OData query options. Returns RESO-normalized listing records including embedded Media.
      operationId: listProperties
      parameters:
      - $ref: '#/components/parameters/Dataset'
      - $ref: '#/components/parameters/Filter'
      - $ref: '#/components/parameters/Select'
      - $ref: '#/components/parameters/Unselect'
      - $ref: '#/components/parameters/Expand'
      - $ref: '#/components/parameters/OrderBy'
      - $ref: '#/components/parameters/Top'
      - $ref: '#/components/parameters/Skip'
      - $ref: '#/components/parameters/Count'
      - $ref: '#/components/parameters/MaxPageSize'
      responses:
        '200':
          description: Property collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PropertyCollection'
  /{dataset}/Property('{listingKey}'):
    get:
      tags:
      - Property
      summary: Get Property By Listing Key
      description: Retrieve a single Property record by its `ListingKey`.
      operationId: getProperty
      parameters:
      - $ref: '#/components/parameters/Dataset'
      - name: listingKey
        in: path
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/Select'
      - $ref: '#/components/parameters/Expand'
      responses:
        '200':
          description: Property record
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Property'
        '404':
          description: Not found
components:
  parameters:
    Select:
      name: $select
      in: query
      description: Comma-separated list of fields to return.
      schema:
        type: string
    Top:
      name: $top
      in: query
      description: Page size. Bridge interprets `$top` as page size (not total collection size). Default 10, max 200.
      schema:
        type: integer
        default: 10
        maximum: 200
    Dataset:
      name: dataset
      in: path
      required: true
      description: MLS dataset code (e.g. `test`, `actris_ref`, `mlspin`).
      schema:
        type: string
    Count:
      name: $count
      in: query
      description: Include `@odata.count` in the response.
      schema:
        type: boolean
    MaxPageSize:
      name: maxpagesize
      in: header
      description: Preferred page size (default 10, max 200).
      schema:
        type: integer
        default: 10
        maximum: 200
    OrderBy:
      name: $orderby
      in: query
      description: Sort expression (e.g. `ModificationTimestamp desc`).
      schema:
        type: string
    Skip:
      name: $skip
      in: query
      description: Number of records to skip.
      schema:
        type: integer
    Unselect:
      name: unselect
      in: query
      description: Bridge extension — comma-separated list of fields to exclude (returns all other fields).
      schema:
        type: string
    Expand:
      name: $expand
      in: query
      description: Comma-separated list of navigation properties to expand (e.g. `Media,Rooms`). Default max 10 results per expand unless `$top` is specified inside the expand.
      schema:
        type: string
    Filter:
      name: $filter
      in: query
      description: OData filter expression (e.g. `ListPrice gt 500000 and StandardStatus eq 'Active'`).
      schema:
        type: string
  schemas:
    Property:
      type: object
      description: RESO Property resource. Field set follows the RESO Data Dictionary; selected high-cardinality fields shown here.
      properties:
        ListingKey:
          type: string
        ListingId:
          type: string
        ListPrice:
          type: number
        StandardStatus:
          type: string
          enum:
          - Active
          - Pending
          - Closed
          - Withdrawn
          - Canceled
          - Expired
          - Hold
          - ComingSoon
          - ActiveUnderContract
        PropertyType:
          type: string
        PropertySubType:
          type: string
        UnparsedAddress:
          type: string
        StreetNumber:
          type: string
        StreetName:
          type: string
        City:
          type: string
        StateOrProvince:
          type: string
        PostalCode:
          type: string
        Country:
          type: string
        Latitude:
          type: number
        Longitude:
          type: number
        BedroomsTotal:
          type: integer
        BathroomsTotalInteger:
          type: integer
        LivingArea:
          type: number
        LotSizeSquareFeet:
          type: number
        YearBuilt:
          type: integer
        PublicRemarks:
          type: string
        ListAgentKey:
          type: string
        ListOfficeKey:
          type: string
        ModificationTimestamp:
          type: string
          format: date-time
        OnMarketDate:
          type: string
          format: date
        CloseDate:
          type: string
          format: date
        Media:
          type: array
          items:
            $ref: '#/components/schemas/Media'
    PropertyCollection:
      type: object
      properties:
        '@odata.context':
          type: string
        '@odata.count':
          type: integer
        '@odata.nextLink':
          type: string
        value:
          type: array
          items:
            $ref: '#/components/schemas/Property'
    Media:
      type: object
      properties:
        MediaKey:
          type: string
        MediaURL:
          type: string
          format: uri
        MediaCategory:
          type: string
        MediaType:
          type: string
        Order:
          type: integer
        ImageWidth:
          type: integer
        ImageHeight:
          type: integer
        ResourceRecordKey:
          type: string
        ModificationTimestamp:
          type: string
          format: date-time
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: opaque
      description: '`Authorization: Bearer {access_token}` issued by Bridge per dataset.'
    AccessToken:
      type: apiKey
      in: query
      name: access_token
      description: Per-dataset access token passed as a query parameter.