Credits & billing
Calls spend credits, including deleted, private or empty results. Failed reads are not charged.
How charging works
Each API has a fixed credit price, the same for every call:
| Credits | Examples |
|---|---|
| 1 | TikTok, X, YouTube and Facebook lookups, comments, search, hashtag, trending |
| 2 | Instagram profile and post lookups, youtube/transcript |
| 4 | Instagram profile posts |
| 8 | Instagram comments, Instagram hashtag posts |
Every operation’s exact price is on the pricing page and in each API’s reference.
The credit cost of a response is always returned in the X-Credits-Charged
header, including when it is zero.
Packs and their prices are on the pricing page.
What is charged, and what is never charged
| Outcome | Charged |
|---|---|
| Success | Yes |
not_found (profile or post gone) |
Yes |
private (account not public) |
Yes |
empty (exists, nothing to return) |
Yes |
unavailable / upstream_unavailable |
No |
400 (malformed or unsupported request) |
No |
429 (rate limited) |
No |
| Idempotent replay | No. The original charge stands |
| Client cancelled after the fetch | Yes. The billable lookup was already completed |
| Client cancelled before the fetch | No |
The two cancellation rows are the ones people trip on. A request you abandoned
can still appear on your bill if the billable lookup was completed before
you disconnected. Credits cover processing the lookup, not receiving the
response. Retry with the same Idempotency-Key and you get the original response without a second charge. See errors & availability.
empty is charged again as of 2026-10-12, after being free from 2026-09-01.
An account with no posts, a video with no comments and the last page of a
cursor walk are completed lookups, and the answer is that there is nothing
there. The response says empty, so you can stop paginating.
not_found and private are charged as of 2026-09-29. A completed lookup
uses credits, including when it confirms that a resource is deleted or private.
Credits cover the work of processing the lookup. The response includes a typed
availability status so you can distinguish these results from a retrieval
failure, which is never charged.
Facebook shows one “This content isn’t available” page for a post or profile
that is missing, deleted, private or blocked in a region. We check it a second
time before answering: confirmed, it returns not_found and is charged like any
lookup (never private, since the two cannot be told apart); unconfirmed, it
returns upstream_unavailable with a 503 and is not charged.
Running out
Requests stop with 402 when your balance reaches zero. There is no subscription and no overage, so nothing can be spent that you have not already paid for.
Buying credits
Every account starts with a one-time grant of free credits. After that, buy a prepaid pack from Billing -> Top-ups. Each pack is a single payment: it never renews, and purchased credits never expire. Current packs and prices are on the pricing page.
Prices are in US dollars and exclude tax; any tax for your country is added at checkout. Payment goes through Paddle.com, our reseller and merchant of record, and credits are added automatically once the payment confirms. Refunds are covered by the refund policy.
Every account has the same rate limit, 30 requests per minute; buying a pack adds credits, not rate. Ask support if you need more.
Last updated 12 October 2026