Fiber AI

Billing & Credits

How Fiber's credit-based pricing works — per-item costs, free operations, and cost-control levers.

Billing & Credits

Fiber runs on a credit-based model. You hold a credit balance; chargeable operations consume credits per result/item; many supporting operations are free. Pricing is designed to be transparent and predictable, with free previews/estimates and authoritative post-call reconciliation.

How credits work

  • Per-item pricing. Chargeable operations bill per result or per item found (e.g., per company returned, per email revealed), not per API call. A search that returns nothing costs nothing.
  • chargeInfo is authoritative. Every chargeable response includes output.chargeInfo (or chargeInfo) — the real amount charged. Always surface it verbatim rather than estimating from published rates.
  • Check balance (free): GET /v1/get-org-credits?apiKey=xxx.
  • Estimate before charging: where an estimate endpoint exists (e.g., the audience estimateEnrichmentCost), call it and confirm before committing.
  • Some operations are volume-tiered. The per-unit price for an operation can step down once you pass a threshold within a period, so a large job's average cost may land below the published rate. chargeInfo reflects what you actually paid.
  • Costs can be fractional. Credits are tracked at sub-credit precision, so an operation may cost 1.5 credits rather than rounding up to 2.

Managing billing over the API

Six endpoints cover balance, purchase, and limits:

OperationCallCost
getOrgCreditsGET /v1/get-org-creditsFree
getRateLimitsGET /v1/rate-limitsFree
buyCreditsPOST /v1/buy-creditsCharges your card
getAutoTopupSettingsGET /v1/auto-topup/settingsFree
updateAutoTopupSettingsPOST /v1/auto-topup/configureFree
cardsAttachPOST /v1/cards/attachFree

getOrgCredits returns one entry per subscription — max, used, available, and usagePeriodResetsOn, plus creditsPerOperation carrying your organization's actual per-operation pricing, which supersedes the representative table below.

getRateLimits returns the effective limit for every endpoint as method/path/max/window, so a client can read live values instead of hardcoding them.

Reads allow 120 requests/minute; settings changes allow 10/minute.

Representative per-item costs

OperationCredits
Work email reveal2
Personal email reveal2
Phone number reveal3
Live fetch (profile or company)2
Company search result1
People search result1
Job posting search1 / posting returned
Job posting count1 / request
Audience build1 / company found + 1 / prospect found
Tracker entity check2 / entity / refresh
Hotel search page2
Hotel property lookup2

Actual per-org pricing may differ. Always trust the live estimate endpoints and the chargeInfo in each response over static tables.

Some products bill per operation/request instead of per item (for example, market-intelligence lookups like hotels/flights/finance and social media APIs bill per call). The response's chargeInfo tells you exactly what a given call cost.

Free operations

Many operations cost nothing:

  • Account/observability: check credits (get-org-credits), rate limits, health check, reference enums.
  • Search previews: companyCount, peopleSearchCount, jobPostingSearchCount — see counting before you spend.
  • Audience setup: create audience, set search params, estimate enrichment cost, poll status.
  • Tracker: adding entities, reading signals, managing lists, firing dummy signals, previewing signal payloads.
  • Reverse phone lookup: only charges when a result is found — no charge for invalid numbers or misses.

Running out of credits

A chargeable call with an empty balance returns HTTP 402 with an outOfCreditsAlert containing a purchase URL. Handle this in production code so long-running jobs can pause and resume rather than crash.

Top-ups

Top-ups add credits to your balance immediately, charged to your card on file. No plan change, no interruption to your current cycle. Buy them with buyCredits (POST /v1/buy-credits).

  • Purchase bounds: a single top-up is between 1,000 and 1,000,000 credits. Machine-initiated pay-as-you-go purchases can go as low as 100.
  • Price depends on your plan: $20 per 1,000 credits on a subscription, $30 per 1,000 on pay-as-you-go. Organization-specific pricing may differ, and the checkout amount is authoritative.
  • Safe retries: purchase requests are idempotent — retrying a timed-out request won't double-charge you.
  • Rate limit: 2 requests/minute. Deliberately low, because this endpoint charges real money.

buyCredits charges a real card immediately. There is no confirmation step and no dry run. Put a human approval in front of it when calling from an agent or an automated job.

