MLS / IDX Resources Aug 6, 2026 · 23 min read

DDF Plugin for WordPress: Canadian MLS Integration Guide

B
Benjamin Levy
Contributor · MLSimport

Last updated: August 6, 2026

What is CREA DDF?

CREA DDF is the Data Distribution Facility, a service run by the Canadian Real Estate Association (CREA). It sends MLS® listings to websites other than REALTOR.ca. Only CREA members can use it: Canadian REALTORS® and their brokerages. It carries Canadian listings only.

Here is what that means for your website:

  • It is a feed, not a website. A feed is a steady stream of listing facts, like price, photos and status. Your site needs software to show it.
  • Your brokerage says yes first. The brokerage opts in. Then you pick a feed in CREA’s DDF Dashboard.
  • There are two feeds most sites use. The Member Website Feed shows your own or your brokerage’s listings. The National Shared Pool also shows listings from other brokerages that opted in.
  • It is not every listing in Canada. Each brokerage decides whether to share. A board’s own feed can go deeper in one city.
  • Rules come with it. CREA wants updates at least every 24 hours, the right logos and credits, and no edits to the listing text.

On a US MLS instead? DDF won’t work for you. Read the FAQ below on US listings.

Do I need my broker’s permission to put a listing feed on my own website in Canada?

Yes. If you are a salesperson, your brokerage has to say yes before a listing feed for your own website can exist. That goes for CREA’s REALTOR.ca DDF and for most local board feeds. CREA’s DDF Policy says brokerage participation is optional, and a salesperson needs the brokerage’s permission whether the brokerage participates itself or opts in only to grant that permission. CREA’s café blog noted in February 2025 that these settings may only be updated by a brokerage owner. No plugin can skip this step or ask for it for you. That includes MLS Import.

Here is who has to say yes for each kind of feed:

Feed Who has to say yes first Where the rule comes from
REALTOR.ca DDF (Member Website Feed or National Shared Pool) Your brokerage. Only a brokerage owner can change the brokerage’s DDF settings. After that, you opt in to your own feed in the DDF Dashboard. CREA DDF Policy section 4(a)
REALTORS Association of Edmonton board feed The board, in writing, plus your Principal Broker’s consent for an agent’s own site RAE Rules (see our Edmonton page)
ITSO (Cornerstone and Brantford) Your Broker of Record or a Bridge Authority opens the agreement before anyone else in the office can ITSO KB201 (see our ITSO page)
TRREB’s PropTx feed TRREB, through the board’s data services route. Ask TRREB who has to sign. See PropTx and AMPRE (TRREB)

Quebec works differently. Quebec listings run on Centris, outside the DDF.

How your brokerage opts into the DDF National Shared Pool

Your brokerage owner starts the opt-in in CREA’s DDF Dashboard and grants agents permission to take part. Choose National Shared Pool to show other members’ listings (see the two feeds above).

  1. Ask your brokerage owner to open CREA’s DDF Dashboard.
  2. Have the owner opt into the National Shared Pool and set your permission.
  3. With that permission, opt in through your own Dashboard before pulling the feed or hiring a provider.
  4. Confirm the website feed with CREA. Current button names and account review times are unknown. Call 1-888-237-7945 if you get stuck.

CREA’s rules require pool members to share their listings, except those a seller excludes. The pool does not include every Canadian listing.

What to ask your broker before you buy anything

Send your broker four questions in one email:

  1. “Has our brokerage opted in to REALTOR.ca DDF?”
  2. “Which feeds are turned on: the Member Website Feed, the National Shared Pool, or both?”
  3. “Can you give me permission to create my own feed for my website?”
  4. “Can you put that yes in writing?”
Pro Tip

If the feed you want looks missing in the DDF Dashboard, check with your broker before you call anyone else. Your brokerage has to opt in before your own feed choices can work. Not sure who signs at your board? See who needs to hold the credentials.

What rules do I have to follow to show my board’s listings on my own website in Canada?

