US English (US)
BS Bosnian

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Book a Demo
  • Product Updates
  • Contact Us
English (US)
US English (US)
BS Bosnian
  • Home
  • API V3 and Webhooks

Analytics API

Written by Nicholas Jarretta

Updated at January 3rd, 2025, by Aziz Mejri

Contact Us

If you still have questions or prefer to get help directly from an agent, please submit a request.
We’ll get back to you as soon as possible.

Please fill out the contact form below and we will reply as soon as possible.

  • Getting Started
    Users Accessibility New to Helpjuice? Start Here Content Management Multiple Languages/Translations & Localization Multilingual Knowledge Bases Analytics Video Tutorials
  • Customization
    Customization Guides
  • API V2
  • API V3 and Webhooks
  • Article Editor
  • Billing / Subscription
  • Authentication
  • Pricing
  • Swifty AI Chatbot
  • Swifty AI Helpbar
  • What's New
+ More

Table of Contents

Overview Searches Keywords Articles Categories Users Groups

Overview

API V3 now has support for analytics endpoints. You can retrieve the analytical data that we display in the dashboard using our API. The same rules for authentication and pagination for API V3 applies to the analytics endpoints.


We cache the results for 1 hour. 

Searches

Retrieve searches

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/searches

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, filters by searches after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, filters by searches before this date (format: YYYY-MM-DD). Default is today.
keyword type: String, filters by searches that contain this keyword.
found type: Boolean, filters by searches where the user found an answer for his query.
bounced type: Boolean, filters by searches that have no views.
dead_end type: Boolean, filters by searches where the user didn't find an answer for his query.
order_by[field] type: String, orders the searches by the specified field. Can be one of the following:
  • created_at: Timestamp when search was made.
  • found_answers: Number of results returned by the search query.
  • views: Number of views related to this search.
  • readings: Number of readings related to this search.
order_by[dir] type: String, orders by the specified direction. asc for ascending and desc for descending. Default is desc
analytics_type type: String, search visibility. Default is public_and_private. Can be one of the following:
  • public: Only include searches for non-logged-in users.
  • private: Only include searches for logged-in users.
  • public_and_private: All searches.

RESPONSE raw

{
  "meta": {     "current": 1,     "limit": 25,     "total_pages": 1,     "total_count": 4   },   "searches": [     {       "id": 1,       "query": "test1",       "ip": "::1",       "search_count": 1,       "found_answer": true,       "contacted_support": false,       "created_at": "2023-03-14T12:02:51.313Z",       "updated_at": "2023-03-14T12:03:05.228Z",       "clicked": true,       "readings": 1,       "found_answers": 5,       "views": 2,       "language_id": 1,       "search_type": 1,       "user_id": 1     },     {       "id": 2,       "query": "test2",       "ip": "::1",       "search_count": 1,       "found_answer": false,       "contacted_support": false,       "created_at": "2023-03-14T12:11:29.235Z",       "updated_at": "2023-03-14T12:11:29.235Z",       "clicked": null,       "readings": null,       "found_answers": 0,       "views": null,       "language_id": 1,       "search_type": 1,       "user_id": 1     },     {       "id": 3,       "query": "test3",       "ip": "::1",       "search_count": 1,       "found_answer": true,       "contacted_support": false,       "created_at": "2023-03-14T12:11:31.301Z",       "updated_at": "2023-03-14T12:11:31.301Z",       "clicked": null,       "readings": null,       "found_answers": 5,       "views": null,       "language_id": 1,       "search_type": 1,       "user_id": 1     },     {       "id": 4,       "query": "test4",       "ip": "::1",       "search_count": 1,       "found_answer": false,       "contacted_support": false,       "created_at": "2023-03-14T12:11:37.935Z",       "updated_at": "2023-03-14T12:11:41.147Z",       "clicked": null,       "readings": null,       "found_answers": 0,       "views": null,       "language_id": 1,       "search_type": 1,       "user_id": 1     }   ] }

Retrieve search by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/searches/<id>

RESPONSE raw

{
  "search": {     "id": 1,     "query": "test1",     "ip": "::1",     "search_count": 1,     "found_answer": true,     "contacted_support": false,     "created_at": "2023-03-14T12:02:51.313Z",     "updated_at": "2023-03-14T12:03:05.228Z",     "clicked": true,     "readings": 1,     "found_answers": 5,     "views": 2,     "language_id": 1,     "search_type": 1,     "user_id": 1   } }
Delete

Keywords

Retrieve keywords

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/keywords

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only keywords seen after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only keywords seen before this date (format: YYYY-MM-DD). Default is today.
order_by[field] type: String, orders by a specified field. Can be one of the following:
  • views: Number of article views from searches using this keyword.
  • readings: Number of articles read from searches using this keyword.
  • searches: Number of searches using this keyword.
  • found_answers: Number of searches that found answers using this keyword.
  • clicked: Number of searches using this keyword where the user selected one of the results.
