spicrawlspicrawlDocs
Usage

Current-period usage against the plan allowance

Usage for the current period, with credit allowance arithmetic in micro-credits (1 credit = 1000000), plus the monthly allowance the API enforces.

Requires scope: read

GET
/v1/usage/summary

Usage for the current period, with credit allowance arithmetic in micro-credits (1 credit = 1000000), plus the monthly allowance the API enforces. Takes no parameters.

Every organization has a monthly credit allowance (1,000 credits unless an operator set a different limit for the organization), counted per allowance month: from 00:00 UTC on the day of the month the organization was created to the same day of the next month. When it is used up, requests are refused with 402 ERR::LIMIT::QUOTA_EXCEEDED until allowance.resets_at.

  • allowance is the number the API enforces, and the one to show as "credits left": allowance.remaining_micro. Its used_micro is the enforcement counter, which includes credits currently HELD for in-flight work (an open browser session holds its whole session_ttl price, a batch job holds the price of its unfinished items) as well as credits spent. It is omitted when the deployment has no allowance counter, or when the counter could not be read (a warning then says so).
  • credits is METERED usage from the usage rollup for the period: spent credits only, batch items included, but not credits held for work still running. It can therefore be lower than allowance.used_micro.
  • With no subscription (the usual case), the organization is on the free plan: plan names the current free plan, plan.subscription_status is none, plan.period_source is allowance_month, and credits.included_micro is the enforced monthly limit. The period is the allowance month, not a billing period.
  • With a subscription, period_source is subscription, the period is the billing period and credits.included_micro is the plan's included credits. The enforced limit is still allowance.limit_micro.

Pitfalls:

  • There is no money figure. Overage pricing is computed only at invoicing.
  • unattributed usually equals metrics today because per-engine attribution is not populated.

Authorization

bearerAuth
AuthorizationBearer <token>

Authorization: Bearer <key>. Read the key from the SPICRAWL_API_KEY environment variable; never hard-code or log it. spicrawl_test_… keys can never spend live credits. Scopes: scrape, batch, sessions (granted by default), browser and read (granted deliberately). A missing scope is 403 ERR::AUTH::INSUFFICIENT_SCOPE naming the scope.

In: header

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

curl -X GET "https://example.com/v1/usage/summary"

{  "period": {    "start": "2026-09-01",    "end": "2026-10-01",    "days": 30,    "bounds": "[start, end)"  },  "period_elapsed_days": 21,  "plan": {    "code": "growth",    "name": "Growth",    "version": 3,    "subscription_status": "active",    "period_source": "subscription"  },  "credits": {    "included_micro": 100000000000,    "used_micro": 42500000000,    "remaining_micro": 57500000000,    "overage_micro": 0,    "overage_micro_cents_per_credit": 90000,    "used_basis_points": 4250  },  "allowance": {    "limit_micro": 1000000000,    "limit_credits": 1000,    "limit_source": "default",    "unlimited": false,    "used_micro": 430000000,    "remaining_micro": 570000000,    "window_start": "2026-09-14T00:00:00Z",    "resets_at": "2026-10-14T00:00:00Z"  },  "metrics": {    "requests": 10630,    "credits": 42500000000,    "engine_ms": 18200000  },  "unattributed": {    "requests": 10630,    "credits": 42500000000,    "engine_ms": 18200000  },  "usage_as_of": "2026-09-22T11:55:00Z",  "stale_seconds": 300}