You follow three sets of rules: CREA’s DDF rules, your board’s own rules, and your province’s advertising rules. First, your brokerage has to say yes. Then your site has to show the right logo, brokerage name and notices. It has to update at least every 24 hours. And you can’t change what the listing says.

Brokerage permission is covered above. CREA’s other DDF rules (a private login, updates at least every 24 hours, Analytics events, the logo and credits, and each feed as its own opt-in under Rule 5(a)) are listed with their rule numbers under “What a DDF plugin for WordPress has to do” below. The rest is set by others:

Rule What it means for your site Who sets it
Don’t edit listings Show the listing as the feed sends it. No new watermarks, no rewritten remarks. CREA and your board
Board disclaimers and limits If you use your board’s own feed, its rulebook adds its own wording, limits and fines. With DDF only, CREA’s DDF Policy and Rules govern the display. Your board
Your name and brokerage on every page Your website counts as advertising. Your provincial regulator (for example RECO in Ontario, BCFSA in BC)
Contact forms If you collect buyers’ names and emails, you need a privacy policy and their consent. Federal and provincial privacy law

Board rules can be very specific. The Nova Scotia board’s rulebook (version dated March 25, 2025) caps a search at 500 results. It gives you five business days to fix a problem. And it allows a $75 fine for each violation. See the Nova Scotia Association of REALTORS page. In Edmonton, an agent’s own site needs the board’s written OK and the broker’s consent. See the REALTORS Association of Edmonton page.

Pro Tip

Get the rules in writing before you build. Ask your broker which DDF feeds are turned on. Then ask your board for its current website rulebook. These two emails save you from a rebuild later.

A DDF plugin for WordPress pulls listing data from REALTOR.ca DDF®, the Data Distribution Facility the Canadian Real Estate Association runs, and puts it on your own site. DDF isn’t a national MLS board. It’s a permission-based distribution service, and CREA sets rules for what any site displaying that data has to do. Five of those rules decide whether a plugin can do the job within CREA’s rules: it must never ask you to hand over your DDF username and password, it must support the exact channel you opted into, it must refresh listing content at least once every 24 hours, it must send events to CREA’s Analytics Web Service API, and it must carry CREA’s required attribution. Miss one and the problem is yours, not the vendor’s: you stay responsible for whoever operates your feed.

Contents:

What a DDF plugin for WordPress has to do

Here are those five requirements with their rule numbers, from CREA’s DDF Policy and Rules (revised January 2024):

  1. Never asks for your DDF credentials. Rule 5(j)(iii), general scope, any provider relationship.
  2. Supports your channel. Member Website Feed for your own or your brokerage’s listings, National Shared Pool for other participants’ listings too (Policy section 1).
  3. Refreshes at least once every 24 hours. Rule 5(b), National Pool Websites and Member Websites alike.
  4. Sends events to CREA’s Analytics Web Service API. Rule 5(c), both website types.
  5. Renders the required display elements: linked Powered by REALTOR.ca logo, brokerage name, provincial information, watermarks and trademark statement (Rules 6(a) and 6(c), both website types).

What this guide covers

Your Canadian listing feed is one part of a site that brings buyer leads. Before you choose the plugin, check what your Canadian real estate website needs for buyer leads, including local guides, forms, follow-up, costs, a trial checklist, and whether your own site is worth it when your brokerage already gives you a page.

Not sure how CREA and DDF fit next to your local board yet, whether you may show other brokerages’ homes, how DDF differs from IDX, or whether to use the DDF national pool or your board’s feed? Start with how Canadian MLS and DDF work, it lays out which boards run their own MLS and where CREA sits. Come back once you know what you’re connecting to.

REALTOR.ca DDF versus a direct board feed

DDF isn’t the only way to get Canadian listings onto a WordPress site. A regional board’s own feed is a different product with a different approval path. Here’s the comparison, using TRREB’s PropTx IDX feed.

