Offer usage-based billing to your customers without the work.

Start today for free.

Fast & reliable

Easy to integrate

You define what activity means to you

Private & secure

You define “active” for your application

Define what kind of user activity represents usage for your application.


Send user activity as it happens

Call our simple activity API to create a record for your application.


Reporting on demand

Call Per’s reporting API to get your application’s up-to-the-minute usage so your billing metrics are always up-to-date.

Unique Users


Start for free, pay only when you need to. No credit card required to start.



1 activity type
5 week reporting period
100 unique active users per month


1 activity type
1 year reporting period
1,000 unique active users per month
Extra active users: $0.03 per user per month


Up to 2 activity types
2 year reporting period
10,000 unique active users per month
Extra active users: $0.02 per user per month


Up to 4 activity types
3 year reporting period
50,000 unique active users per month
Extra active users: $0.01 per user per month

Contact us for additional plans

Quick start

The example assumes you have PER_ACTIVITY_TOKEN and ACTIVITY_TYPE_ID set. For more information, view the full Quick Start documentation.

To send an activity notification to Per:

const request = require('request-promise');
async function sendActivity() {
  try {
    const response = await request({
      uri: '',
      qs: {
        billingId: 'GROUP_A',
        userId: 'USER_ID_1',
        activityTypeId: process.env.ACTIVITY_TYPE_ID
      headers: {
        Authorization: `Bearer ${process.env.PER_ACTIVITY_TOKEN}`
      json: true
    // response.ok should be true, has a transaction ID
  } catch (err) {
curl -v -X GET -H \
 "Authorization: Bearer $PER_ACTIVITY_TOKEN" \


Why “activity billing”?

Customers are rightfully wary of spending a lot of money up front on applications that they don’t know, and seat based licenses force them to limit access to your product to a subset of the team. If you can charge only for what people actually consume, or when people really use your application, customers are more comfortable trying something new, and letting the entire staff take a look.

What does “activity” mean to you?

Every product is different, and that’s one of the reasons we built Per. One size doesn’t fit all, and we think that only you can determine what a meaningful measure of usage or activity is for your product. With Per you can track anything that matters to you and define that engagement in the way that makes sense for your product.

What information do you track about our users?

We strive to keep user data anonymous to us, and meaningful to you. Per is set up to receive only two pieces of user information and we encourage you to make them opaque to us. When you are reporting activity we request a userId which we use to track the unique user count. We also track a billingId so that you can group your usage into the same kind of customer accounts you use for billing. The values you send should be meaningful to you, and you should be able to connect a billingId or userId back to a user or customer in your system, but we don’t think we need that information from you. Please don’t make your userId an email.

How long do you retain the activity data?

For developer accounts we retain the data for six months. For paid accounts the data retention is based on your plan. If you need a different retention period please let us know.

Do you sell or use this data in anyway?

We use the volume of data and usage patterns to make sure we have the right infrastructure in place to meet demand and provide the Per service. We also use our own system to track activity so we are able to bill our customers properly, but we don’t use or sell your data or activity event data to any third parties.

What billing models do you support?

We have set up Per to be very open and flexible, giving you the ability to define the billing model that works for your product. Unique users per calendar month, or a billing period (you define it) is live today and we anticipating adding other billing models regularly. Our paid plans allow you to customize an application specific billing model, so if you have something special in mind let us know.

I haven’t launched my product yet, what is this going to cost me?

We know that you have a lot on your mind and there is a ton that goes into getting your product ready for launch. Per is free during your development phase, no credit card required. Doesn’t matter if it’s 30 days or 30 months. When you launch and start submitting real activity for real customers, upgrade to the paid plan that makes sense to you.