Auto top-up

Manual top-ups don't scale to high-volume API usage — one burst of parallel jobs can drain a balance before anyone notices. Auto top-up removes the cliff: when your balance dips below a threshold you choose, Fiber automatically charges your card and adds credits, keeping jobs running without intervention.

Configure it with updateAutoTopupSettings (POST /v1/auto-topup/configure) and read it back with getAutoTopupSettings (GET /v1/auto-topup/settings):

FieldWhat it does
creditThresholdThe balance that triggers a top-up (e.g. top up when under 5,000). Required when enabling
creditsToBuyHow many credits each automatic top-up buys, between 1,000 and 1,000,000. Required when enabling
maxPerDayCap on the number of top-ups in a rolling 24-hour window. Null for no daily limit
maxPerMonthCap on the number of top-ups per calendar month, UTC. Null for no monthly limit

The caps count top-ups, not dollars. maxPerDay: 3 means at most three automatic purchases in 24 hours; with creditsToBuy: 50000 that is up to 150,000 credits per day. Multiply the two for your maximum exposure.

Good to know:

  • Settings are per subscription, not per organization. Each carries its own subscriptionId, so an org with several subscriptions configures each one separately, and getAutoTopupSettings returns a list. A subscription that has never been configured returns configured: false.
  • Hitting a cap pauses, it doesn't disable. Daily caps release when the rolling window passes; monthly caps release at the start of the next calendar month. Manual purchases never count against either.
  • The threshold check runs alongside charging, so a balance that crosses it is refilled within moments rather than on a nightly schedule.
  • It never un-pauses a paused account. If your subscription is paused, auto top-up won't charge you — reactivation is always an explicit action.
  • Auto top-up and automatic cycle resets are mutually exclusive on the same subscription. Turning one on means the other stops firing for that subscription; different subscriptions in the same org can use different strategies.

Early reset & plan changes

Two situations restart your billing period now instead of at its natural end:

  • Plan change — switching tiers starts a fresh period from the moment of the switch, with no proration: you aren't charged for unused time on the old plan and don't get partial credit for it either.
  • Early reset — you can also deliberately start a fresh period early, reactivating a paused account this way if needed.

Use an early reset when you've exhausted your allocation mid-cycle and want the new period's credits immediately rather than topping up à la carte — which one is cheaper depends on your volume, so compare against the top-up rate first.

Other things worth knowing

  • You get a 14-day grace period. When a usage period ends, credits stay usable for 14 days before restrictions apply, so in-flight work isn't cut off at the boundary and a renewal landing inside that window rolls over cleanly.
  • Trials start with 500 credits, regardless of which plan you're trialling.
  • You'll hear before you run dry. Low-balance alerts fire around 500 credits remaining, and a separate notification goes out when you're down to 10% of your allocation.
  • Everything is visible. fiber.ai/app/usage shows credits used, exported rows, and every API call; fiber.ai/app/subscription handles plans, balances, and top-up settings.
  • Check balance programmatically. GET /v1/get-org-credits?apiKey=xxx is free — poll it around big jobs if you want hard guarantees before fanning out.
  • Trust chargeInfo, not estimates. Published rates are representative; the chargeInfo on each response is what was actually charged.

Cost-control levers

  • Size before you spend. Use the free *Count endpoints and audience cost estimates to iterate on filters before pulling results.
  • Cap volumes. Set sensible limits on every bulk job: maxCompanies, maxProspects, maxProspectsToEnrich, maxRowsToExport, Tracker refresh interval, Google Maps "Max locations".
  • Scope enrichment. Request only the enrichmentType fields you need — skipping personal emails or phone numbers saves credits.
  • Pick the right tier. For reveals, start with Quick Reveal and escalate only when needed — see the decision ladder.
  • Prefer batch/audience flows over many single calls for bulk work — fewer, larger jobs are cheaper to orchestrate and easier to reconcile.
  • Read your real prices. getOrgCredits returns creditsPerOperation for your organization; budget against that rather than the table above.
  • Search — per-result pricing and the free count endpoints.
  • Live Fetch — what a fetch costs and when a not-found still counts.
  • Contact Reveal — the tier ladder, where most credit spend goes.

On this page