How it works
Each successful API call debits credits from your wallet before the work is done. Out-of-credits short-circuits with 402 insufficient_credits and never invokes the underlying service.
Every response, including errors, includes X-Credits-Remaining so you can pace your client without polling the wallet.
HTTP/1.1 200 OK
X-Credits-Remaining: 9876
Content-Type: application/jsonRefunds on upstream failure
If a call fails because an upstream pipeline is unavailable (502 upstream_error), the credit is refunded automatically and a corresponding negative-cost row is written to your ledger. You only pay when value is delivered.
Cache misses, validation errors, and 4xx responses do not trigger refunds — they're "you got an answer," even if the answer was "bad request."
Cost per endpoint
| Param | Type | Notes |
|---|---|---|
creators.search | 1 credit | Per page returned. |
creators.show | 1 credit | |
creators.posts | 25 credits | Charged once even if many posts come back. |
posts.show | 1 credit | Cached read from the local index. |
posts.comments | 2 credits | Per page of comments. |
posts.analyze | 25 credits / URL | Charged per URL submitted in the batch. |
campaigns.create | 1 credits | Free; the underlying analysis charges separately. |
campaigns.show | 1 credit | |
campaigns.metrics | 2 credits | Aggregates the entire campaign. |
campaigns.posts | 2 credits | Same cost for /influencers. |
campaigns.delete | 0 credits | Destructive ops are free. |
Refills & rollover
Your wallet refills on a 30-day cycle anchored to your subscription start. Each refill grants your plan's monthly credits on top of whatever is left over from the previous cycle. The exact next-refill date is shown on the Credits page.
Unused credits roll forward, but only up to one full monthly grant. After a refill your balance is capped at 2x your monthly grant. A quiet month doesn't double your runway forever; a busy month right after a quiet one gets a full extra cushion to draw on.