Skip to main content

Carousel URL Parameters

The /embed/carousel endpoint renders a CardCarousel component that displays places or events in a horizontally scrollable carousel layout.

Base URL

/embed/carousel?slug=<boundary-slug>

Required Parameters

ParameterTypeDescription
slug OR boundarystringLocation boundary slug (e.g., "austin", "sf", "denver")
liststringAlternative: List slug that provides configuration from Lists API

Note: Either slug/boundary OR list must be provided. When using list, if the list has an associated organization, that organization's boundary will be used automatically.


Content & Data Parameters

ParameterTypeDefaultDescription
typestring"places"Content type: "places" or "events"
vibesstring-Comma-separated vibe filters (e.g., "chill,artsy")
categoriesstring-Comma-separated category filters
tagsstring-Comma-separated tag filters
editorial_categoriesstring-Editorial category filters (always applied server-side)
dist / radiusnumber-Radius in meters for proximity search
hideNoImageItemsbooleanfalseHide items without images
strictFilterbooleanfalseWhen true, taxonomy filters are applied server-side
ordering / sortstring"-score_combined"Sort order for results (see below)

Sort Order (ordering / sort)

Controls how places are sorted in the carousel.

ValueDescription
nameAlphabetical by place name (A-Z)
-score_combinedDefault. By relevance/popularity score (highest first)
-vibe_countBy number of vibes (most vibes first)

ParameterTypeDefaultDescription
columns / gridColumnsnumber4Number of visible slides/cards
headerstring-Optional header text above the carousel

Card Display Parameters

ParameterTypeDefaultDescription
showVibesOnCardsbooleantrueShow vibes on cards
showTagsOnCardsbooleanfalseShow tags on cards
showCategoriesOnCardsbooleanfalseShow categories on cards
showDescriptionbooleanfalseShow description on cards
showAddressOnCardsbooleantrueShow address on cards
subtitleSourcestring"none"Source for card subtitle: "none", "category", "address", etc.
subtitlePositionstring"above-title"Subtitle position: "above-title" or "below-title"

Rating Parameters

ParameterTypeDefaultDescription
showRatingbooleanfalseShow ratings on cards
ratingShapestring"star"Rating shape: "star" or "dot"
ratingDisplayStylestring"both"Display style: "stars", "number", or "both"
ratingPositionstring"below-title"Position: "above-title", "below-title", "below-address", "next-to-category"
ratingStarSizenumber16Size of rating stars in pixels
ratingStarColorstring"#FFD700"Color of rating stars (hex)
showRatingCountbooleantrueShow the number of ratings

Bookmark Parameters

ParameterTypeDefaultDescription
showBookmarkbooleanfalseShow bookmark button on cards
bookmarkIconstring"star"Icon type: "bookmark", "heart", or "star"
bookmarkIconColorstring"#FF0000"Color of bookmark icon (hex)

Button Parameters

ParameterTypeDefaultDescription
showButtonbooleanfalseShow action button on cards
buttonTextstring-Custom text for the button

Event-Specific Parameters

ParameterTypeDefaultDescription
groupRecurringEventsbooleanfalseGroup recurring events to show only next occurrence

Recurring Event Behavior: When groupRecurringEvents=true, events from a recurring series are grouped together, showing only the next occurrence with a badge indicating more dates are available. Clicking the recurring badge navigates to the event series page (/event-series/{id}) where all occurrences can be viewed.


Updates Display

ParameterTypeDefaultDescription
showUpdatesbooleanfalseEnable updates display on cards
updatesDisplayModestring"badge"Display mode: "badge", "text", or "both"
updatesFilterTypesstring-Comma-separated types: Update,Offer,Clue,Sponsor,Special

Theme Parameter

ParameterTypeDefaultDescription
theme / themeNamestring"default"Theme slug for styling

Example URLs

/embed/carousel?slug=austin&type=places
/embed/carousel?slug=dc&type=events&groupRecurringEvents=true
/embed/carousel?slug=la&columns=5
/embed/carousel?list=my-curated-list&columns=4
/embed/carousel?slug=sf&header=Featured%20Places

Filtered by Editorial Category

/embed/carousel?slug=austin&editorial_categories=best-coffee-shops

With Ratings Displayed

/embed/carousel?slug=denver&showRating=true&ratingDisplayStyle=both&ratingPosition=below-title

With Bookmarks and Buttons

/embed/carousel?slug=nyc&showBookmark=true&bookmarkIcon=heart&showButton=true&buttonText=View%20Details

Hide Items Without Images

/embed/carousel?slug=sf&hideNoImageItems=true
/embed/carousel?slug=nyc&type=places&columns=4&header=Top%20Spots&showVibesOnCards=true&showAddressOnCards=true&showRating=true&hideNoImageItems=true&theme=default

PostMessage Events

The embed communicates with the parent window via postMessage:

Event TypeDescriptionData
"card-clicked"User clicked a card{ embedId: "carousel", data: <item> }

Example Parent Window Handler

window.addEventListener("message", (event) => {
if (event.data.embedId === "carousel") {
switch (event.data.type) {
case "card-clicked":
console.log("Card clicked:", event.data.data);
// Navigate to detail page, open modal, etc.
break;
}
}
});

Embedding

Basic iframe Embed

<iframe
src="https://vibemap.com/embed/carousel?slug=austin&type=places"
width="100%"
height="350"
frameborder="0"
style="border: none;"
></iframe>

With Custom Header

<iframe
src="https://vibemap.com/embed/carousel?slug=austin&header=Discover%20Austin"
width="100%"
height="400"
frameborder="0"
style="border: none;"
></iframe>

Responsive Embed

<div style="width: 100%; max-width: 1200px; margin: 0 auto;">
<iframe
src="https://vibemap.com/embed/carousel?slug=austin"
width="100%"
height="350"
style="border: none;"
></iframe>
</div>

Notes

  • The carousel automatically adjusts the number of visible cards based on container width
  • Navigation arrows appear only when there are more items than can fit on screen
  • Cards are displayed in vertical orientation with a consistent "basic" style variant
  • For events, enabling groupRecurringEvents will show only the next upcoming occurrence of each recurring event series