Credits
What a call costs, how the charge is worked out, and how to cap it.
You pay for Manifold in credits. Each call spends some, a few tools are free, and every result tells you exactly what it cost in meta.credits_charged. What a credit costs you in money depends on how you bought it: each plan has its own rate, and top-ups have theirs. See Plans and top-ups.
What calls cost
A tool's cost follows from what you ask for: how many rows, how many pages, how many engines. Each tool's description states its cost, so your agent knows the price before it calls. Here are some common calls:
| Call | Tool | Credits |
|---|---|---|
| The top 10 Google results for a keyword | seo_get_serp | 1 credit |
| 100 keyword ideas with their metrics | seo_search_keywords | 10 credits |
| A domain overview | seo_get_domain_overview | 5 credits |
| 1,000 backlinks | seo_get_backlinks | 25 credits |
| One prompt on ChatGPT, Claude, Gemini and Perplexity | aeo_run_ai_answers | 16 credits |
| A 100-page technical crawl | seo_run_technical_crawl | 3 credits |
| A person's work email, found | leads_get_email | 6 credits |
| A person's work email, not found | leads_get_email | 1 credit |
| A TikTok profile | tiktok_get_profile | 1 credit |
Each tool's page lists its cost. These are free: get_task, submit_feedback, seo_get_page, aeo_get_site_readiness, and any call with dry_run: true.
How a charge is worked out
Manifold never charges more than a call's estimate, and it charges for what actually came back. Each call goes through three steps:
- Estimate. The server prices the call at the most it can cost, for example the full
limityou asked for. - Hold. It holds that many credits on your balance. If the balance is too low, the call stops with
InsufficientCreditsand costs nothing. - Settle. After the call, it charges for what came back, such as the rows returned, and never more than the estimate. The rest of the hold is released.
The two async tools do the same, but in the background: starting one always returns a task_id, and if your balance is too low, get_task returns InsufficientCredits when the task runs.
A call that reaches a provider costs at least 1 credit, even when the provider has nothing (NoData). A call that fails because a provider is down, because Manifold rejects the input, or because too many of your calls are running costs nothing. See Errors and limits.
An answer from the cache skips the hold and costs 25% of the live price, rounded up, with a minimum of 1 credit. An answer your workspace already paid for is free until it expires.
Cap what a call can spend
Calls spend credits without asking you first, so it is worth giving your agent a budget:
max_creditsrefuses any call whose estimate is higher. The result isBudgetExceededwith the estimate, and nothing is charged.dry_run: truereturns onlymetawith the estimate. It costs nothing.
For example, this call asks for the top 100 Google results, which costs 10 credits. With max_credits at 5 it is refused with BudgetExceeded, and nothing is charged:
{"keyword": "crm for startups", "depth": 100, "max_credits": 5}Watch your usage
The app's Usage page lists every call that was charged or served from the cache, with the tool, the target and the credits. Its Tasks tab lists the crawls and AI answer runs, including any that failed. The dashboard shows a month of credits and your balance.
Run out, and top up
When your balance is below a call's estimate, the call returns InsufficientCredits, and your agent should stop and tell you. The error carries two links: upgrade_url shows the plans to pick from and then checkout, the way on from the free plan, and billing_url opens the app's Billing page, where a plan adds credits or changes plan. A cache hit takes no hold, so it can still be served on a low balance. See Plans and top-ups.