Most real estate websites running on HubSpot CMS handle listings one of five ways. The right one depends entirely on your tier, your listing count, and whether your data already lives somewhere structured.
This is a practical guide to the five paths we see most often, with the honest tradeoffs of each. No "best in class" rankings, just what fits which kind of agency.
If you have under 50 listings and you are on Content Starter, use a marketplace module with manual entry. It is the cheapest path and it works.
If you have more than 50 listings or your team will edit weekly, you probably need Content Hub Professional and a HubDB-backed page. Pro is the realistic floor for any kind of CRM-synced or database-driven setup.
If your listings are part of broader sales workflows (lead routing, agent assignment, deal stages), look at HubSpot Custom Objects on Pro or Enterprise.
If you have an MLS feed already syncing somewhere, write a serverless function on Pro or Enterprise to pull from it.
If none of the above fit, you fall back to a JavaScript-rendered page, which has real SEO downsides.
Below is the long version.
The simplest setup. Buy a marketplace module designed for real estate listings, install it on a page, enter listings directly through the page editor. Done.
This is what most small brokerages and solo agents start with. It works on every Content Hub tier including Starter, which is the only listing-page approach that does. The whole site can run on Starter, the listings live inside the module instance, and there is no database, no HubDB, no API setup, and no developer.
When this fits:
When this breaks:
We built Property Listing Pro for this exact case. It runs on Content Starter, ships with live search, three filter groups, drawer detail view with an embedded HubSpot inquiry form, and Schema.org RealEstateListing structured data so Google rich results and AI search can read every property. One-time module purchase, no subscription.
There are other marketplace modules with similar shapes. The thing to verify before buying any of them: does it actually run on Content Starter, or does it require HubDB underneath? A surprising number of "real estate" modules on the marketplace assume HubDB is available, which silently locks them to Pro+ portals.
The next step up. Build a HubDB table for your listings (one row per property), build a dynamic page template that pulls from the table, and optionally enable HubDB dynamic pages so each listing gets its own URL automatically.
HubDB requires Content Hub Professional or higher. That is the hard floor. You cannot do this on Starter no matter how creative the workaround is.
What you get:
When this fits:
When this breaks:
Cost is the Content Hub Pro subscription (a few hundred dollars per month) plus custom development to build the page template and HubDB schema. Typical scope of work for a small build is a couple of weeks of dev time.
For agencies that want listings to be a first-class CRM object, not just a website resource.
Custom Objects let you create a "Listing" type in the HubSpot CRM, with its own properties (price, beds, baths, MLS ID, agent owner, status). You can associate listings with contacts, with deals, with companies, run workflows on them, build reports off them, and query them from CMS pages with HubL crm_objects().
Read access from CMS pages is available on Content Hub Professional. Full custom object create and edit access requires Enterprise. Most real estate teams that go this route are already on Sales Hub Enterprise for the broader CRM features.
When this fits:
When this breaks:
This is the most expensive option but it is also the only one where listings become a real CRM citizen. If your sales process revolves around tracking property interest, it is the right path.
For brokerages with an MLS feed or an external system of record. Use HubSpot serverless functions to fetch listings from the MLS API on a schedule and write them into HubDB or a custom object, or to fetch on page render with caching.
Serverless functions require Content Hub Professional or higher.
When this fits:
When this breaks:
This is the most operationally complex option. It is also the only one that scales to thousands of always-fresh listings without manual data entry. Reserve it for brokerages that genuinely need MLS-sourced data.
The escape hatch when you absolutely cannot afford a tier upgrade. Build an empty page on HubSpot, drop a JavaScript snippet that fetches listings from an external API at page load, and renders them client-side.
Works on every tier including Starter. No HubDB needed, no serverless needed.
When this fits:
When this breaks:
We do not recommend this approach for any agency that wants to be found in search. It is a stop-gap, nothing more.
A simple decision tree:
The most common mistake we see is small agencies trying to build a Pro-tier solution because somebody told them "you need a real database." For 30 listings, a marketplace module on Starter is faster, cheaper, and produces a better-looking page than a half-finished HubDB build. Match the tool to the actual scale.
If you are scoping a real estate site on HubSpot and want help figuring out which path fits, get in touch. If you already know you want the marketplace-module path, the Property Listing Pro page has a live demo, full feature list, and the marketplace link.