Skip to main content

How to Organize and Filter Listings (Tags, Segments, Dynamic Sets)

Written by Ryo

Wheelhouse gives you three ways to group and filter your listings: tags, segments, and dynamic sets. Tags are simple labels you apply manually. Segments are filter-rule-based groups — Wheelhouse evaluates a filter_backend criteria object against each listing's attributes to determine membership. Dynamic sets are manually-curated comparison groups used to track competitive performance against specific competitor listings.


Tags

Tags are custom labels you attach to listings. Use them to mark listing types, ownership groups, tiers, or anything that helps you filter and organize your portfolio.

Add a tag to a listing

Pass the tag names as an array. By default (overwrite: false) the tags are merged with any existing ones:

curl -X PUT "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/tags?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"names": ["beachfront"]}'

List tags on a listing

curl "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/tags?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here"

Remove a tag

There's no delete-by-name endpoint. To remove a tag, fetch the current tags, drop the one you want removed, then overwrite with the updated list:

curl -X PUT "https://api.usewheelhouse.com/ss_api/v1/listings/12345678/tags?channel=airbnb" \
-H "X-Integration-Api-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{"names": ["tag-to-keep", "another-tag"], "overwrite": true}'

Segments

Segments are filter-rule-based portfolio groups. The filter_backend object defines the criteria — Wheelhouse evaluates it against each listing's attributes (bedrooms, channel, tags, performance stats, etc.) to determine which listings belong.

List all segments

bash
curl "https://api.usewheelhouse.com/ss_api/v1/segments" \
-H "X-Integration-Api-Key: your_api_key_here"

Returns an array of segment objects. Each has an integer id, name, description, filter_backend, is_default, created_at, and updated_at.

Get listings in a segment

curl "https://api.usewheelhouse.com/ss_api/v1/segments/42/listings" \
-H "X-Integration-Api-Key: your_api_key_here"

Returns an array of listings that match the segment's filter criteria.


Dynamic sets

Dynamic sets are user-curated comparison groups used to track competitive performance. You manually add listings to a set — typically competitor listings you want to benchmark against. Only paid dynamic sets are accessible via the API; free sets return 404.

List all dynamic sets

curl "https://api.usewheelhouse.com/ss_api/v1/sets" \
-H "X-Integration-Api-Key: your_api_key_here"

Get listings in a dynamic set

Returns the member listings grouped by membership status:

bash
curl "https://api.usewheelhouse.com/ss_api/v1/sets/7/listings" \
-H "X-Integration-Api-Key: your_api_key_here"

{
"active": [...],
"hidden": [...],
"review": [...],
"removed": [...]
}

Filtering your listings by tag or segment

Once your listings are tagged or grouped, you can use those values to scope bulk operations — update preferences for all beachfront listings, pull KPIs for a specific segment, or apply custom rates to a dynamic set.

Next steps

How to access market and neighborhood data

Did this answer your question?