Docs
Dashboard
API reference / ProjectBeta

Get usage and cost

What the project used and spent in the period, and what the overview page shows (running sessions, the plan's concurrency limit, agent runs and their model cost, per day too).

GET/v1/project/usage

Request

Method and pathGET/v1/project/usage
Base URLhttps://api.boxline.dev
AuthenticationYour API key in the x-api-key header (or Authorization: Bearer). The examples read it from BOXLINE_API_KEY.

Query parameters

NameTypeDefaultAllowed valuesDescription
fromstring––Default the start of this month. Format: date-time.
tostring––Default now. Format: date-time.
curl "https://api.boxline.dev/v1/project/usage" \  -H "x-api-key: $BOXLINE_API_KEY"

Responses

200 OK

Usage of sessions created in the period.

Fields

NameTypeDefaultAllowed valuesDescription
fromstring––Format: date-time.
tostring––Format: date-time.
sessionsinteger––
runninginteger––
concurrencyLimitinteger––The plan's concurrent sessions.
agentRunsinteger––Agent runs started in the period.
modelCostUsdnumber––List-price cost of runs on the platform's model keys.
ownKeyModelCostUsdnumber––List-price cost of runs on the project's own model keys (not charged by Boxline).
browserSecondsnumber––
sandboxVcpuSecondsnumber––
sandboxGibSecondsnumber––
proxyobject––
proxy.residentialGbnumber––
proxy.datacenterGbnumber––
proxy.customGbnumber––
proxy.costUsdnumber––
captchaSolvesobject––
captchaSolves.solvedinteger––
captchaSolves.failedinteger––
captchaSolves.refusedinteger––
captchaSolves.costUsdnumber––
searchesobject––Web searches that reached the provider in the period (cached answers are not counted).
searches.countinteger––
searches.costUsdnumber––The searches beyond each month's allowance
costUsdnumber––Includes proxy data
byDayobject[]––
byDay[].datestring––Format: date.
byDay[].sessionsinteger––
byDay[].secondsnumber––
byDay[].costUsdnumber––
byDay[].agentRunsinteger––
byDay[].modelCostUsdnumber––
byDay[].ownKeyModelCostUsdnumber––
Response 200
{  "from": "2026-09-29T10:00:00.000Z",  "to": "2026-09-29T10:00:00.000Z",  "sessions": 0,  "running": 0,  "concurrencyLimit": 0,  "agentRuns": 0,  "modelCostUsd": 0,  "ownKeyModelCostUsd": 0,  "browserSeconds": 0,  "sandboxVcpuSeconds": 0,  "sandboxGibSeconds": 0,  "proxy": {    "residentialGb": 0,    "datacenterGb": 0,    "customGb": 0,    "costUsd": 0  },  "captchaSolves": {    "solved": 0,    "failed": 0,    "refused": 0,    "costUsd": 0  },  "searches": {    "count": 0,    "costUsd": 0  },  "costUsd": 0,  "byDay": [    {      "date": "2026-09-29",      "sessions": 0,      "seconds": 0,      "costUsd": 0,      "agentRuns": 0,      "modelCostUsd": 0,      "ownKeyModelCostUsd": 0    }  ]}

Errors

Errors have a matching HTTP status and the same body. code is stable, so check it in your code; message is for people. See Errors and request ids.

StatusCodesWhen
401 UnauthorizedunauthorizedMissing or invalid API key.
Error body
{  "error": {    "code": "not_found",    "message": "session not found",    "requestId": "req_4fJx0aQm2Lk9Pz7N"  }}

Learn more

These docs describe a beta API. Endpoints, fields and SDK methods may change before general availability; breaking changes will be listed in the changelog.