--- name: Comply with DDF display and analytics rules description: Meet the non-negotiable obligations CREA places on any site displaying DDF listing content - the Powered by REALTOR.ca badge and the analytics event beacon. api: openapi/crea-realtor-ca-ddf-web-api-openapi.json generated: '2026-07-26' method: generated operations: - get /odata/v1/Property - get /odata/v1/Destination --- # Comply with DDF display and analytics rules Reading the DDF Web API is a contract, not just an integration. If you display DDF listing content on a Real Estate Advertising Website, Partner Site or Member Website, two obligations attach — both documented in the API docs themselves and binding under the [DDF Policy and Rules](https://www.crea.ca/files/technology/english/DDFR-Policy-and-Rules-February-2024-ENG.pdf). ## 1. The "Powered by REALTOR.ca" badge is mandatory Every listing you display must carry a **clickable** badge that redirects to the original listing on REALTOR.ca. Use `Property.ListingURL` from the payload for the link target (strip the UTM codes before using it in any OData operation). If a REALTOR runs their own website without a Technology Provider, the badge is still their responsibility, on every listing. English: ```html ``` French: ```html ``` ## 2. Beacon listing activity to CREA's analytics service A single listing appears on many sites, so CREA collects activity centrally to give agents and brokerages reach reporting. Fire a request per interaction — fire-and-forget, no response handling needed, safe to do asynchronously: ``` GET https://analytics.crea.ca/LogEvents.svc/LogEvents ?ListingID={ListingID}&DestinationID={DestinationID}&EventType={EventType} &UUID={UUID}&IP={IP}&ReferralURL={ReferralURL}&LanguageID={LanguageID} ``` | Argument | Required | Notes | |---|---|---| | `ListingID` | yes | Integer. This is `ListingKey` in the Web API (RESO naming) | | `DestinationID` | yes | The Destination of the feed where the event occurred — from `get /odata/v1/Destination` | | `EventType` | yes | `View`, `Click` or `email_realtor` | | `UUID` | yes | Stable per user/device, with the Destination ID appended | | `IP` | no | Used to resolve geography; omit it and geography is not resolved | | `ReferralURL` | no | Validated during processing | | `LanguageID` | no | 1 = English, 2 = French | Event semantics: - **View** — a listing was viewed on your site. - **Click** — third-party sites only; the consumer clicked `ListingURL` through to REALTOR.ca. - **email_realtor** — third-party sites only; the consumer sent an enquiry to the REALTOR (pair this with `crea-send-lead-to-realtor.md`). Identical `UUID` + event inside a **five-minute window is ignored**, so do not build your own de-duplication on top of it — and do not try to inflate counts, since this is the reporting an agent sees. Example CREA publishes: ``` https://analytics.crea.ca/LogEvents.svc/LogEvents?ListingID=12830763&DestinationID=355&EventType=view&UUID=6b106320-b422-11e2-9e96-0800200c9a66-355&IP=192.168.1.1&ReferralURL=http://samplesite.com ``` ## Notes for an agent - The analytics service appears in **no OpenAPI document** — it is documented in prose only, so nothing will validate it for you. - These are the obligations that make DDF a licensed feed rather than an open dataset. There is no open, unlicensed Canadian listing dataset behind any of it.