Skip to main content
Agent calls draw from the same credit wallet as everything else in Titan. There is no separate agent plan and no separate meter. The rule is simple: you pay for successful delivery. Work that fails to deliver a record does not consume credits.

Cost per tool

Search bills per run, not per result. Asking for 100 results costs the same as asking for 10, so request what you will actually use and let cost follow your reading, not your ambition.

What is free

None of these consume credits:
  • Validation failures — a bad parameter, an oversized limit, a malformed URL
  • Authorization failures — a missing scope or an invalid key
  • Insufficient credits — the preflight check rejects before any work begins
  • Rejected URLs — anything blocked by URL safety
  • Failed fetches — a URL that returns no record
  • Blocked or rate-limited searches that deliver nothing
  • Crawl records dropped for being cross-origin
  • Polling with titan_get_run and browsing with titan_list_templates
Validation, auth, and credit checks all run before a Titan execution is created, so a rejected call leaves nothing behind to be charged for.

One deliberate exception

A search that completes and confidently returns zero organic results is billable. It delivered a valid answer—that the query has no results—and that answer required real work. A zero-result search caused by a block, a rate limit, a layout failure, or a timeout is not billed. The difference is whether the provider answered.

Reading the usage object

Every run reports its own cost:
This was a 50-URL fetch. Three URLs failed, 47 succeeded, and 47 credits were charged. While a run is in flight, only credits_estimated is meaningful and billing_status is pending. Both settle at terminal status.

Credit preflight

Before starting work, Titan checks your balance against the maximum estimate—the worst case for what you asked for. If your balance is short, the call fails with:
Titan does not silently downgrade a request to fit your balance. A 100-URL fetch either runs as a 100-URL fetch or fails cleanly. If you are near your limit, split the work into smaller calls yourself.

Keeping agent spend predictable

Reconciling with billing

Because run_id is the Titan execution_id, agent spend reconciles like any other usage:
Agent runs are attributable to their agentic task, so you can separate agent spend from the rest of your usage.

Next steps