order_by[dir] type: String, orders by the specified direction. asc for ascending and desc for descending. Default is desc

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "keywords": [
    {
      "id": 1,
      "name": "test1",
      "clicked": 1,
      "views": 2,
      "readings": 1,
      "searches": 2,
      "found_answers": 2
    },
    {
      "id": 2,
      "name": "test2",
      "clicked": 0,
      "views": 0,
      "readings": 0,
      "searches": 1,
      "found_answers": 0
    }
  ]
}

Retrieve keyword by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/keywords/<id>

FILTERS

since

type: String, only use searches after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only use searches before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "keyword": {
    "id": 1,
    "name": "test",
    "clicked": 1,
    "views": 2,
    "readings": 1,
    "searches": 2,
    "found_answers": 2
  }
}
Delete

Articles

Retrieve articles

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/questions

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only articles with analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only articles with analytics before this date (format: YYYY-MM-DD). Default is today.
order_by[field] type: String, orders by a specified field. Can be one of the following:
  • views: Number of times article was viewed.
  • readings: Number of times article was read.
  • seconds_spent: Number of seconds spent reading the article.
  • likes: Number of likes.
  • dislikes: Number of dislikes.
analytics_type type: String, article visibility. Default is public_and_private. Can be one of the following:
  • public: Only include public articles.
  • private: Only include private articles.
  • public_and_private: All articles.

RESPONSE raw


{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "questions": [
    {
      "id": 1,
      "name": "Test1",
      "language": "en_US",
      "views": 10,
      "readings": 2,
      "likes": 0,
      "dislikes": 0,
      "avg_seconds_spent": 530,
      "updated_at": "2023-03-10T15:32:08.510Z"
    },
    {
      "id": 2,
      "name": "Test2",
      "language": "pt_BR",
      "views": 8,
      "readings": 3,
      "likes": 0,
      "dislikes": 0,
      "avg_seconds_spent": 16,
      "updated_at": "2023-03-10T11:47:16.841Z"
    }
  ]
}

Retrieve article by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/questions/<id>

FILTERS

since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "question": {
    "id": 1,
    "name": "Test1",
    "language": "en_US",
    "views": 10,
    "readings": 2,
    "likes": 0,
    "dislikes": 0,
    "avg_seconds_spent": 530,
    "updated_at": "2023-03-10T15:32:08.510Z"
  }
}
Delete

Retrieve most searched terms that led to this article

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/questions/<id>/terms

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 1
  },
  "terms": [
    {
      "term": "test",
      "created_at": "2023-03-14T12:02:51.313Z",
      "search_count": 1
    }
  ]
}

Retrieve users that viewed this article

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/questions/<id>/users

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 1
  },
  "users": [
    {
      "id": 1,
      "name": "John Doe",
      "last_sign_in_at": "2023-03-24T11:51:56.460Z",
      "times_viewed_question": 2
    }
  ]
}

Categories

Retrieve categories

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/categories

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only categories with views after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only categories with views before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 1
  },
  "categories": [
    {
      "id": 1,
      "name": "Test 1",
      "views": 1
    }
  ]
}

Retrieve category by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/searches/<id>

FILTERS

since

type: String, only count views after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only count views before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "category": {
    "id": 1,
    "name": "Test 1",
    "views": 1
  }
}
Delete

Users

Retrieve users

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/users

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 3,
    "total_pages": 1,
    "total_count": 3
  },
  "metrics": {
    "active_authors": 1,
    "articles_updated": 19,
    "searches": 4
  },
  "users": [
    {
      "id": 1,
      "name": "John Doe",
      "role_id": "superadmin",
      "articles_updated": 19,
      "searches": 4,
      "views": 29,
      "readings": 8,
      "current_sign_in_at": "2023-03-23T14:18:49.026Z",
      "last_contributed": "2023-03-23T14:12:10.763Z"
    },
    {
      "id": 3,
      "name": "Bar Foo",
      "role_id": "viewer",
      "articles_updated": 0,
      "searches": 0,
      "views": 0,
      "readings": 0,
      "current_sign_in_at": "2023-03-23T13:23:04.052Z",
      "last_contributed": null
    },
    {
      "id": 2,
      "name": "Foo Bar",
      "role_id": "superadmin",
      "articles_updated": 0,
      "searches": 0,
      "views": 0,
      "readings": 0,
      "current_sign_in_at": "2023-03-23T13:22:52.627Z",
      "last_contributed": null
    }
  ]
}

Retrieve user by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/users/<id>

FILTERS

since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "user": {
    "id": 1,
    "name": "John Doe",
    "role_id": "superadmin",
    "articles_updated": 19,
    "searches": 4,
    "views": 31,
    "readings": 10,
    "current_sign_in_at": "2023-03-23T14:22:57.089Z",
    "last_contributed": "2023-03-23T14:21:43.527Z"
  }
}
Delete

