RESO Web API via Trestle

CRMLS listings, on the site you already have.

CRMLS sends its RESO feed through Trestle. We sync it into your WordPress, Laravel or custom site, follow the CRMLS IDX rules, and keep it current every 2 to 3 hours.

Region
California
Protocol
RESO Web API via Trestle
Refresh, configurable
2 to 3 h
Trestle handshakeIllustration, not a live connection
  1. POST /oidc/connect/token client_credentials
    Cached, refreshed when it expires.
  2. GET /Property?replication=true
    Replication for the first load.
  3. @odata.nextLink
    Followed to the end of the set.
  4. $filter=ModificationTimestamp gt {last}
    Only what changed since the last run.
  5. Media ordered by Order
    Served through an image CDN.
Trestle OAuth client credentials, issued per connection once CRMLS approves the request.
The gap

A huge market, and a site that still frames someone else's search.

Most CRMLS brokers start with a framed link or a plugin, then get quoted a full rebuild to move past it. The feed itself is not the hard part. The sync, the solds, the listing credit rules and the photos are. We have synced this board's feed before, on a multi MLS platform we built and ran from 2018 to 2025.

  • Active listingsPending and coming soon included, refreshed every 2 to 3 hours.
  • SoldsSynced on their own schedule, scoped to your office by default.
  • Agent and office rostersFrom the feed, or built from listings when there is no roster access.
  • Open housesSynced and attached to their listings.
  • Photos and virtual toursCarried through and served from an image CDN with resizing.
  • Map searchBox, drawn polygon, radius and neighborhood, with pin clustering.
The board

What CRMLS is

CRMLS, the California Regional Multiple Listing Service, is a subscriber based MLS covering much of California. It says it serves more than 93,000 real estate professionals from 39 associations, boards and MLS organizations.

Its subscribers work in CRMLS Matrix, Paragon and Flexmls, and log in through the REcore dashboard. For data, CRMLS offers framed IDX links, licensed IDX vendors, and raw RESO feeds through Trestle.

For a broker who wants listings inside their own site, the Trestle feed is the one that matters. It hands over the data. Getting it onto your pages, with the CRMLS display rules, is the work.

The board decides which platform carries its feed. Each route has its own login, paging and limits, and its own page here.

Getting access

How a CRMLS broker gets a feed

CRMLS lists three IDX options. The raw feed goes through Trestle, and the request starts with you or your developer.

  1. 1

    Pick the option

    CRMLS offers IDX Standard and IDX Plus framed links, licensed IDX vendors, and a RESO certified feed through Trestle. A feed into your own site is the third.

  2. 2

    Have your IDs ready

    CRMLS asks for your Matrix ID and Office ID, plus its IDX Request Form when you work with a licensed vendor.

  3. 3

    Subscribe on Trestle

    You or your developer sign up for Trestle and request a connection to CRMLS in the Subscription Wizard, describing how the data will be used.

  4. 4

    Developer requests

    CRMLS treats a request from a developer or a new IDX vendor as a general IDX vendor request, and the Trestle and per URL fees fall to the developer.

  5. 5

    Credentials, then go live

    Once the connection is approved, Trestle issues the client ID and secret. The sync is checked against the feed before your pages switch.

CRMLS and Trestle set the fees and the approval timing. The figures on this page come from the CRMLS IDX resources page.
What the feed carries

What the CRMLS feed carries

Through Trestle the feed follows the RESO Data Dictionary. CRMLS decides which statuses and fields your licence includes.

01

Listings

Property records for Active, Active Under Contract and Pending listings, as CRMLS describes its IDX data.

02

Solds

CRMLS includes Sold listings from 2012 onward in IDX data. They sync on their own schedule.

03

Rosters and open houses

Member, Office and OpenHouse resources through Trestle, where your licence includes them.

04

Photos

A Media resource with a URL per photo, tracked on PhotosChangeTimestamp so photos only move when they change.

05

Change tracking

ModificationTimestamp for regular pulls, and Trestle's replication endpoint for full loads.

06

Removals

Changes do not show what left the feed. A daily purge compares listing keys, with a minimum count check that blocks a bad purge.

Board rules

Rules the sync follows here.

Taken from the board's own published rules and data pages, listed under Sources above. The audit confirms the current version before anything is built.

Which statuses IDX carries

CRMLS says its IDX data covers Active, Active Under Contract and Pending listings, plus Sold listings from 2012 on. Each status gets its own rules in the sync.

