Constructor.io Browse facets API

The Browse facets API from Constructor.io — 3 operation(s) for browse facets.

Operations 3

GET /browse/facets Retrieve countable facets #
GET /browse/facet_options Retrieve facet options (values) by facet name #
GET /browse/facets_with_options Retrieve facets with their options (values) #

Documentation

📖
APIReference
https://docs.constructor.com/reference/search-search-results
📖
APIReference
https://docs.constructor.com/reference/autocomplete-autocomplete-results
📖
APIReference
https://docs.constructor.com/reference/browse-browse-results
📖
APIReference
https://docs.constructor.com/reference/recommendations-recommendation-results
📖
APIReference
https://docs.constructor.com/reference/image-search-image-search-results
📖
APIReference
https://docs.constructor.com/reference/v1-asa-retrieve-intent
📖
APIReference
https://docs.constructor.com/reference/catalog-management-introduction
📖
APIReference
https://docs.constructor.com/reference/v2-batching-items-update-items
📖
APIReference
https://docs.constructor.com/reference/configuration-facets
📖
APIReference
https://docs.constructor.com/reference/searchandising-searchandising-for-search
📖
APIReference
https://docs.constructor.com/reference/v1-quizzes-get-next-question
📖
APIReference
https://docs.constructor.com/reference/offsite-discovery-recommendations-offsite-discovery-results
📖
APIReference
https://docs.constructor.com/reference/v1-engagements-update
📖
APIReference
https://docs.constructor.com/reference/v2-display-ads-retrieve-display-ads
📖
APIReference
https://docs.constructor.com/reference/v1-product-details-get-items
📖
APIReference
https://docs.constructor.com/reference/v1-offline-behavioral-actions-create-actions
📖
APIReference
https://docs.constructor.com/reference/v1-user-profile-create-preferences

Specifications

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/constructorio-browse-facets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

constructorio-browse-facets-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@constructor.io
  title: Browse facets API
  version: '0.1'
