Skip to main content
Each Pulse API endpoint has a list price in credits. What a credit costs depends on your plan.

Prices

A pipeline and a batch have no price of their own: each step of a pipeline is billed at its endpoint’s price, and each document in a batch is billed as its own parse, per page.

Agentic confidence

Agentic confidence gives Extract more reliable confidence scores. Turn it on with confidence: "agentic" in an Extract config, once it’s enabled for your organization. For example, an Extract with effort: "high" and confidence: "agentic" costs 9 credits per page it reads.

What counts as a page

  • Parse counts every page it parses, or only the pages in its page_range.
  • Extract reads the whole parse, or only the pages in its own page_range.
  • Split reads every page of the parse, however many topics you name.
  • Classify reads the first 5 pages of the document, or the pages in its page_range. For a spreadsheet, each sheet it reads counts as a page.
  • Pages listed in a parse result’s failed_pages aren’t billed.
A spreadsheet counts as one page per 1,000 filled cells in the sheets it parses, rounded up, plus one page per chart sheet. It always counts as at least one page. Hidden sheets, rows and columns count only when you ask Pulse to read them with config.enhancements.spreadsheet.include_hidden. For example, a 40-page PDF costs 40 credits to parse. An Extract on that parse with page_range: "1-5" then costs 5 credits.

What’s free

  • A job that fails, is canceled, or is skipped in a pipeline costs nothing.
  • A request that Pulse refuses, such as one with an invalid body, costs nothing.
  • Reading a job’s status or result costs nothing, however often you poll.
  • Saved configs, webhooks, organization settings and GET /usage cost nothing.
  • Parse’s price covers every Parse option, such as chunking, word boxes and figure descriptions.

When you’re billed

Pulse bills a job once, when it completes. In a batch, each document is billed when its parse completes, and in a pipeline, each step when it completes. If your plan, or an API key’s own credit limit, can’t cover a request, Pulse refuses it with a 402 and charges nothing. The error comes back on the request, or on the job’s status when the check runs after the job was accepted. In a batch, each document is checked when its job starts, so the error shows on that job’s status.

Check your usage

Every result carries a usage object. usage.request shows the pages and credits that job used. usage.org shows your organization’s totals for the current billing period, including that job, and your plan’s credit_allowance when it has one. GET /usage returns the pages and credits used by your organization’s jobs created in a time window, by default the last 30 days. This request reads October 2026:
client is the one from SDKs. Times must be in UTC and end in Z. The window includes from but not to.

Jobs and results

Statuses, polling and reading results.

Errors and retries

Retry without starting, and paying for, a job twice.