JustSERPDocs
Account

Account usage over time

Your key's calls over time, in fixed buckets, ready for a bar chart: the last 24 hours in 24 one-hour buckets, 3 days in 24 three-hour buckets, 7 days in 28 six-hour buckets, or 30 days in 30 one-day buckets.

GET
/v1/account/usage

Your key's calls over time, in fixed buckets, ready for a bar chart: the last 24 hours in 24 one-hour buckets, 3 days in 24 three-hour buckets, 7 days in 28 six-hour buckets, or 30 days in 30 one-day buckets. Each bucket holds how many calls were made in it and how many of them cost a call.

The buckets follow your own clock. Send utc_offset, your offset from UTC in whole minutes, positive east of it: Toronto in winter is -300 and India is 330. A one-day bucket then starts at your local midnight, a three-hour bucket at your local 00:00, 03:00 and so on. The last bucket is the one the present moment falls in. buckets always holds every bucket, oldest first, with zeros for the empty ones, and the first never starts more than 30 days ago.

calls and charged mean what they mean in the usage of /v1/account: calls counts the requests that passed the key check, whatever their outcome, and charged the ones that cost a call. totals is the sum of the buckets. If you reset your API key in the dashboard, the calls made with the keys you replaced during the last 30 days are counted too, so a reset does not clear your history.

Free: nothing is counted against your key and no concurrency slot is held. It needs your own API key. The log keeps the last 30 days and began in October 2026, so an older range holds less until it fills. A call just made can take a moment to appear, and the answer can be up to a minute old.

Reads are limited to a few per key in a short time, all the account endpoints together: past that, 429 with Retry-After. GET takes the same fields as query parameters.

Authorization

headerX-API-Key<token>

Your API key.

Query Parameters

range?string

How far back to go, and so the size of the buckets.

Default"24h"
Value in"24h""3d""7d""30d"
utc_offset?integer

Your offset from UTC in whole minutes, positive east of it: -300 for Toronto in winter, 330 for India. The buckets start at your local midnight, 00:00, 03:00 and so on.

Range-840 <= value <= 840
Default0

Response Body

Your key's calls in each bucket of the range, oldest first.

application/json
  1. response
range*AccountUsageRange

How far back to go, and so the size of the buckets.

  • 24h: 24 buckets of one hour.
  • 3d: 24 buckets of three hours.
  • 7d: 28 buckets of six hours.
  • 30d: 30 buckets of one day.
Default"24h"
Value in"24h""3d""7d""30d"
bucket_seconds*integer

The length of each bucket: 3600, 10800, 21600 or 86400.

utc_offset*integer

The offset the buckets were aligned to, as sent or 0.

buckets*array<>

Every bucket of the range, oldest first, the empty ones with zeros. The last one holds the present moment.

totals*
Example Request
curl -X GET 'https://api.justserp.com/v1/account/usage?range=7d&utc_offset=-300'
Example Response
{  "range": "24h",  "bucket_seconds": 3600,  "utc_offset": -300,  "buckets": [    {      "start": "2026-11-04T20:00:00.000Z",      "calls": 3,      "charged": 3    },    {      "start": "2026-11-04T21:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-04T22:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-04T23:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T00:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T01:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T02:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T03:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T04:00:00.000Z",      "calls": 1,      "charged": 1    },    {      "start": "2026-11-05T05:00:00.000Z",      "calls": 4,      "charged": 3    },    {      "start": "2026-11-05T06:00:00.000Z",      "calls": 9,      "charged": 9    },    {      "start": "2026-11-05T07:00:00.000Z",      "calls": 12,      "charged": 12    },    {      "start": "2026-11-05T08:00:00.000Z",      "calls": 7,      "charged": 7    },    {      "start": "2026-11-05T09:00:00.000Z",      "calls": 6,      "charged": 5    },    {      "start": "2026-11-05T10:00:00.000Z",      "calls": 10,      "charged": 10    },    {      "start": "2026-11-05T11:00:00.000Z",      "calls": 8,      "charged": 8    },    {      "start": "2026-11-05T12:00:00.000Z",      "calls": 5,      "charged": 5    },    {      "start": "2026-11-05T13:00:00.000Z",      "calls": 2,      "charged": 1    },    {      "start": "2026-11-05T14:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T15:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T16:00:00.000Z",      "calls": 1,      "charged": 1    },    {      "start": "2026-11-05T17:00:00.000Z",      "calls": 0,      "charged": 0    },    {      "start": "2026-11-05T18:00:00.000Z",      "calls": 2,      "charged": 2    },    {      "start": "2026-11-05T19:00:00.000Z",      "calls": 2,      "charged": 2    }  ],  "totals": {    "calls": 72,    "charged": 69  }}