Does Ackee Offer an API for Extending or Building Custom Interfaces?

Updated

Yes. Ackee exposes a centralized GraphQL API, and the project explicitly positions it as a way to "extend it your way." According to the official site, the API acts as a hub for collecting data from a variety of sources — websites, services, and apps — and you can build your own interface or service on top of it. This makes Ackee a reasonable choice if you want privacy-focused analytics but don't want to be limited to its default dashboard.

What the API actually is

Ackee's API is GraphQL, not REST. The homepage shows a sample query that fetches a domain by ID and returns facts and statistics:

query getDomain($id: "hd11f820-68a1-11e6-8047-79c0c2d9bce0") {
  domain(id: $id) {
    id
    title
    facts {
      activeVisitors
      averageViews
      averageDuration
    }
    statistics {
      views(interval: YEARLY, type: UNIQUE) {
        id
        count
      }
    }
  }
}

Two things are worth noting from this example:

  • You query by domain ID, not by hostname, so you'll need to retrieve or store IDs for each site you track.
  • The API returns aggregated facts and statistics (active visitors, average views, average duration, view counts over an interval), which maps to what the dashboard displays under "Insights."

What you can build with it

The stated use cases are broad: the API is described as a "powerful hub, perfect to collect data from a variety of sources, including websites, services and apps." In practice that means two directions:

Direction What it looks like
Feeding data in Sending tracking data from sources beyond a standard website snippet
Reading data out Pulling stats into your own dashboard, report, or internal tool
Replacing the UI Building a custom interface or service on top of the API instead of using Ackee's own

If your goal is a custom analytics view — for example, a status board for a client, or stats embedded in an internal admin panel — the read side of the API is the relevant part.

What this means for self-hosting

Because Ackee is self-hosted and 100% open-source, the API runs on your own server alongside the rest of the tool. There's no separate hosted API tier described on the page, and no pricing signals are present in the source material, so nothing here should be read as a statement about cost or plan limits. The relevant constraint is simply that you're running the instance yourself.

The site's "Get started" guide covers ways to set Ackee up, and the API is part of that same deployment rather than a separate product.

Practical considerations before you commit

  • GraphQL schema discovery: The homepage shows one query shape. To build anything real, you'll want to inspect the schema of your running instance rather than assume the fields shown are exhaustive.
  • Domain IDs: Since queries key off IDs, plan how your custom interface will map human-readable site names to those IDs.
  • Anonymized data: Ackee's tracking is cookie-free with no unique user tracking, and it anonymizes data through a multi-step process. Your custom interface will inherit that same aggregated, anonymized dataset — you won't be able to reconstruct individual user journeys from the API, by design.
  • Unlimited domains: The site states Ackee supports as many domains and apps as you want, so a multi-site custom dashboard isn't limited by a domain cap described in the source.

Who this fits

The API is a good fit if you're a developer who wants Ackee's privacy model but needs the data somewhere other than Ackee's own minimal UI. It's a weaker fit if you want a ready-made embeddable widget or a documented REST endpoint with client libraries — none of that is described in the source material. The honest summary: the extension path exists and is central to the product's pitch, but you should expect to work directly with GraphQL against your own instance.