Agent only fields stay out

CRMLS keeps agent remarks and showing instructions out of IDX. The sync never stores them for public pages.

Listing credit and display rules

CRMLS publishes IDX Standards of Practice and listing credit guidance. The disclaimer and listing credit are set per board, with the last updated time shown.

Fees per feed and per URL

CRMLS lists a Trestle fee for each IDX feed and a small monthly fee per website URL after the first two. The audit checks which ones your setup triggers.

Your stack

Into WordPress, Laravel or your own stack

WordPress

Many CRMLS brokers start on a framed link or IDX plugin. The Trestle sync runs from a server cron job and fills its own tables, so listings render in your theme instead of a frame. Disclaimers and listing credit sit in one template part.

Laravel

Queued jobs on the scheduler pull changes, photos and solds from Trestle. CRMLS gets its own small filter class for local fields and statuses. The token sits in the cache with its expiry, and models read the listing tables.

Custom

Any stack that can call HTTPS and run a schedule will do. A market this size suits a search index for map search, so pages never query Trestle on a page view. The sync writes one listing schema your pages read.

How the switch happens

Old feed stays up until the new one agrees.

Your listings never go blank. The new sync runs beside whatever feeds the site today, and we only switch when the two match.

  1. Audit

    We check your CRMLS access, your Trestle connection and what the site needs to show.

  2. Run the new sync beside the old

    It fills its own tables while your current listings stay up.

  3. Compare

    Counts, statuses, photos and rosters checked against the feed.

  4. Switch and retire

    Pages read from the new sync. The framed search, plugin or old script is removed.

Choosing a feed

Framed link, IDX vendor, or Trestle feed?

CRMLS lists framed IDX links at no added cost, licensed IDX vendors who charge their own fees, and a raw RESO feed through Trestle. The Trestle feed is the one that puts the raw listings in your own database, under your own design.

Brokers get two Trestle feeds at no charge, per CRMLS. A developer building for you pays the Trestle IDX fee and the per URL fee. The audit sets out which costs apply before anything is built.

Framed IDX linkNo added CRMLS cost, but the search lives in a frame, not your site.
Licensed IDX vendorNo CRMLS charge, but the vendor sets its own fees and design.
Trestle feedThe raw RESO feed, Web API or RETS, synced into your own site.
Start here

MLS feed audit

$499credited to the integration
  • Your MLS access and feed type checked: RESO Web API, RETS, Trestle, Bridge, MLS Grid
  • Your platform, data model and hosting checked
  • Written sync plan: what syncs, how often, what shows where
  • Fixed quote for the integration
Request this package
What happens next
  1. You send the basics.

    Your site's address, what it runs on, and which MLS or feed you have access to.

  2. We check the feed and the site.

    Access, fields, photos, rosters, and how your platform stores listings.

  3. You get a written plan.

    What syncs, how often, what shows where, and a fixed price for the build.

  4. You decide.

    If you go ahead, the $499 comes off the integration.

We are an independent developer. We are not affiliated with, or certified by, any MLS or data provider named on this page.

Other boards

On a different MLS?

FAQ

Before the audit.

CRMLS says brokers get two Trestle feeds at no charge. After that it lists a Trestle service fee of $85 a month per feed. When a developer is involved, CRMLS lists a $7 a month fee per website URL, with the first two URLs free.
You can use a framed IDX link, a CRMLS licensed IDX vendor, or a RESO feed through Trestle. For listings that live inside your own site, it is the Trestle feed, and that is what we sync.
CRMLS says its IDX data includes Sold listings from 2012 onward. We sync solds on their own schedule, scoped to your own office's deals by default.
CRMLS still lists RESO RETS through Trestle. We build new work on the Web API, and move existing RETS code over when a site still runs it.
Active listings every 2 to 3 hours, configurable, with a weekly full re-sync and a daily purge of off market listings.
No. We are an independent developer, not affiliated with CRMLS, Trestle or Cotality. The data licence is between you and CRMLS.
You can, the first version. Many RETS era feeds were built quickly and broke over the next few years: token changes, board rule changes, photos moving hosts, purges that wiped sites. The audit tells you what you would be signing up for either way.
The feed audit is $499 and credited to the integration. The integration is quoted as a fixed price after the audit.

Find out what your feed needs.

Send the site's address and the feed you have access to. The audit gives you a written plan and a fixed quote.