Aspect REALTOR.ca DDF (Member Website Feed) Direct board feed (TRREB / PropTx IDX)
Who grants access CREA, with your own opt-in through the DDF Dashboard The board directly, via a signed Data Agreement
Approval path Self-serve in the Dashboard once brokerage permissions are set Signed Data Agreement authorized by the Broker of Record; TRREB says allow at least 2-3 days
Coverage Your own and/or your brokerage’s listings; National Shared Pool adds other participants’ The board’s own listing inventory
Data format RESO Web API over OData, via CREA’s own API RESO Web API via the board’s own API (PropTx for TRREB)
Refresh floor At least every 24 hours, Rule 5(b), both website types Not published on TRREB’s official pages
Cost No CREA fee published for an individual Dashboard opt-in No official figure published by TRREB or PropTx

A Member Website Feed suits an agent or brokerage putting their own listings on their own site. A direct board feed is what you need when the job requires a specific board’s full local inventory. TRREB’s own IDX datafeed page describes reciprocal, brokerage-to-brokerage advertising of active listings, and its Data Transfer Service page is where the 2-3 day figure comes from.

Not sure which board holds your inventory? The Canadian MLS board directory lists them.

Two things before you compare on price. DDF carries active listings only: CREA’s Web API release notes, dated July 23, 2026, state the API now enforces a StandardStatus of Active on every listing returned.

And the $1,500 figure you may have seen quoted comes from CREA’s DDF technology-provider community, last edited April 2025. It is an onboarding fee for a company registering as a Technology Provider, not something an agent or brokerage pays to use DDF.

The plugin checklist

Run every candidate through these nine questions. The credential question is the fastest one to apply, so start there.

If you want the whole decision on one screen first, this is the selection table. Every requirement in it carries the rule or source it comes from.

What you are selecting on What to require Where the requirement comes from
CREA approval The brokerage has opted into DDF through the Dashboard, and the plugin never asks you to paste your DDF credentials into its admin screen. There is no certification for a DDF plugin as such; CREA designates Technology Providers, and a vendor’s own claim is not that designation. Rule 5(j)(iii), Rules 5(a) and 5(j)(ii), and CREA’s own posts on Technology Providers.
Feed type The channel you opted into, named exactly: Member Website Feed, National Shared Pool, or both. A regional board feed such as TRREB’s PropTx is a different product with a different approval path. DDF Policy section 1.
Storage model Listings imported into your own database as real posts, not a remote iframe, and a cleanup that deletes listings once they leave the market. Past 10,000 listings the dedicated replication endpoint is required. CREA developer documentation.
Search and templates Decide which layer supplies them. An import plugin feeds data; the search forms, filters and listing templates come from your real estate theme, or from a standalone mode that renders on any theme. Product architecture. Ask the vendor which layer is which before you buy.
Update cadence An actual sync interval in hours, not the phrase “updated daily”. The floor is once every 24 hours, and an hourly sync clears it. Rule 5(b).
Attribution and display A linked Powered by REALTOR.ca logo at 90px minimum width and 1:1 ratio, brokerage name, required provincial information, CREA watermarks and the trademark statement, on every page. Rule 5(d) does not require blocking search engines from the permitted display. Rules 6(a) and 6(c).
Theme compatibility A test on a staging copy of your actual theme. “Works with any theme” is a claim, not a test result. Practice, not policy.
Price model The published number, plus what it excludes. MLS Import is $49 a month after a 30 day free trial, with no setup fee and cancel any time. Board and feed costs sit outside any plugin price. Published pricing. Ask for the same clarity from every candidate.
  1. Authorization method, and the credential rule. CREA’s DDF Web API uses OAuth 2.0 client credentials against an Identity Server, and CREA’s own developer documentation says the token is not a sliding token: after one hour a new one must be requested regardless. CREA also warns there that client-to-server token requests create a security risk. Pair that with Rule 5(j)(iii): participants may not share or disclose their DDF® credentials, including the usernames and passwords required to access the DDF®, to a Technology Provider or any other party. The negative test: if a plugin’s setup screen asks you to paste those credentials into its admin panel, that is the disclosure Rule 5(j)(iii) prohibits.
  2. Channel support. Confirm the plugin handles the channel you opted into, named precisely: Member Website Feed or National Shared Pool. A useful scope note from CREA’s docs: member websites using the DDF don’t need the separate lead API that Real Estate Advertising Websites must implement.
  3. Refresh cadence. Rule 5(b) sets the floor at once every 24 hours on National Pool Websites and Member Websites. Ask for the plugin’s actual sync interval, not a phrase like updated daily, and confirm it clears the floor.
  4. The Analytics Web Service API. Rule 5(c) requires it on both website types. It’s a call to CREA’s LogEvents endpoint on analytics.crea.ca carrying ListingID, DestinationID, EventType and UUID. Ask whether the plugin fires those events automatically.
  5. Display compliance. Rules 6(a) and 6(c), both website types: a linked Powered by REALTOR.ca logo at a minimum 90px wide and 1:1 ratio, brokerage name, required provincial information, CREA watermarks, and the trademark statement on every page. One myth to drop: Rule 5(d) does not require blocking recognized search engines from indexing the permitted display.
  6. The WordPress storage model. Does the plugin import listings into your database as real posts, or embed a remote iframe? Past 10,000 listings CREA requires the dedicated replication endpoint, and its docs say a property no longer available on the market should be deleted from the customer’s data store. A plugin that can’t run that cleanup leaves sold listings live.
  7. Theme support. Test compatibility against your actual theme, on a staging copy, before you commit. Works with any theme is a claim, not a test result.
  8. Support process. You carry responsibility for your provider’s conduct under Rule 5(j)(i), so find out whether there’s a real support channel for feed and compliance questions, or only a sales inbox.
  9. Anti-scraping duty. This one lands on you, not the vendor. Rule 5(k) requires reasonable precautions against scraping of National Pool Websites and Member Websites, including monitoring the site and blocking access where needed.