servers:
- url: https://ac.cnstrc.com
security: []
tags:
- name: Browse facets
paths:
  /browse/facets:
    get:
      tags:
      - Browse facets
      operationId: v1-browse-get-browse-facets
      summary: Retrieve countable facets
      description: Retrieve countable facets for end users.
      parameters:
      - name: key
        in: query
        schema:
          description: The key of the index to use.
          examples:
          - key_K2pX7vBnU0bgA5xp
          title: Key
          maxLength: 100
          minLength: 1
          type: string
        required: true
      - name: section
        in: query
        schema:
          description: The section of the index to use. Defaults to `Products`.
          examples:
          - Products
          - Search Suggestions
          title: Section
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: num_results_per_page
        in: query
        schema:
          default: 20
          description: The number of results per page to return.
          examples:
          - 20
          - 24
          title: Num Results Per Page
          maximum: 1000
          minimum: 1
          type: integer
        required: false
      - name: page
        in: query
        schema:
          description: The page of results to return.
          examples:
          - 1
          title: Page
          minimum: 1
          type: integer
        required: false
      - name: offset
        in: query
        schema:
          description: The number of results to skip from the beginning. Cannot be used together with `page`.
          examples:
          - 0
          title: Offset
          minimum: 0
          type: integer
        required: false
      - name: now
        in: query
        schema:
          description: A date time representing the current moment in time when applying filtering by product age. Used to emulate "past/future" requests. Requires authentication.
          examples:
          - '2024-01-15T10:30:00Z'
          title: Now
          format: date-time
          type: string
        required: false
      - name: fmt_options
        in: query
        schema:
          description: An object containing options to format different aspect of the response.
          allOf:
          - $ref: '#/components/schemas/FacetFmtOptions'
          title: Fmt Options
        required: false
        style: deepObject
        explode: true
      - name: origin_referrer
        in: query
        schema:
          description: The url or app location where the request originated.
          examples:
          - https://example.com/search
          title: Origin Referrer
          type: string
        required: false
      - name: c
        in: query
        schema:
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          examples:
          - cio-js-client-2.35.2
          title: C
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: us
        in: query
        schema:
          description: A customer defined context (such as `vip-club-member`) used to evaluate redirect or refined tag rules. Pass multiple segments by passing multiple `us` arguments.
          title: us
          items:
            minLength: 1
            type: string
            examples:
            - vip-member
            - us-east-region
          type: array
        required: false
      - name: ui
        in: query
        schema:
          description: A customer generated anonymized identifier for a user on a customer website. It should only be sent for logged in customers and helps Constructor to tie multiple client and session IDs together to form a behavioral data profile across devices.
          examples:
          - customer-user-id-456
          title: Ui
          type: string
        required: false
      - name: s
        in: query
        schema:
          description: An integer representing the users session number (starting with `1`), incremented after a 30 minute period of inactivity.
          examples:
          - 1
          title: S
          type: integer
        required: false
      - name: i
        in: query
        schema:
          description: A globally unique identifier for the user browser (or mobile application instance) making the request.
          examples:
          - user-device-id-123
          title: I
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrowseFacetsGetResponse'
        '400':
          description: Validation Error
      security: []
  /browse/facet_options:
    get:
      tags:
      - Browse facets
      operationId: v1-browse-get-browse-facet-options
      summary: Retrieve facet options (values) by facet name
      description: Retrieve facet options for end users.
      parameters:
      - name: key
        in: query
        schema:
          description: The key of the index to use.
          examples:
          - key_K2pX7vBnU0bgA5xp
          title: Key
          maxLength: 100
          minLength: 1
          type: string
        required: true
      - name: section
        in: query
        schema:
          description: The section of the index to use. Defaults to `Products`.
          examples:
          - Products
          - Search Suggestions
          title: Section
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: num_results_per_page
        in: query
        schema:
          default: 100000
          description: The number of results per page to return.
          examples:
          - 100000
          - 100
          title: Num Results Per Page
          maximum: 250000
          minimum: 1
          type: integer
        required: false
      - name: page
        in: query
        schema:
          description: The page of results to return.
          examples:
          - 1
          title: Page
          minimum: 1
          type: integer
        required: false
      - name: offset
        in: query
        schema:
          description: The number of results to skip from the beginning. Cannot be used together with `page`.
          examples:
          - 0
          title: Offset
          minimum: 0
          type: integer
        required: false
      - name: now
        in: query
        schema:
          description: A date time representing the current moment in time when applying filtering by product age. Used to emulate "past/future" requests. Requires authentication.
          examples:
          - '2024-01-15T10:30:00Z'
          title: Now
          format: date-time
          type: string
        required: false
      - name: fmt_options
        in: query
        schema:
          description: An object containing options to format different aspect of the response.
          allOf:
          - $ref: '#/components/schemas/FacetFmtOptions'
          title: Fmt Options
        required: false
        style: deepObject
        explode: true
      - name: origin_referrer
        in: query
        schema:
          description: The url or app location where the request originated.
          examples:
          - https://example.com/search
          title: Origin Referrer
          type: string
        required: false
      - name: c
        in: query
        schema:
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          examples:
          - cio-js-client-2.35.2
          title: C
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: facet_name
        in: query
        schema:
          description: The name of the facet.
          examples:
          - color
          title: Facet Name
          type: string
        required: true
      - name: us
        in: query
        schema:
          description: A customer defined context (such as `vip-club-member`) used to evaluate redirect or refined tag rules. Pass multiple segments by passing multiple `us` arguments.
          title: us
          items:
            minLength: 1
            type: string
            examples:
            - vip-member
            - us-east-region
          type: array
        required: false
      - name: ui
        in: query
        schema:
          description: A customer generated anonymized identifier for a user on a customer website. It should only be sent for logged in customers and helps Constructor to tie multiple client and session IDs together to form a behavioral data profile across devices.
          examples:
          - customer-user-id-456
          title: Ui
          type: string
        required: false
      - name: s
        in: query
        schema:
          description: An integer representing the users session number (starting with `1`), incremented after a 30 minute period of inactivity.
          examples:
          - 1
          title: S
          type: integer
        required: false
      - name: i
        in: query
        schema:
          description: A globally unique identifier for the user browser (or mobile application instance) making the request.
          examples:
          - user-device-id-123
          title: I
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrowseFacetOptionsGetResponse'
        '400':
          description: Validation Error
      security: []
  /browse/facets_with_options:
    get:
      tags:
      - Browse facets
      operationId: v1-browse-get-browse-facets-with-options
      summary: Retrieve facets with their options (values)
      description: Retrieve facets with options for end users.
      parameters:
      - name: key
        in: query
        schema:
          description: The key of the index to use.
          examples:
          - key_K2pX7vBnU0bgA5xp
          title: Key
          maxLength: 100
          minLength: 1
          type: string
        required: true
      - name: section
        in: query
        schema:
          description: The section of the index to use. Defaults to `Products`.
          examples:
          - Products
          - Search Suggestions
          title: Section
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: num_results_per_page
        in: query
        schema:
          default: 10
          description: The number of results per page to return.
          examples:
          - 10
          - 5
          title: Num Results Per Page
          maximum: 10
          minimum: 1
          type: integer
        required: false
      - name: page
        in: query
        schema:
          description: The page of results to return.
          examples:
          - 1
          title: Page
          minimum: 1
          type: integer
        required: false
      - name: offset
        in: query
        schema:
          description: The number of results to skip from the beginning. Cannot be used together with `page`.
          examples:
          - 0
          title: Offset
          minimum: 0
          type: integer
        required: false
      - name: now
        in: query
        schema:
          description: A date time representing the current moment in time when applying filtering by product age. Used to emulate "past/future" requests. Requires authentication.
          examples:
          - '2024-01-15T10:30:00Z'
          title: Now
          format: date-time
          type: string
        required: false
      - name: fmt_options
        in: query
        schema:
          description: An object containing options to format different aspect of the response.
          allOf:
          - $ref: '#/components/schemas/FacetFmtOptions'
          title: Fmt Options
        required: false
        style: deepObject
        explode: true
      - name: origin_referrer
        in: query
        schema:
          description: The url or app location where the request originated.
          examples:
          - https://example.com/search
          title: Origin Referrer
          type: string
        required: false
      - name: c
        in: query
        schema:
          description: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
          examples:
          - cio-js-client-2.35.2
          title: C
          maxLength: 100
          minLength: 1
          type: string
        required: false
      - name: us
        in: query
        schema:
          description: A customer defined context (such as `vip-club-member`) used to evaluate redirect or refined tag rules. Pass multiple segments by passing multiple `us` arguments.
          title: us
          items:
            minLength: 1
            type: string
            examples:
            - vip-member
            - us-east-region
          type: array
        required: false
      - name: ui
        in: query
        schema:
          description: A customer generated anonymized identifier for a user on a customer website. It should only be sent for logged in customers and helps Constructor to tie multiple client and session IDs together to form a behavioral data profile across devices.
          examples:
          - customer-user-id-456
          title: Ui
          type: string
        required: false
      - name: s
        in: query
        schema:
          description: An integer representing the users session number (starting with `1`), incremented after a 30 minute period of inactivity.
          examples:
          - 1
          title: S
          type: integer
        required: false
      - name: i
        in: query
        schema:
          description: A globally unique identifier for the user browser (or mobile application instance) making the request.
          examples:
          - user-device-id-123
          title: I
          type: string
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrowseFacetsWithOptionsGetResponse'
        '400':
          description: Validation Error
      security: []
