openapi: 3.1.0 info: title: Hotjar REST Authentication Surveys API description: The Hotjar REST API provides programmatic access to Hotjar data and functionality. It allows developers to export survey responses, list surveys, automate user lookup and deletion requests, and integrate Hotjar data into external tools and workflows. The API uses OAuth client credentials authentication, returns JSON responses, supports cursor-based pagination, and is rate limited to 3000 requests per minute. It is available on Observe and Ask Scale plans. version: '1.0' contact: name: Hotjar Support url: https://help.hotjar.com termsOfService: https://www.hotjar.com/legal/policies/terms-of-service/ servers: - url: https://api.hotjar.io/v1 description: Hotjar Production API Server security: - bearerAuth: [] tags: - name: Surveys description: Endpoints for listing surveys and retrieving survey details for a specific site. paths: /sites/{site_id}/surveys: get: operationId: listSurveys summary: List surveys for a site description: Returns a paginated list of surveys for a specific site. Supports cursor-based pagination and optionally includes question details in the response. The site_id can be found in the Sites and Organizations page in your Hotjar account. tags: - Surveys parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/WithQuestions' - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Cursor' responses: '200': description: Successfully retrieved list of surveys content: application/json: schema: $ref: '#/components/schemas/SurveyListResponse' '401': description: Missing or invalid authorization header content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Insufficient permissions for the requested resource content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Site not found content: application/json: schema: $ref: '#/components/schemas/Error' /sites/{site_id}/surveys/{survey_id}: get: operationId: getSurvey summary: Get a specific survey description: Returns the details of a specific survey for a site, including its questions, configuration, and status. tags: - Surveys parameters: - $ref: '#/components/parameters/SiteId' - $ref: '#/components/parameters/SurveyId' responses: '200': description: Successfully retrieved survey details content: application/json: schema: $ref: '#/components/schemas/Survey' '401': description: Missing or invalid authorization header content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Insufficient permissions for the requested resource content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Survey or site not found content: application/json: schema: $ref: '#/components/schemas/Error' components: parameters: SiteId: name: site_id in: path required: true description: The unique identifier for the site. Can be found in the Sites and Organizations page under the respective organization. schema: type: integer Cursor: name: cursor in: query required: false description: The cursor value for fetching the next page of results. Obtained from the next_cursor field in a previous response. schema: type: string WithQuestions: name: with_questions in: query required: false description: Flag indicating whether question information should be included in the response. Defaults to false. schema: type: boolean default: false SurveyId: name: survey_id in: path required: true description: The unique identifier for the survey. schema: type: integer Limit: name: limit in: query required: false description: The number of items to return per page. Maximum value is 100. schema: type: integer minimum: 1 maximum: 100 schemas: SurveyQuestion: type: object description: A question within a Hotjar survey, including its type, text, and available answer options. properties: id: type: integer description: The unique identifier for the question. text: type: string description: The text content of the question displayed to respondents. type: type: string description: The type of question, such as long-text, short-text, rating, multiple-choice, or nps. is_required: type: boolean description: Whether the question requires an answer before submission. choices: type: array nullable: true description: The list of answer choices for multiple-choice questions. Null for open-ended question types. items: type: string labels: type: object nullable: true description: Labels for rating or scale questions. Null for other question types. image_url: type: string nullable: true description: URL of an image attached to the question. Null if no image is attached. SurveyListResponse: type: object description: A paginated list of surveys with cursor-based pagination support. properties: results: type: array description: The list of surveys returned in this page. items: $ref: '#/components/schemas/Survey' next_cursor: type: string nullable: true description: The cursor value to use for fetching the next page. Null when there are no more results. Error: type: object description: An error response returned by the API when a request fails. properties: error: type: string description: The error type or code. message: type: string description: A human-readable description of the error. Survey: type: object description: A Hotjar survey with its configuration, status, and optional question details. properties: id: type: integer description: The unique identifier for the survey. name: type: string description: The name of the survey. type: type: string description: The type of survey, such as popover, fullscreen, or external link. is_enabled: type: boolean description: Whether the survey is currently active and collecting responses. created_time: type: string format: date-time description: The ISO 8601 timestamp when the survey was created. url: type: string description: The URL path to the survey resource in the API. responses_url: type: string description: The URL path to retrieve the survey responses. sentiment_analysis_enabled: type: boolean description: Whether sentiment analysis is enabled for this survey. questions: type: array description: The list of questions in the survey. Only included when with_questions parameter is set to true. items: $ref: '#/components/schemas/SurveyQuestion' securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token obtained from the OAuth token endpoint using client credentials grant. externalDocs: description: Hotjar API Reference url: https://help.hotjar.com/hc/en-us/articles/36820005914001-Hotjar-API-Reference