Where MLS Import fits

Full disclosure first: MLS Import is our product. Read this the way you’d read any vendor describing its own tool.

From the WordPress.org plugin record rather than our own marketing pages: the MLSImport WordPress plugin connects over the RESO Web API and imports listings into your WordPress database as property content instead of embedding a remote iframe. Listing photos stay on the MLS or its CDN rather than filling your media library.

You need a valid MLS access token and an account. Standalone mode renders on any WordPress theme, with deeper native integration for WPResidence, WpEstate, Houzez and Real Homes: an upgrade, not a requirement. One MLS connection per site.

MLSImport pricing is public: $49 per month after a 30-day free trial, no setup fee, cancel any time. Modified properties sync every hour. That comparison against Rule 5(b) is ours, not CREA’s: 24 hours is the floor, an hourly sync clears it, but neither fact means the upstream MLS data changed in the last hour.

MLS Import handles the data step only. It pulls your approved feed into WordPress as real pages on your own domain, updates it every hour and removes listings that leave the feed. You still get your brokerage’s yes, add the linked Powered by REALTOR.ca logo, your brokerage name, the trademark line, the disclaimers and your privacy policy in your theme, and follow your province’s advertising rules (for example RECO in Ontario, BCFSA in BC). The rules bind you, the member, not the plugin. The full split is on our IDX compliance page.

On Canada, the plain version. The WordPress.org changelog documents PropTx and AMPRE (TRREB) provider support: version 6.3.8 added PropTx / AMPRE (TRREB) MLS provider wiring, and version 7.0.4 lists PropTx / AMPRE (TRREB) MLS provider support. That’s TRREB, through the board’s own API.

CREA DDF is a supported connection: the plugin carries a REALTOR.ca entry with its own Client ID and Client Secret fields, documented in REALTOR.ca DDF: getting your credentials. What still has to be confirmed with our support team is your specific authorization setup, which channel you opted into and what your feed actually returns, before you buy. RESO Web API support is not the same as coverage of every field a given board publishes, and we won’t pretend otherwise. You can download MLSImport from WordPress.org and read the changelog yourself.

