MLS Board Utility Use Cases

Why this matters

MLS data is organized by board, and coverage rarely lines up neatly with city or county lines. A single beach town can be served by several boards, while one large board can cover parts of several states.

/v3/MLSBoardCoverage answers the questions you need settled before you build anything:

  • Which boards operate in a state?
  • How big and how active is each one?
  • Which boards cover a given ZIP, city or county?

It returns coverage only, no listing data. Each call counts as one unit of usage, no matter how many rows come back.

Common use cases

  • Plan an expansion. Moving into a new state? Rank its boards by listing volume and recent activity, and start with the most active ones.
  • Check coverage before onboarding a customer. Confirm every board a brokerage or territory relies on, down to the ZIP.
  • Get board codes for your searches. Find the mls_board_code values to use in MLS Search, Pins and Detail.
  • Plan sync jobs per board. Size each board before you schedule daily jobs for it.
  • Retire your board spreadsheet. Pull an always-current list of boards, codes and names instead of maintaining one by hand.

Modes

modeReturnsPaging
boardsEvery board in the requested state(s), with listing countsFull list in one response
zipsEach ZIP, with the boards covering itCursor (next_cursor)
citiesEach city, with the boards covering itCursor
countiesEach county, with the boards covering itCursor

state is required in every mode. Send one code, or an array of up to 5. CA, TX and FL are large and must each be requested on their own.

Workflow 1: Rank the boards in a new state

{ "mode": "boards", "state": "TX" }

Each board comes back with its size and its recent activity in each state:

{
  "mls_board_code": "txhar",
  "mls_board_name": "Houston",
  "mls_board_display_name": "Houston Association of REALTORS®",
  "listing_count": 2053997,
  "states": [
    {
      "state": "TX",
      "listing_count": 2046279,
      "active_listing_count": 79186,
      "closed_listing_count": 1887578,
      "new_listings_last_90d": 89492,
      "sold_last_90d": 10087
    }
  ]
}
  • listing_count is every listing the board has, across all states and statuses.
  • active_listing_count and new_listings_last_90d show how much is on the market right now. They're the best signal for where to start.
  • Boards are sorted largest first.
  • The response also includes summary.board_count_by_state, showing how many boards operate in each state.

For several smaller states at once, group the results by state instead:

{ "mode": "boards", "state": ["WI", "MN"], "group_by_state": true }

Workflow 2: Check coverage for a territory

List every ZIP in a state, with the boards that cover it:

{ "mode": "zips", "state": "AL", "size": 500 }

Here's Orange Beach, AL (ZIP 36561), trimmed to the first four boards:

{
  "zip": "36561",
  "boards": [
    { "mls_board_code": "albald", "mls_board_name": "Baldwin County Association of REALTORS®", "listing_count": 20628 },
    { "mls_board_code": "flpar", "mls_board_name": "Pensacola Association of REALTORS®", "listing_count": 699 },
    { "mls_board_code": "almaar", "mls_board_name": "Mobile Area Association of REALTORS® / Gulf Coast MLS", "listing_count": 333 },
    { "mls_board_code": "albham", "mls_board_name": "Greater Alabama MLS", "listing_count": 166 }
  ],
  "listing_count": 21864
}

One ZIP, four boards with real inventory. A brokerage working this area would need all four to see the full market. The full response also lists a tail of boards with only one or two listings in the ZIP, usually stray or mis-addressed listings, so focus on boards with meaningful counts.

If next_cursor isn't null, send it back as cursor to get the next page. Keep going until it is null. Use cities or counties mode the same way.

Workflow 3: Use the board codes

Once you know a board's code, scope your searches to it:

{ "mls_board_code": "txhar", "status": "Active", "listing_date_min": "2026-09-30", "listing_ids_only": true }

You can also find a board by name as the user types, with MLS AutoComplete and search_types: "B".

What the default view leaves out

By default, boards mode shows where inventory actually is. It drops:

  • states where a board has no active listings,
  • states that only hold a few spillover listings from a neighboring board,
  • boards with fewer than 5 active listings.

Send show_all: true to see everything, including small or inactive boards. That view is useful for spotting a stale board or a stray cross-state listing.

Tips

TipWhy
Use zips or cities for territory checksThey're based on the listing's own address. counties uses public-record data, so it only counts listings matched to a public record
Ignore placeholder ZIPsYou may see values like 00000 with a handful of listings. These come from incomplete addresses
Read sold_last_90d with careIt relies on status-change dates, which some boards don't record, so it can show 0 for an active board. Use new_listings_last_90d to judge activity
Pass next_cursor back untouchedEdited cursors fail. See Troubleshooting MLS Board Utility Errors
Cache the resultsBoard coverage changes slowly. There's no need to call this before every search

Related pages