hyreflow

Credits & Billing

How metering, credits, and BYOK work.

Every metered call is charged against your workspace's credit balance. Every new workspace starts with 25 credits, once. See Plans for the monthly grant each plan adds on top.

What gets charged

The structural rule: only data reveals cost credits. Catalog and list_* reads, previews, sequencer sends, and ATS/CRM writes are free. Anything that returns a record you didn't have, whether an email, a mobile, a person or company profile, a scraped page, a job or funding signal, is charged.

See Pricing Tables for the full per-method rate card, and Pricing for how a method's price is set.

Waterfalls stop at the first hit, so you pay one provider per row, not the whole chain, and they try the cheapest provider first. Soft misses (0 results) charge 0.

When a lookup finds nothing

A lookup that comes back empty charges 0 credits, whether on a waterfall, a bulk enrich, or a direct tools execute. The run still appears in your usage history, recorded as no_result with 0 credits.

Two things are charged even though they can look empty:

  • A real answer that happens to be negative. An email verification returning invalid is a result: you asked whether an address was deliverable and got the answer. Only an inconclusive unknown is free.
  • Methods charged per call. Where the vendor bills us for the request itself, an empty response is charged at the method's listed rate. Every enrichley, firecrawl, hyreflow_native, lusha and serper method works this way, as do most aiark, exa, icypeas and predictleads methods, whose remaining methods are charged per returned record and are free on a miss. A lusha request bills a flat floor whatever it finds, so an empty one is charged 2.8 credits rather than the method's rate, and a lookup that comes back with nothing costs the same whichever field it was after. hyreflow tools get <provider> <method> is the per-method answer, and dry_run shows would_charge_credits before you spend anything.

Provider reveals that run as a background job (start_* → the matching retrieval call) are charged once, on the retrieval that carries the record: starting the job is free, polling it again is free, and a job that finishes without a match costs nothing.

BYOK

Bring your own key and the call is free on Hyreflow: you pay the vendor directly, zero platform cost. Some providers (apify, apollo, ashby, atlas, breezy, builtwith, fathom, granola, heyreach, instantly, lemlist, lever, loxo, openmart, recruit_crm, recruitee, recruiterflow, reply_io, sendkit, shovels, smartlead, smartrecruiters, sourcewhale, spott, zoominfo) are BYOK-only and not resold on managed credits. Add a key with hyreflow byok set <provider> --api-key <key>, see BYOK in CLI Concepts for the full command surface. ZoomInfo uses OAuth client credentials instead of a single key, so it isn't self-serve yet, contact Hyreflow to get it enabled.

dry_run

Preview any call without charging. The response returns would_charge_credits, the function that would_call, and the resolved args/kwargs.

hyreflow tools execute prospeo email_finder --dry-run --payload '{"full_name":"Jane Doe","company_website":"acme.com"}'

Bulk enrich cost estimate

Before running enrich on a large CSV, check the worst-case cost:

hyreflow enrich --input leads.csv --estimate --with '{"alias":"email","tool":"email_enrichment"}'

The engine returns cost_estimate (the worst-case credits and USD across every row), can_run (whether a live run will be accepted), and covers_worst_case (whether the balance covers every row at the worst-case rate). A live run is refused only when the balance can't cover a single row: the floor below which the run couldn't make any progress at all. If it starts but the balance may not stretch across every row, the response carries a partial_budget warning instead of a refusal; later rows can come back without a result once the balance runs out, but nothing is ever overcharged. When a run is refused, the response includes a Stripe checkout link sized to cover the whole run, so you can top up and retry.

Spending caps

Two independent caps, on different clocks. The dashboard billing page shows and accepts dollars for both; the CLI and the API take the unit each cap is stored and enforced in.

  • The 30-day workspace cap stops new charges once your rolling 30-day spend reaches a ceiling stored and enforced in credits. Set it on the dashboard billing page (in dollars) or with hyreflow billing limit [--set CREDITS | --clear] (in credits).
  • The per-session cap pauses a single session once its own spend reaches a dollar ceiling. Set the workspace's default on the dashboard billing page's per-session cap tile, or with hyreflow billing session-limit [--set USD | --clear], and every session created afterward inherits that default as its starting cap. A running session can override its own cap up or down (hyreflow session limit --dollars N, the Playground's Session Spending Limit modal, or clearing it to remove the cap entirely) without touching the account default or any other session. Changing the account default only affects sessions created after the change.

Plan credits vs purchased credits

Your balance is two pools, and a charge always draws down the same one first:

Filled byRollover capSpent
Plan creditsyour monthly grant, and the difference when you upgradeyes, see Plansfirst
Purchased creditstop-ups you pay forneverlast

Plan credits are spent first, on purpose. They are the only ones a rollover cap can ever trim, so spending them first means the credits you paid cash for are the ones that survive, and a workspace that stays inside its monthly grant never touches its purchased balance at all. The dashboard billing page shows the two pools separately, and the plan-change dialog tells you how many plan credits a downgrade would put above the new cap before you confirm it.

Topping up

Topping up needs an active plan: Free can't buy credits, only the once-off welcome grant. A workspace with beta access can top up on Free too, and its billing page shows a Beta badge. Purchase credits from the dashboard; a top-up is priced above your plan's rate (bigger top-ups cost less per credit, see Pricing) and, unlike a plan's monthly grant, never expires. Successful top-ups land in your balance and are available immediately for the next call.

Checking your balance

hyreflow billing balance
curl https://recruit.hyreflow.ai/billing/balance -H "Authorization: Bearer hf_live_xxx"

Returns the current balance plus your recent charges.

On this page