Setup sequence

Six steps, in this order. Choosing a DDF plugin for WordPress is step four, not step one.

  1. Confirm your brokerage participates in DDF. If you’re a salesperson, get your brokerage’s permission in writing (Policy sections 3(a) and 4(a)).
  2. Opt into the channel you need, National Shared Pool or Member Website Feed or both, through the DDF Dashboard, and do it before you retain any Technology Provider (Rules 5(a) and 5(j)(ii)).
  3. Decide whether DDF covers your inventory or whether you also need a direct board feed. If the job requires a board’s full local inventory, DDF alone won’t get you there.
  4. Score your shortlist against the nine checklist items. Anything that can’t answer the credential question or the Analytics API question comes off the list, whatever else it does well.
  5. Set the connection up through the vendor’s own documented process. Rule 5(j)(iii) admits no exception: your DDF username and password go to no Technology Provider and no other party, server-side or not. If a setup guide asks you to enter them anyway, you’ve learned what you needed to know about the vendor.
  6. Confirm your authorization arrangement with the provider in writing: which feed, which channel, and who holds the credentials. Keep that record, because Rule 5(j)(i) leaves the provider’s conduct on your shoulders.

How do I automatically sync REALTOR.ca listings to WordPress?

Six steps, and only the last three are software. The first three are permission and credentials, which is where these projects actually stall.

  1. Obtain DDF approval. Confirm your brokerage participates in DDF, get your brokerage’s permission in writing if you are a salesperson, and opt into the channel you need through the DDF Dashboard, Member Website Feed for your own site, before you retain any Technology Provider.
  2. Receive the Client ID and Client Secret. CREA issues both through member support. There is no self-serve credentials page, whatever the public API documentation looks like. The request path, and the wording that gets a useful reply, are in REALTOR.ca DDF: getting your credentials.
  3. Connect MLS Import. Select the REALTOR.ca entry in the Your MLS search, paste the client ID and the client secret into the two REALTOR.ca fields, save, and run the connection test. Selecting that entry is what reveals the two fields; a single token box means a different MLS is selected.
  4. Select the permitted fields and listings. Choose your fields on the import task’s field tab, and scope the listings you are authorized to display. DDF covers the whole country, so filter: province filtering works through the task’s custom parameters field, written as StateOrProvince eq 'Ontario', and even one province returns tens of thousands of records, so split it across several tasks narrowed by city or price.
  5. Run the initial import. Run one task by hand with a small listing count first, confirm it finishes, then raise it. A task that has never completed an import is skipped by the scheduler, so a half-finished first run is the usual reason a site never updates.
  6. Enable hourly synchronization. Turn on Enable Auto Update every hour on each finished task. Each run asks the feed for records modified in the last two hours and writes them in place; how the hourly auto update works covers what it does and does not do.

Does that hourly sync satisfy the 24-hour refresh requirement above? Yes, while the task stays enabled and healthy. Rule 5(b) sets a floor of one refresh every twenty-four hours on National Pool and Member Websites, and a task running hourly clears that floor many times over. Three caveats, all ours. The comparison is our reading of CREA’s rule, not a statement CREA has made about our product. It only holds while the task actually runs: a switch left off, a first import that never completed, or a site too quiet for WP-Cron to fire means nothing is refreshing, whatever the schedule says, so check the Last Action column and drive the schedule from a real server cron if your listings must be current at a fixed time. And separately, ask CREA what pull frequency your feed permits, because a published cadence can be a ceiling on how often you may poll as easily as a floor on how stale the data may get.

Frequently Asked Questions

I’m in the US. Can I use CREA DDF to show listings on my website?

No. CREA DDF carries Canadian listings only, and only CREA members can get a feed. A US agent or broker can’t sign up for it.

