Skip to main content

Method Signature

constructorio.browse.getBrowseFacets(parameters?, networkParameters?)
Retrieves all available facets (filter options) for browse results without requiring a specific filter selection.

Parameters

parameters
object
Optional parameters to customize the facets request.
networkParameters
object
Network-specific parameters.

Response

Returns a Promise that resolves to a GetBrowseFacetsResponse object.
request
object
The request parameters that were sent.
response
object
The facets response data.
result_id
string
Unique identifier for this request.

Examples

Basic Usage

const facetsResponse = await constructorio.browse.getBrowseFacets();

console.log('Available facets:', facetsResponse.response.facets);

With Pagination

const facetsResponse = await constructorio.browse.getBrowseFacets({
  page: 1,
  resultsPerPage: 50
});

facetsResponse.response.facets.forEach(facet => {
  console.log(`${facet.display_name}: ${facet.options.length} options`);
});

For a Specific Section

const facetsResponse = await constructorio.browse.getBrowseFacets({
  section: 'Products'
});

With Custom Timeout

const facetsResponse = await constructorio.browse.getBrowseFacets(
  {},
  { timeout: 5000 }
);

Processing Facets for UI

const facetsResponse = await constructorio.browse.getBrowseFacets();

const facetFilters = facetsResponse.response.facets.map(facet => ({
  id: facet.name,
  label: facet.display_name,
  type: facet.type,
  options: facet.options.map(opt => ({
    value: opt.value,
    label: opt.display_name,
    count: opt.count
  }))
}));

console.log('Processed facets:', facetFilters);

Use Cases

Building Faceted Search UI

Use getBrowseFacets() to populate filter options in your search/browse interface:
async function loadFilterOptions() {
  const facetsResponse = await constructorio.browse.getBrowseFacets();
  
  // Render facets in your UI
  renderFilters(facetsResponse.response.facets);
}

Discovering Available Filters

Retrieve all available facets to understand what filtering options exist in your catalog.

Error Handling

try {
  const facetsResponse = await constructorio.browse.getBrowseFacets();
  console.log('Facets loaded successfully');
} catch (error) {
  console.error('Error loading facets:', error);
}

Build docs developers (and LLMs) love