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/realtor-ca-office-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 form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Realtor Ca Office API
version: '1.0'
contact:
name: Realtor Support
email: support@realtor.ca
license:
name: MIT
url: https://opensource.org/licenses/MIT
description: 'Operations tagged Office across 2 of this provider''s published API definitions: realtor-ca-ddf-web-api-docs-openapi.json, realtor-ca-ddf-web-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://localhost:7051
tags:
- name: Office
description: Get Offices
x-displayName: Office
paths:
/odata/v1/Office:
get:
tags:
- Office
summary: Get a list of offices
parameters:
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $top
in: query
description: Returns only the first n results.
schema:
type: string
- name: $skip
in: query
description: Skips the first n results.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataListResponse_1__DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Office/{OfficeKey}:
get:
tags:
- Office
summary: Gets a single office by OfficeKey
description: 'Both methods are valid and return the same result: a single Office entity identified by its unique OfficeKey.
The path-style is more intuitive and commonly used in RESTful APIs.
The function-style follows OData conventions and may be required in certain query contexts (e.g., when the key contains special characters or is not a simple numeric ID).
<b>Path-style access: </b>```/odata/v1/Office/{OfficeKey}```
<b>Example: </b>```/odata/v1/Office/49```
<b> Function-style access: </b>```/odata/v1/Office(''{OfficeKey}'')```
<b>Example: </b>```/odata/v1/Office(''49'')```'
parameters:
- name: OfficeKey
in: path
description: A unique identifier for this record from the immediate source
required: true
schema:
type: string
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
responses:
'200':
description: OK (DDF.Core.Entities.Office object)
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataSingleResponse_1__DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Office/OfficeReplication():
get:
tags:
- Office
summary: Get a list of offices for all destinations
description: 'Both methods are valid and return the same result:
The path-style is more intuitive and commonly used in RESTful APIs.
The function-style follows OData conventions.
<b>Path-style access: </b>```/odata/v1/Office/OfficeReplication```
<b>Function-style access: </b>```/odata/v1/Office/OfficeReplication()```
'
parameters:
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.OfficeIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
/odata/v1/Office/OfficeReplication(DestinationId={DestinationId}):
get:
tags:
- Office
summary: Get a list of offices for a single destination
operationId: odata/v1/Office/OfficeReplication(DestinationId={DestinationId})
parameters:
- name: DestinationId
in: path
description: A unique identifier for the desired destination
required: true
schema:
type: integer
format: int32
- name: $select
in: query
description: Selects which properties to include in the response.
schema:
type: string
- name: $count
in: query
description: 'Return, along with the results, the total number of records in the dataset. NOTE: There is a performance cost with this query option.'
schema:
type: boolean
- name: $filter
in: query
description: Filters the results, based on a Boolean condition.
schema:
type: string
- name: $orderby
in: query
description: Sorts the results.
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.OfficeIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/DDF.Core.Models.CustomOdataError'
servers:
- url: https://localhost:7051
components:
schemas:
DDF.Core.Entities.OfficeIdentifier:
type: object
properties:
OfficeKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source. This is the numeric only key and used as an alternative to the OfficeKey fields.
example: '12345'
ModificationTimestamp:
type:
- string
- 'null'
description: Date/time the roster (member or office) record was last modified (in Zulu time (UTC)).
format: date-time
example: '"2021-01-01T12:00:00.000Z"'
additionalProperties: false
DDF.Core.Entities.SocialMedia:
type: object
properties:
SocialMediaKey:
type:
- string
- 'null'
description: The local, well-known identifier. This value may not be unique, specifically in the case of aggregation systems, this value should be the identifier from the original system.
example: SocialMediaKey
ResourceRecordKey:
type:
- string
- 'null'
description: The primary key of the related record from the source resource. For example the ListingKey, MemberKey, OfficeKey, etc. This is a foreign key from the resource selected in the ResourceName field.
example: '12345'
SocialMediaType:
type:
- String
- 'null'
description: The type of sites, blog, social media, the Member URL or ID is referring to. i.e. Website, FaceBook, LinkedIn, Twitter, Instagram, etc.
format: 'Enum: SocialMediaType'
example: FaceBook
ModificationTimestamp:
type: String
description: The transactional timestamp automatically recorded by the MLS system representing the date/time the media record was last modified (in Zulu time (UTC)).
format: date-time
example: '"2021-01-01T00:00:00.000Z"'
ResourceName:
type:
- String
- 'null'
description: The resource or table of the listing or other record the media relates to. i.e. Property, Member, Office, etc.
format: 'Enum: ResourceName'
SocialMediaUrlOrId:
type:
- string
- 'null'
description: The website URL or ID of social media site or account of the member.
example: '"SocialMediaUrlOrId"'
additionalProperties: false
DDF.Core.Models.Error:
type: object
properties:
details:
type:
- string
- 'null'
message:
type:
- string
- 'null'
code:
type:
- string
- 'null'
additionalProperties: false
? DDF.Infrastructure.Swagger.ExampleModels.ODataListResponse_1__DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null
: type: object
properties:
'@odata.context':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/$metadata#DDF.Core.Entities.Office
value:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.Office'
'@odata.nextLink':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/DDF.Core.Entities.Office?skip=1
additionalProperties: false
DDF.Core.Entities.Office:
type: object
properties:
OfficeKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source. This is the string only key and used as an alternative to the OfficeKeyNumeric fields.
example: OfficeKey
OfficeMlsId:
type:
- string
- 'null'
description: The local, well-known identifier. This value may not be unique, specifically in the case of aggregation systems, this value should be the identifier from the original system.
example: OfficeMlsId
OfficeAORKey:
type:
- string
- 'null'
description: A system unique identifier. This is the Board ID of the Office's Primary Board or Association of REALTORS.
example: OfficeAORKey
OfficeNationalAssociationId:
type:
- string
- 'null'
description: The national association ID of the office. i.e. In Canada, this is the CREA Organization ID of the Office.
example: OfficeNationalAssociationId
FranchiseNationalAssociationId:
type:
- string
- 'null'
description: The national association ID of the Franchisor. In Canada this would be the CREAID
example: '0'
OfficeBrokerNationalAssociationId:
type:
- string
- 'null'
description: The national association Id of the Brokerage Owner. In Canada this would be the CREAID
example: OfficeBrokerNationalAssociationId
OfficeAddress1:
type:
- string
- 'null'
description: The street number, direction, name and suffix of the office.
example: OfficeAddress1
OfficeAddress2:
type:
- string
- 'null'
description: The unit/suite number of the office.
example: OfficeAddress2
OfficeCity:
type:
- string
- 'null'
description: The city of the office.
example: OfficeCity
OfficeFax:
type:
- string
- 'null'
description: 'North American 10 digit fax numbers should be in the format of ###-###-#### (separated by hyphens). Other conventions should use the common local standard. International numbers should be preceded by a plus symbol.'
example: OfficeFax
OfficeName:
type:
- string
- 'null'
description: The legal name of the brokerage.
example: OfficeName
OfficePhone:
type:
- string
- 'null'
description: 'North American 10 digit phone numbers should be in the format of ###-###-#### (separated by hyphens). Other conventions should use the common local standard. International numbers should be preceded by a plus symbol.'
example: OfficePhone
OfficePhoneExt:
type:
- string
- 'null'
description: The extension of the given phone number (if applicable).
example: OfficePhoneExt
OfficePostalCode:
type:
- string
- 'null'
description: The postal code of the office.
example: OfficePostalCode
Media:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.Media'
description: A collection of the types of media fields available for this Office.
OfficeSocialMedia:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.SocialMedia'
description: A collection of the types of social media fields available for this office. The collection includes the type of system and other details pertinent about social media
ModificationTimestamp:
type:
- String
- 'null'
description: Date/time the roster (member or office) record was last modified (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T12:00:00.000Z"'
OriginalEntryTimestamp:
type:
- String
- 'null'
description: Date/time the office record was originally input into the source system (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T12:00:00.000Z"'
OfficeType:
type:
- String
- 'null'
description: The type of business conducted by the office. i.e. Real Estate, Appraiser, etc.
format: 'Enum: OfficeType'
example: Real Estate
OfficeStateOrProvince:
type:
- String
- 'null'
description: The state or province in which the office is located.
format: 'Enum: StateOrProvince'
example: Ontario
OfficeAOR:
type:
- String
- 'null'
description: The Office's Board or Association of REALTORS.
format: 'Enum: AOR'
example: Affiliate
OfficeStatus:
type:
- String
- 'null'
description: Is the office active, inactive or under disciplinary action.
format: 'Enum: OfficeStatus'
example: Active
OfficeCountry:
type:
- String
- 'null'
description: The country in a postal address.
format: 'Enum: Country'
example: Canada
additionalProperties: false
? DDF.Infrastructure.Swagger.ExampleModels.ODataSingleResponse_1__DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null
: type: object
properties:
'@odata.context':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/$metadata#DDF.Core.Entities.Office
OfficeKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source. This is the string only key and used as an alternative to the OfficeKeyNumeric fields.
example: OfficeKey
OfficeMlsId:
type:
- string
- 'null'
description: The local, well-known identifier. This value may not be unique, specifically in the case of aggregation systems, this value should be the identifier from the original system.
example: OfficeMlsId
OfficeAORKey:
type:
- string
- 'null'
description: A system unique identifier. This is the Board ID of the Office's Primary Board or Association of REALTORS.
example: OfficeAORKey
OfficeNationalAssociationId:
type:
- string
- 'null'
description: The national association ID of the office. i.e. In Canada, this is the CREA Organization ID of the Office.
example: OfficeNationalAssociationId
FranchiseNationalAssociationId:
type:
- string
- 'null'
description: The national association ID of the Franchisor. In Canada this would be the CREAID
example: '0'
OfficeBrokerNationalAssociationId:
type:
- string
- 'null'
description: The national association Id of the Brokerage Owner. In Canada this would be the CREAID
example: OfficeBrokerNationalAssociationId
OfficeAddress1:
type:
- string
- 'null'
description: The street number, direction, name and suffix of the office.
example: OfficeAddress1
OfficeAddress2:
type:
- string
- 'null'
description: The unit/suite number of the office.
example: OfficeAddress2
OfficeCity:
type:
- string
- 'null'
description: The city of the office.
example: OfficeCity
OfficeFax:
type:
- string
- 'null'
description: 'North American 10 digit fax numbers should be in the format of ###-###-#### (separated by hyphens). Other conventions should use the common local standard. International numbers should be preceded by a plus symbol.'
example: OfficeFax
OfficeName:
type:
- string
- 'null'
description: The legal name of the brokerage.
example: OfficeName
OfficePhone:
type:
- string
- 'null'
description: 'North American 10 digit phone numbers should be in the format of ###-###-#### (separated by hyphens). Other conventions should use the common local standard. International numbers should be preceded by a plus symbol.'
example: OfficePhone
OfficePhoneExt:
type:
- string
- 'null'
description: The extension of the given phone number (if applicable).
example: OfficePhoneExt
OfficePostalCode:
type:
- string
- 'null'
description: The postal code of the office.
example: OfficePostalCode
Media:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.Media'
description: A collection of the types of media fields available for this Office.
OfficeSocialMedia:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.SocialMedia'
description: A collection of the types of social media fields available for this office. The collection includes the type of system and other details pertinent about social media
ModificationTimestamp:
type:
- String
- 'null'
description: Date/time the roster (member or office) record was last modified (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T12:00:00.000Z"'
OriginalEntryTimestamp:
type:
- String
- 'null'
description: Date/time the office record was originally input into the source system (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '"2021-01-01T12:00:00.000Z"'
OfficeType:
type:
- String
- 'null'
description: The type of business conducted by the office. i.e. Real Estate, Appraiser, etc.
format: 'Enum: OfficeType'
example: Real Estate
OfficeStateOrProvince:
type:
- String
- 'null'
description: The state or province in which the office is located.
format: 'Enum: StateOrProvince'
example: Ontario
OfficeAOR:
type:
- String
- 'null'
description: The Office's Board or Association of REALTORS.
format: 'Enum: AOR'
example: Affiliate
OfficeStatus:
type:
- String
- 'null'
description: Is the office active, inactive or under disciplinary action.
format: 'Enum: OfficeStatus'
example: Active
OfficeCountry:
type:
- String
- 'null'
description: The country in a postal address.
format: 'Enum: Country'
example: Canada
additionalProperties: false
DDF.Core.Entities.Media:
type: object
properties:
MediaKey:
type:
- string
- 'null'
description: A unique identifier for this record from the immediate source. This may be a number, or string that can include URI or other forms. This is the system you are connecting to and not necessarily the original source of the record.
example: MediaKey
LongDescription:
type:
- string
- 'null'
description: The full description of the object.
example: REALTOR.ca Logo
MediaURL:
type:
- string
- 'null'
description: The URI to the media file referenced by this record.
example: https:///ddfcdn.realtor.ca/realtorlogo.png
ModificationTimestamp:
type:
- String
- 'null'
description: Date/time the record was last modified (in Zulu time (UTC)).
format: 'Enum: DateTime'
example: '2019-08-24T14:15:22Z'
Order:
type:
- integer
- 'null'
description: The order in which the media object is displayed. Zero is the primary photo per RETS convention.
format: int32
example: 1
PreferredPhotoYN:
type:
- boolean
- 'null'
description: When set to true, the media record in question is the preferred photo. This will typically mean the photo to be shown when only one of the photos is to be displayed.
example: true
ResourceRecordId:
type:
- string
- 'null'
description: The well known identifier of the related record from the source resource.
example: RealtorLogo.png
ResourceRecordKey:
type:
- string
- 'null'
description: The primary key of the related record from the source resource.
example: '1234'
ResourceName:
type:
- String
- 'null'
description: The resource or table of the listing or other record the media relates to. i.e. Property, Member, Office, etc.
format: 'Enum: ResourceName'
example: Member
MediaCategory:
type:
- String
- 'null'
description: Category describing the , Photos, Documents, Video, Unbranded Virtual Tour, Branded Virtual Tour, Floor Plan, Logo
format: 'Enum: MediaCategory'
example: Photo
additionalProperties: false
DDF.Core.Models.CustomOdataError:
type: object
properties:
error:
$ref: '#/components/schemas/DDF.Core.Models.Error'
additionalProperties: false
? DDF.Infrastructure.Swagger.ExampleModels.ODataReplicationListResponse_2__DDF.Core.Entities.OfficeIdentifier__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null___DDF.Core.Entities.Office__DDF.Core__Version_1.0.0.0__Culture_neutral__PublicKeyToken_null
: type: object
properties:
'@odata.context':
type:
- string
- 'null'
example: https://localhost:7051/odata/v1/$metadata#DDF.Core.Entities.Office
value:
type:
- array
- 'null'
items:
$ref: '#/components/schemas/DDF.Core.Entities.OfficeIdentifier'
additionalProperties: false
x-refined-from:
- realtor-ca-ddf-web-api-docs-openapi.json
- realtor-ca-ddf-web-api-openapi.json
x-tagGroups:
- name: API Endpoints
tags:
- Media
- Member
- Office
- OpenHouse
- Property
- Destination
- Lead
- name: Models
tags:
- media_model
- member_model
- office_model
- openhouse_model
- property_model
- destination_model