Skip to content

Billing

The webforai platform is metered in credits. Every operation reports a credit amount; nothing else is counted — no per-seat pricing, no request tiers, no minimum commitment.

Credit schedule

operationcredits
scrape via fetch1
scrape via browser2
scrape via proxy-fetch (subscription only)2
scrape via proxy-browser (subscription only)3
screenshot option+1
rehostImages option+1 per started 5 images

The default auto engine has no price of its own: the operation bills the engine that actually produced the result (so 1 credit when a plain fetch sufficed, 2 when the page needed browser rendering), and only that engine.

Batch and crawl jobs bill per successfully converted page using the same schedule. A page that fails is not billed, and neither is a request that errors before the conversion runs.

Price

  • 1,000 credits per month free — no subscription, no card.
  • Beyond that, a metered monthly subscription with graduated tiers per calendar month:
credits in the monthprice per creditper 1,000 fetch pagesper 1,000 browser pages
first 1,000freefreefree
1,001 – 100,000$0.001$1.00$2.00
100,001 – 1,000,000$0.0007$0.70$1.40
above 1,000,000$0.0005$0.50$1.00

Months are calendar months in UTC: the free allowance, the tiers and the spend cap all reset on the 1st at 00:00 UTC. Each tier applies only to the credits inside it. 1,000 free credits is 1,000 fetch scrapes, or 500 browser-rendered or proxy-fetch pages, every month. For example, 50,000 auto pages a month where 20% need a browser is 60,000 credits: 1,000 free + 59,000 × $0.001 = $59.

Proxy engines need a subscription

proxy-fetch and proxy-browser — and auto with a non-auto region such as "jp", which runs on them — are available with an active subscription only. On the free allowance they are refused with 402 payment_required before anything runs, and nothing is billed. The free allowance covers fetch, browser and auto. The public demo never uses the proxy.

Spend cap

Every subscription has a monthly spend cap: $50 by default, adjustable on the dashboard from $1 to $5,000 (there is no "unlimited"). When this calendar month's estimated bill reaches the cap, further requests return 402 spend_cap_reached until you raise the cap or the month ends, and a running batch or crawl job stops instead of converting further pages. The cap is checked before each operation against usage already recorded, so requests that are in flight at the same moment can each finish and overshoot it by their own credits (a few cents at most in practice).

How usage is counted

  • Without a subscription, requests run until the month's free 1,000 credits are used, then return 402 payment_required.
  • With a subscription, requests run until the spend cap.
  • Only successful operations are billed, each exactly once — retries on our side never double-count. The dashboard's Usage view shows the same records your invoice is built from.

Managing the subscription

Checkout and the billing portal are both reachable from the dashboard. Cancelling drops you back to the free allowance rather than disabling the account.

Self-hosting

Billing is optional. Running your own instance without STRIPE_SECRET_KEY starts the platform in free-allowance-only mode — everything works, nothing is metered externally, and you pay Cloudflare and your proxy provider directly instead. If you do want metering, pnpm stripe:setup creates the meter and the metered price for you. See the apps/platform README.