LeanCrawl is prepaid-credit based. Every billable operation reports credit_cost
in the response envelope.
Per-call costs
| Endpoint | Credits |
|---|---|
markdown html links map | 1 |
screenshot pdf | 2 |
extract | 3 |
crawl | 1 per completed page |
monitor | 1 per check (failed checks: 0) |
Reserve → settle
POST /v1/crawl reserves limit credits up-front (reserved shows in
GET /v1/account/usage). As pages complete, actual usage is settled against the
reservation; at job end the unused remainder is released.
completedstatus: all requested pages done.partialstatus: ran out of credits mid-crawl — results are incomplete; top up and start a new crawl with a narrower scope.
Edge cases
- Failed capture runs bill
0credits (status = "error"in activity). - Cached hits (
status = "cached") still cost the endpoint's price — a 48 h content cache saves latency, not money. - Cancelling a crawl pays only for pages already fetched; the rest of the reservation is released.
Checking usage
GET /v1/account/usage → balances (plan_credits, one_time_credits), plan_quota,
reserved (in-flight reservations), period_end. GET /v1/account/usage/daily and
GET /v1/account/activity accept ?api_key_id= for per-key attribution (self resolves
to the calling key); GET /v1/account/keys reports credits_30d per key.
GET /v1/account/usage/daily gives
per-day per-endpoint aggregation for up to 90 days.