Retrieve most searched terms by a user

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/users/<id>/terms

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 3,
    "total_pages": 1,
    "total_count": 3
  },
  "terms": [
    {
      "query": "test1",
      "search_count": 2,
      "readings": 1
    },
    {
      "query": "test2",
      "search_count": 1,
      "readings": 0
    },
    {
      "query": "test3",
      "search_count": 1,
      "readings": 0
    }
  ]
}

Retrieve articles most viewed by this user

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/users/<id>/questions

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "questions": [
    {
      "id": 11,
      "name": "Article 1",
      "views": 10,
      "seconds_spent": 1060
    },
    {
      "id": 9,
      "name": "Article 2",
      "views": 8,
      "seconds_spent": 50
    }
  ]
}

Retrieve contributions made by this user

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/users/<id>/contributions

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "contributions": [
    {
      "id": 5,
      "name": "Article 1",
      "updated_at": "2023-03-10T15:33:19.681Z"
    },
    {
      "id": 1,
      "name": "Article 2",
      "updated_at": "2023-03-08T14:03:46.605Z"
    }
  ]
}

Groups

Retrieve groups

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 2,
    "total_pages": 1,
    "total_count": 2
  },
  "metrics": {
    "active_groups": 1,
    "articles_updated": 20,
    "searches": 11
  },
  "groups": [
    {
      "id": 1,
      "name": "Group 1",
      "articles_updated": 20,
      "searches": 10,
      "views": 35,
      "readings": 13
    },
    {
      "id": 2,
      "name": "Group 2",
      "articles_updated": 0,
      "searches": 1,
      "views": 0,
      "readings": 0
    }
  ]
}

Retrieve group by ID

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups/<id>

FILTERS

since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "group": {
    "id": 1,
    "name": "Group 1",
    "articles_updated": 20,
    "searches": 10,
    "views": 35,
    "readings": 13
  }
}
Delete

Retrieve most viewed articles by users in this group. 

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups/<id>/viewed_articles

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "questions": [
    {
      "id": 1,
      "name": "Test1",
      "views": 10,
      "seconds_spent": 1060
    },
    {
      "id": 2,
      "name": "Test2",
      "views": 8,
      "seconds_spent": 50
    }
  ]
}

Retrieve popular articles created by users in this group

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups/<id>/created_articles

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 25,
    "total_pages": 1,
    "total_count": 2
  },
  "questions": [
    {
      "id": 1,
      "name": "Test1",
      "views": 10,
      "readings": 2,
      "seconds_spent": 1060
    },
    {
      "id": 2,
      "name": "Test2",
      "views": 8,
      "readings": 3,
      "seconds_spent": 50
    }
  ]
}

Retrieve analytics for users in this group

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups/<id>/users

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 2,
    "total_pages": 1,
    "total_count": 2
  },
  "users": [
    {
      "id": 1,
      "name": "John Doe",
      "role_id": "superadmin",
      "searches": 7,
      "articles_updated": 20,
      "views": 35,
      "readings": 13,
      "current_sign_in_at": "2023-03-24T13:02:48.714Z"
    },
    {
      "id": 2,
      "name": "Bar Foo",
      "role_id": "viewer",
      "searches": 3,
      "articles_updated": 0,
      "views": 0,
      "readings": 0,
      "current_sign_in_at": "2023-03-23T18:32:59.757Z"
    }
  ]
}

Retrieve most searched terms by users in this group

URL

GET https://<your-account>.helpjuice.com/api/v3/analytics/groups/<id>/terms

FILTERS

page type: Number, current page number. Default is 1.
limit type: Number, limit per page (maximum is 1000). Default is 25.
since

type: String, only check analytics after or at this date (format: YYYY-MM-DD). Default is 1 week ago.

upto type: String, only check analytics before this date (format: YYYY-MM-DD). Default is today.

RESPONSE raw

{
  "meta": {
    "current": 1,
    "limit": 2,
    "total_pages": 1,
    "total_count": 2
  },
  "terms": [
    {
      "query": "test1",
      "search_count": 2,
      "readings": 1
    },
    {
      "query": "test2",
      "search_count": 1,
      "readings": 0
    }
  ]
}
api analytics

Was this article helpful?

Yes
No
Give feedback about this article

Related Articles

  • Helpjuice API v3

Copyright © 2025 - Helpjuice

Helpjuice, Inc. is a registered US Corporation, EIN # 45-2275731

Download W9
  • Help
  • Features
  • Pricing
  • About
  • Careers
  • Customers
  • Blog
  • Case Studies
  • Resources
  • Knowledge Base Examples
  • Privacy Policy
  • Terms of Service

Why is the knowledge base important?

With a knowledge base, you can allow your customers to self-help themselves, thus reducing your customer support by up to 60%. Furthermore, you can also have your team get instant answers to the questions they need without having to email themselves all using knowledge base software.

What is the purpose of a knowledge base?

The purpose of knowledge base software is to allow you to host your knowledge base/corporate wiki in one centralized 'hub'. Both your customers, and employees can now access information within seconds!

Made with from Miami, Bosnia, Morocco & Brasil

+1 (833) 387 3877 support@helpjuice.com
Expand