components:
  schemas:
    BrowseFacetOptionsResponse:
      additionalProperties: false
      properties:
        facets:
          description: An array with the single requested facet.
          items:
            discriminator:
              mapping:
                hierarchical: '#/components/schemas/HierarchicalFacet'
                multiple: '#/components/schemas/SingleOrMultipleFacet'
                range: '#/components/schemas/RangeFacet'
                single: '#/components/schemas/SingleOrMultipleFacet'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/RangeFacet'
            - $ref: '#/components/schemas/SingleOrMultipleFacet'
            - $ref: '#/components/schemas/HierarchicalFacet'
          title: Facets
          type: array
        total_num_results:
          description: Total count of facet options for the requested facet.
          title: Total Num Results
          type: integer
      required:
      - facets
      - total_num_results
      title: Browse facet options response
      type: object
    SingleOrMultipleFacet:
      additionalProperties: false
      properties:
        type:
          description: 'If a facet is of type `single`, then only one of the options may be selected (e.g: display as radio button). If the type is `multiple`, then multiple options may be selected (e.g: display as checkboxes).'
          enum:
          - single
          - multiple
          title: Type
          type: string
        name:
          description: The name of the facet. This should be passed in the filters parameter when a facet of this type is selected. `filters[name]=value`
          title: Name
          type: string
        display_name:
          description: The name of the facet as it is displayed to end users. Note that in `filters` parameter you need to use not `display_name` but `name`.
          title: Display Name
          type: string
        hidden:
          description: The boolean value saying whether facet is available for interaction.
          title: Hidden
          type: boolean
        data:
          description: Object containing custom data associated with this facet. An empty object (`{}`) if no data is currently associated with this facet.
          title: Data
          type: object
        options:
          description: An array of possible facet values matching this search. By default, facet options are sorted by relevance. Number of options is limited, by default, to 500. But the limit can be configured per [facet](/reference/v1-facets-create-facet) key.
          title: Options
          items:
            $ref: '#/components/schemas/FacetOption'
          type: array
      required:
      - type
      - name
      - display_name
      - hidden
      - data
      title: Single or Multiple facet
      type: object
    RangeFacet:
      additionalProperties: false
      properties:
        type:
          description: If a facet is of type `range`, then no facet options are provided. Instead a `min` and `max` value is provided to specify the range of values that can be sent in `filters`.
          title: Type
          type: string
          enum:
          - range
        name:
          description: The name of the facet. This should be passed in the filters parameter when a facet of this type is selected. `filters[name]=value`
          title: Name
          type: string
        display_name:
          description: The name of the facet as it is displayed to end users. Note that in `filters` parameter you need to use not `display_name` but `name`.
          title: Display Name
          type: string
        hidden:
          description: The boolean value saying whether facet is available for interaction.
          title: Hidden
          type: boolean
        data:
          description: Object containing custom data associated with this facet. An empty object (`{}`) if no data is currently associated with this facet.
          title: Data
          type: object
        status:
          description: Specifies the selected facet value range. If no range is selected the field will be omitted.
          allOf:
          - $ref: '#/components/schemas/RangeFacetStatus'
          title: Status
        min:
          anyOf:
          - type: number
          - type: integer
          - enum:
            - -inf
            - +inf
            - inf
            type: string
          description: Minimum facet value of the result items.
          title: Min
        max:
          anyOf:
          - type: number
          - type: integer
          - enum:
            - -inf
            - +inf
            - inf
            type: string
          description: Maximum facet value of the result items.
          title: Max
      required:
      - type
      - name
      - display_name
      - hidden
      - data
      title: Range facet
      type: object
    BrowseFacetsGetResponse:
      additionalProperties: false
      properties:
        request:
          description: The request arguments how they were interpreted by the API. This field is of arbitrary type, ie it doesn't have a guaranteed schema, and data from it shouldn't be used programmatically, it is for debugging purposes only.
          title: Request
          type: object
        result_id:
          title: Result Id
          type: string
        response:
          $ref: '#/components/schemas/BrowseFacetsResponse'
      required:
      - request
      - response
      title: BrowseFacetsGetResponse
      type: object
    BrowseFacetsResponse:
      additionalProperties: false
      properties:
        facets:
          description: An array of facets within the section.
          items:
            discriminator:
              mapping:
                hierarchical: '#/components/schemas/HierarchicalFacet'
                multiple: '#/components/schemas/SingleOrMultipleFacet'
                range: '#/components/schemas/RangeFacet'
                single: '#/components/schemas/SingleOrMultipleFacet'
              propertyName: type
            oneOf:
            - $ref: '#/components/schemas/RangeFacet'
            - $ref: '#/components/schemas/SingleOrMultipleFacet'
            - $ref: '#/components/schemas/HierarchicalFacet'
          title: Facets
          type: array
        total_num_results:
          description: Total count of facets within the section.
          minimum: 0
          title: Total Num Results
          type: integer
      required:
      - facets
      - total_num_results
      title: Browse facets response
      type: object
    HierarchicalFacet:
      additionalProperties: false
      properties:
        type:
          title: Type
          type: string
          enum:
          - hierarchical
        name:
          description: The name of the facet. This should be passed in the filters parameter when a facet of this type is selected. `filters[name]=value`
          title: Name
          type: string
        display_name:
          description: The name of the facet as it is displayed to end users. Note that in `filters` parameter you need to use not `display_name` but `name`.
          title: Display Name
          type: string
        hidden:
          description: The boolean value saying whether facet is available for interaction.
          title: Hidden
          type: boolean
        data:
          description: Object containing custom data associated with this facet. An empty object (`{}`) if no data is currently associated with this facet.
          title: Data
          type: object
        options:
          description: An array of possible facet values matching this search. By default, facet options are sorted by relevance.
          title: Options
          items:
            $ref: '#/components/schemas/HierarchicalFacetOption'
          type: array
      required:
      - type
      - name
      - display_name
      - hidden
      - data
      title: Hierarchical facet
      type: object
    FacetOption:
      additionalProperties: false
      properties:
        display_name:
          description: The name of the facet option as it is displayed to end users. Note that in `filters` parameter you need to use not `display_name` but `name`.
          title: Display Name
          type: string
        status:
          description: '`selected` if this option is selected in the current search request, empty string otherwise.'
          enum:
          - selected
          - ''
          title: Status
          type: string
        value:
          description: 'The value that should be passed in `filters` to select this option: `filters[name]=value`'
          title: Value
          type: string
        count:
          description: Number of items in the current search that match this option.
          minimum: 0
          title: Count
          type: integer
        data:
          description: Object containing custom data associated with this facet option. An empty object (`{}`) if no data is currently associated with this option.
          title: Data
          type: object
        range:
          description: 'Array containing 2 values: the parsed `min` & `max` values that are represented by this facet option. The field exists only for options of a facet with type `range` or `single` if it is configured specially.'
          title: Range
          items:
            anyOf:
            - type: number
            - type: integer
            - enum:
              - -inf
              - +inf
              - inf
              type: string
          type: array
      required:
      - display_name
      - status
      - value
      - count
      title: FacetOption
      type: object
    BrowseFacetOptionsGetResponse:
      additionalProperties: false
      properties:
        request:
          description: The request arguments how they were interpreted by the API. This field is of arbitrary type, ie it doesn't have a guaranteed schema, and data from it shouldn't be used programmatically, it is for debugging purposes only.
          title: Request
          type: object
        result_id:
          title: Result Id
          type: string
        response:
          $ref: '#/components/schemas/BrowseFacetOptionsResponse'
      required:
      - request
      - response
      title: BrowseFacetOptionsGetResponse
      type: object
    RangeFacetStatus:
      additionalProperties: false
      properties:
        min:
          anyOf:
          - type: number
          - type: integer
          - enum:
            - -inf
            - +inf
            - inf
            type: string
          - type: string
          description: Selected minimum value of the range facet.
          title: Min
        max:
          anyOf:
          - type: number
          - type: integer
          - enum:
            - -inf
            - +inf
            - inf
            type: string
          - type: string
          description: Selected maximum value of the range facet.
          title: Max
      title: RangeFacetStatus
      type: object
    BrowseFacetsWithOptionsGetResponse:
      additionalProperties: false
      properties:
        response:
          $ref: '#/components/schemas/BrowseFacetsResponse'
        result_id:
          title: Result Id
          type: string
      required:
      - response
      title: BrowseFacetsWithOptionsGetResponse
      type: object
    FacetFmtOptions:
      additionalProperties: false
      properties:
        show_hidden_facets:
          default: false
          description: A flag to return all facets configured as `hidden` in `response.facets`.
          examples:
          - false
          - true
          title: Show Hidden Facets
          type: boolean
        hidden_facets:
          description: A list of specific hidden facets to return in the response. Unlike `show_hidden_facets` this parameter allows the request to control which hidden facets are returned.  Used to return facets for a particular store or user segment.
          title: Hidden Facets
          items:
            maxLength: 100
            minLength: 1
            type: string
            examples:
            - store_id
            - region
          maxItems: 20
          type: array
        show_hidden_facet_options:
          description: A flag to return all `hidden` facets options in the response.
          examples:
          - false
          - true
          title: Show Hidden Facet Options
          type: boolean
        show_protected_facets:
          default: false
          description: A flag to return all `protected` facets in the response. Requires authentication.
          examples:
          - false
          - true
          title: Show Protected Facets
          type: boolean
        show_internal_facets:
          title: Show Internal Facets
          type: boolean
      title: FacetFmtOptions
      type: object
    HierarchicalFacetOption:
      additionalProperties: false
      properties:
        display_name:
          description: The name of the facet option as it is displayed to end users. Note that in `filters` parameter you need to use not `display_name` but `name`.
          title: Display Name
          type: string
        status:
          description: '`selected` if this option is selected in the current search request, empty string otherwise.'
          enum:
          - selected
          - ''
          title: Status
          type: string
        value:
          description: 'The value that should be passed in `filters` to select this option: `filters[name]=value`'
          title: Value
          type: string
        count:
          description: Number of items in the current search that match this option.
          minimum: 0
          title: Count
          type: integer
        data:
          description: Object containing custom data associated with this facet option. An empty object (`{}`) if no data is currently associated with this option.
          title: Data
          type: object
        range:
          description: 'Array containing 2 values: the parsed `min` & `max` values that are represented by this facet option. The field exists only for options of a facet with type `range` or `single` if it is configured specially.'
          title: Range
          items:
            anyOf:
            - type: number
            - type: integer
            - enum:
              - -inf
              - +inf
              - inf
              type: string
          type: array
        options:
          description: An array of possible facet values matching this search. By default, facet options are sorted by relevance. The field exists only for options of a facet with type `hierarchical`.
          title: Options
          items:
            type: object
          type: array
      required:
      - display_name
      - status
      - value
      - count
      title: HierarchicalFacetOption
      type: object
  securitySchemes:
    http_basic_auth:
      type: http
      scheme: basic
    http_bearer_auth:
      type: http
      scheme: bearer
x-readme:
  explorer-enabled: false