For US listings, you need an IDX feed from your own local MLS. IDX is the set of board rules that lets you show other brokers’ listings on your site. Your broker usually signs for it. Here is the US path:

  1. Ask your MLS if it gives members a feed for their own website.
  2. Get your broker to sign the board’s data agreement.
  3. Paste the token your MLS sends you into MLS Import.

MLS Import works with US MLSs too, not just Canada. Check whether your board is in our list of US MLSs. The full walk-through is in how to connect your website to your MLS.

Pro Tip

Do you sell on both sides of the border? MLS Import connects one MLS per site. A Canadian feed and a US feed means two sites. See can I connect two MLS boards to one website.

Can I put MLS listings on my personal website in Canada if I’m not an agent?

No. DDF and board feeds go to REALTORS® who are members in good standing, with their brokerage’s OK. A buyer or homeowner can link to REALTOR.ca. They can’t pull listings onto their own site. A web developer can build the site, but the feed is approved to the member whose site it is.

Is there a DDF plugin for WordPress?

Yes. Several WordPress plugins advertise a REALTOR.ca DDF connection. No certification exists for a DDF plugin as such. CREA does designate official Technology Providers, as its café blog explained on February 27, 2025, but a vendor’s own claim of compliance is not that designation. Check any candidate, MLS Import included, on credential handling, channel support, refresh interval, Analytics Web Service events, and CREA’s display requirements.

Is DDF the same as a Canadian MLS?

No. REALTOR.ca DDF (Data Distribution Facility) is a CREA-managed, permission-based listing distribution service, not a single national MLS board. Regional boards such as TRREB run their own MLS systems; DDF moves listing content between participants who opted in. A plugin like MLS Import connects to a specific feed you are authorized for, not to Canada.

Can I put my DDF username and password into a plugin?

No. Rule 5(j)(iii) of CREA’s DDF Policy and Rules states that participants may not share or disclose their DDF credentials, including usernames and passwords, to a Technology Provider or any other party. A compliant vendor never asks you for them. Ask any vendor, including us at MLS Import, how the connection is authorized without them.

How often must listings refresh?

At least once every 24 hours. CREA’s Rule 5(b) applies that floor to both National Pool Websites and Member Websites, and stale content has to come off after the refresh. It is a minimum, not a target. MLS Import syncs modified properties hourly, which clears it.

Do I need a direct board feed instead of DDF?

It depends on coverage. A Member Website Feed carries your own or your brokerage’s listings; the National Shared Pool adds other participants’ listings. If you need a board’s full local inventory, such as TRREB’s, a direct feed like PropTx IDX is the path, with its own signed Data Agreement. MLS Import’s changelog documents PropTx and AMPRE (TRREB) support.

Does MLS Import work with CREA DDF?

MLS Import is our own plugin. Its support for TRREB listings through PropTx and AMPRE is documented in the WordPress.org changelog, versions 6.3.8 and 7.0.4. CREA DDF compatibility is separate: confirm it with our support team for your specific feed and authorization arrangement before you buy.

Do I have to pick a vendor from CREA’s technology provider list?

No, not when the feed stays in your own name. CREA’s provider list is for vendors who take the feed and run it for you. With MLS Import, you hold the feed and type your own credentials into your own WordPress site.

Here is how the two routes compare:

A listed provider runs it You run it with MLS Import
Whose name is on the feed Often the provider’s Yours or your brokerage’s
Who enters the credentials The provider You, in your own site
Where listings live The provider’s system Your WordPress site, your domain
What you pay The provider’s price $49 a month after a 30-day free trial

When you set up the feed in CREA’s wizard, it asks if you will use a third-party Technology Provider. MLS Import users pick “I will not be engaging a third-party Technology Provider.” The steps are in our TRREB DDF guide. CREA Rule 5(j)(iii) also says you may not share your DDF credentials with a provider, so never send them to anyone.

Screens and rules change. Before you build, ask CREA which choice fits your account.

B
About the author
Benjamin Levy
Writes about MLS feeds, IDX compliance, and running real-estate websites on WordPress at scale.
All posts by Benjamin