---
updatedAt: 2026-03-30T09:14:11.000Z
agentTools:
  projectIndex: https://developers.bazaarvoice.com/v1.0-ConversationsAPI/llms.txt
---

# Retrieve Product Categories

Categories Api is responsible for displaying product related categories for a particular passkey.

# OpenAPI definition

```json
{
  "openapi": "3.0.0",
  "info": {
    "title": "Conversations Display API",
    "x-audience": "external-partner",
    "description": "Conversations API Display operations by Bazaarvoice",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://stg.api.bazaarvoice.com",
      "description": "Conversations Staging API Server"
    }
  ],
  "paths": {
    "/data/categories.json": {
      "get": {
        "tags": [
          "default"
        ],
        "summary": "Retrieve Product Categories",
        "description": "Categories Api is responsible for displaying product related categories for a particular passkey.",
        "parameters": [
          {
            "name": "apiversion",
            "in": "query",
            "schema": {
              "type": "number"
            },
            "description": "The API version",
            "required": true,
            "example": "5.4"
          },
          {
            "name": "passkey",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "API key is required to authenticate API user and check permission to access particular client's data.",
            "required": true,
            "example": "caB45h2jBqXFw1OE043qoMBD1gJC8EwFNCjktzgwncXY4"
          },
          {
            "name": "Callback",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Callback function name used with JSONP. Value is a string consisting of the following characters: a-z,A-Z,0-9,_ (excluding comma)",
            "example": "custom_Function01"
          },
          {
            "name": "Filter",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": true,
            "description": "Filter criteria for primary content of the query. Multiple filter\ncriteria are supported. Here you can find few of many options we can use the filter parameter             \n- Each filter argument specifies the attribute to filter on followed by a comma-separated list of values. For instance, \"Filter=Id:eq:5,6\" will match all categories with Id 5 OR 6.\n- Advanced operators can be used to define filters. For instance, \"Filter=Id:lte:50\" will match all categories with an Id value of less than or equal to 50. All advanced operators are documented on the Conversations API page.\n- If a filter value contains a comma or a colon, that character needs to be escaped with a backslash (\\, or \\:). If a filter value contains an ampersand (&), the ampersand must be encoded in the filter value by replacing & with %26.\n- Multiple filters are allowed as URL parameters in which case filters are AND'ed. For instance, \"Filter=AncestorId:eq:5&Filter=IsDisabled:eq:false\" will match all categories that are not disabled and that have an ancestor category with Id 5.\n\nBelow we will be stating few examples of the filter parameter\n- Single Filter value: &filter=Id:BV_MISCELLANEOUS_CATEGORY\n- Comma Seperated Multiple Filter values: &filter=Id:eq:BV_MISCELLANEOUS_CATEGORY,....\n- Multiple Filter AND'ed value: &filter=Id:BV_MISCELLANEOUS_CATEGORY&Filter=IsActive:eq:false&filter=.....\n"
          },
          {
            "name": "Limit",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Max number of records returned. An error is returned if the value passed exceeds 100.",
            "example": "10"
          },
          {
            "name": "Locale",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Locale to display Labels, Configuration, Product Attributes and Category Attributes in. The default value is the locale defined in the display associated with the API key.",
            "example": "en_US"
          },
          {
            "name": "Offset",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Index at which to return results. By default, indexing begins at 0 when you issue a query. Using Limit=100, Offset=0 returns results 0-99. When changing this to Offset=1, results 1-100 are returned. The maximum supported value is 300000.",
            "example": "20"
          },
          {
            "name": "Sort",
            "in": "query",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "style": "form",
            "explode": true,
            "description": "Ways to sort Products\n- Sort order is required (asc or desc). There is no default.\n- Multi-attribute sorting is supported by using a comma separated list of sort criteria for a content/subject type. e.g. sort=rating:asc,submissiontime:desc\n\nBelow we will be stating few examples of the sort parameter\n - Single Sort value: &sort=Id:desc\n - Multiple Sort values AND'ed: &sort=Id:desc&sort=SubmissionTime:desc\n"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Category"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/BadRequestResponse"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedResponse"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequestsResponse"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerErrorResponse"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Category": {
        "type": "object",
        "properties": {
          "Limit": {
            "type": "number"
          },
          "Offset": {
            "type": "number"
          },
          "TotalResults": {
            "type": "number"
          },
          "Locale": {
            "type": "string"
          },
          "Results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Active": {
                  "type": "boolean"
                },
                "Disabled": {
                  "type": "boolean"
                },
                "Name": {
                  "type": "string"
                },
                "Id": {
                  "type": "string"
                },
                "ParentId": {
                  "type": "string"
                },
                "CategoryPageUrl": {
                  "type": "string"
                },
                "QuestionIds": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "ImageUrl": {
                  "type": "string"
                },
                "ProductIds": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "Attributes": {
                  "type": "object"
                },
                "StoryIds": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                },
                "AttributesOrder": {
                  "type": "array",
                  "items": {
                    "type": "object"
                  }
                }
              }
            }
          },
          "Includes": {
            "type": "object"
          },
          "HasErrors": {
            "type": "boolean"
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "object"
            }
          }
        }
      },
      "BadRequestErrorResponseSchema": {
        "type": "object",
        "properties": {
          "Includes": {
            "type": "object",
            "default": {}
          },
          "HasErrors": {
            "type": "boolean",
            "default": true
          },
          "Offset": {
            "type": "number",
            "default": null
          },
          "TotalResults": {
            "type": "number",
            "default": null
          },
          "Locale": {
            "type": "string",
            "default": null
          },
          "Results": {
            "type": "array",
            "items": {
              "type": "object",
              "default": {}
            }
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Message": {
                  "type": "string",
                  "example": "The passKey provided is invalid."
                },
                "Code": {
                  "type": "string",
                  "example": "ERROR_PARAM_INVALID_API_KEY",
                  "x-extensible-enum": [
                    "ERROR_PARAM_INVALID_API_KEY",
                    "ERROR_PARAM_INVALID_CALLBACK",
                    "ERROR_PARAM_INVALID_FILTER_ATTRIBUTE",
                    "ERROR_PARAM_INVALID_INCLUDED",
                    "ERROR_PARAM_INVALID_LIMIT",
                    "ERROR_PARAM_INVALID_LOCALE",
                    "ERROR_PARAM_INVALID_OFFSET",
                    "ERROR_PARAM_INVALID_SORT_ATTRIBUTE",
                    "ERROR_PARAM_INVALID_SEARCH_ATTRIBUTE",
                    "ERROR_UNKNOWN",
                    "ERROR_UNSUPPORTED"
                  ]
                }
              }
            }
          }
        }
      },
      "UnauthorizedErrorResponseSchema": {
        "type": "object",
        "properties": {
          "Includes": {
            "type": "object",
            "default": {}
          },
          "HasErrors": {
            "type": "boolean",
            "default": true
          },
          "Offset": {
            "type": "number",
            "default": null
          },
          "TotalResults": {
            "type": "number",
            "default": null
          },
          "Locale": {
            "type": "string",
            "default": null
          },
          "Results": {
            "type": "array",
            "items": {
              "type": "object",
              "default": {}
            }
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Message": {
                  "type": "string",
                  "example": "You are not authorized to make this request."
                },
                "Code": {
                  "type": "string",
                  "example": "ERROR_ACCESS_DENIED",
                  "x-extensible-enum": [
                    "ERROR_ACCESS_DENIED"
                  ]
                }
              }
            }
          }
        }
      },
      "UnknownErrorResponseSchema": {
        "type": "object",
        "properties": {
          "Includes": {
            "type": "object",
            "default": {}
          },
          "HasErrors": {
            "type": "boolean",
            "default": true
          },
          "Offset": {
            "type": "number",
            "default": null
          },
          "TotalResults": {
            "type": "number",
            "default": null
          },
          "Locale": {
            "type": "string",
            "default": null
          },
          "Results": {
            "type": "array",
            "items": {
              "type": "object",
              "default": {}
            }
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Message": {
                  "type": "string",
                  "example": "Unknown error encountered."
                },
                "Code": {
                  "type": "string",
                  "example": "ERROR_UNKNOWN",
                  "x-extensible-enum": [
                    "ERROR_UNKNOWN"
                  ]
                }
              }
            }
          }
        }
      },
      "TooManyRequestErrorResponseSchema": {
        "type": "object",
        "properties": {
          "Includes": {
            "type": "object",
            "default": {}
          },
          "HasErrors": {
            "type": "boolean",
            "default": true
          },
          "Offset": {
            "type": "number",
            "default": null
          },
          "TotalResults": {
            "type": "number",
            "default": null
          },
          "Locale": {
            "type": "string",
            "default": null
          },
          "Results": {
            "type": "array",
            "items": {
              "type": "object",
              "default": {}
            }
          },
          "Errors": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "Message": {
                  "type": "string",
                  "example": "Please try again later."
                },
                "Code": {
                  "type": "string",
                  "example": "ERROR_REQUEST_LIMIT_REACHED",
                  "x-extensible-enum": [
                    "ERROR_REQUEST_LIMIT_REACHED"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "responses": {
      "BadRequestResponse": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/BadRequestErrorResponseSchema"
            }
          }
        }
      },
      "UnauthorizedResponse": {
        "description": "Unauthorized Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedErrorResponseSchema"
            }
          }
        }
      },
      "TooManyRequestsResponse": {
        "description": "Too Many Request Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/TooManyRequestErrorResponseSchema"
            }
          }
        }
      },
      "InternalServerErrorResponse": {
        "description": "Internal Server Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnknownErrorResponseSchema"
            }
          }
        }
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true,
    "samples-enabled": true
  }
}
```