How Your Plan Is Metered

FourA sells two products, and they're measured in different units. Your plan is sold on one of those two units, which decides which allowance refuses you and which cards you see in the dashboard. This page is the whole model on one screen.

Two Products, Two Units

Product You call The unit
API POST /api/single, /api/proxy, /api/browser, /api/auto A request, priced in credits
Proxy port proxy.foura.ai:34004 from any client that takes a proxy URL A tunnel, priced in gigabytes

On the API, only a success outcome costs credits. A request that failed on the target's side, on your side, or on ours costs you none. Premium traffic is counted apart from credits, as described below. See Request Outcomes.

On the proxy port there are no credits and no request count, and that isn't an omission. A tunnel is one connection your tool opens, and what it sends inside is your own encrypted traffic, so FourA can count the tunnel and the bytes it carried and nothing finer. A request count here would be a number you could never reconcile against your own logs. The port is therefore always sold by the gigabyte. See Proxy Port.

What a Gigabyte Is, and What Goes Into It

One gigabyte means 1,073,741,824 bytes (2^30, the unit also written GiB). Every allowance, counter and price on your plan uses that figure, on the API and on the proxy port alike.

What is counted differs by product, because the two carry different things:

Where What is counted
API, standard exits The body of the request you send us, plus the body of the response we return. HTTP headers are not counted, on either side.
API, premium exits Every byte of the transfer as it crossed the network, both directions, compressed and encrypted as it travelled.
Proxy port Every byte that crosses the tunnel, both directions, once it is open, including the encrypted-connection setup your client performs with the site. Opening the tunnel is not counted, except that a premium exit the port tries and doesn't use while opening your tunnel counts as premium traffic.

A few consequences worth knowing:

  • The page is counted decoded, because the decoded page is what we produce. Reaching it can mean running a real browser, completing an extra step the page asks for, then decoding the response and handing you content you can use. What you pay for is that result, not how compactly it happened to travel. The proxy port is the other case and is priced the other way: there we carry your own connection and do nothing to what is inside it, so we count the bytes exactly as they cross the tunnel.
  • Retries on the standard pool cost you nothing. When Proxy Finder rotates through several exits, you pay once, for the answer you receive, however many exits were tried. On a premium exit every attempt counts, because that is how the premium networks bill us.
  • A browser session on a standard exit is counted like any other API response: the body we return you, not every subresource the page loaded. Through a premium exit the whole session is on the wire and counts there.
  • Premium is part of your total, not an addition to it. Your standard allowance is charged only for the part that did not go through a premium exit.
  • An Auto call carries no traffic of its own. The Single, Proxy Finder and Browser requests it makes are counted as if you had made them yourself.
  • A refusal by the site is counted; a refusal by your own plan is not. When a site answers 403, 404, 429 or 5xx, we carried that answer to you, so it counts. When a limit on your own plan refuses the request, nothing is fetched and nothing is counted.
  • Nothing is rounded up. Bytes are counted exactly, with no block size and no minimum per request, and your figures are reconciled nightly against our metrics store.

Two Ways a Plan Is Sold

Both meters run for every account. Which one your plan is sold on is what changes.

Sold by credits

The API charges credits per billed request. The proxy port gets its own included gigabytes, quoted separately, because a tunnel has no request to charge a credit to. The two don't eat each other: your API traffic doesn't consume the port's gigabytes, and the port's tunnels don't consume your credits. Charging one API request twice, once in credits and once in the bytes those credits produced, would be the alternative.

The API's own traffic cap is off unless your plan carries one.

Sold by traffic

One standard-traffic allowance covers the API and the proxy port together, because both doors are priced in the same unit. A plan sold this way bills no credits, so credits disappear from the dashboard entirely rather than showing a number that means nothing.

Premium traffic, on both

Premium traffic always has its own allowance, on either kind of plan. It's never counted inside the standard figure, so a gigabyte is never charged to two ceilings. You reach a premium exit with exitClass: premium on POST /api/proxy/ or -network-premium on the proxy port.

It's measured as it crosses the network: both directions, compressed and encrypted as it went. On the API every premium attempt counts, including one that didn't return your page; on the proxy port it's the traffic of each premium tunnel, plus any premium exit the port tried and dropped while opening it.

What Refuses You, and Where

Allowance On the API On the proxy port
Credits for the period 429 with X-FourA-Limit: plan_limit_credits Not applicable
Standard traffic for the period 429 with X-FourA-Limit: plan_limit_bandwidth 429 with X-Foura-Error naming the traffic
Tunnels open at once Not applicable 429 with X-Foura-Error
Tunnel openings a minute Not applicable 429 with X-Foura-Error
Premium traffic Downgraded, not refused 403 on an explicit request

A CONNECT has no body to put a JSON error in, which is why a port refusal is a status plus a header rather than the shape Rate Limits describes. Read X-Foura-Error before anything else on a proxy connection.

Premium running out is the one asymmetry

The two doors deliberately answer differently, because "I asked to spend" and "something was set for me once" are different situations.

On the API, an exhausted premium allowance never stops a job. The request is served from the standard pool and the response says exitClass: standard, so you can see what you actually got. A plan that doesn't include premium exits at all is a different answer: that's a 403 with plan_limit_premium.

On the proxy port:

  • A connection that names -network-premium is refused with a 403. You asked to spend, so being quietly served from somewhere else would leave you reconciling a premium line that never appears.
  • A premium default saved on the proxy user is downgraded to the shared network, and the tunnel still opens. You didn't choose it for this connection.
  • An armed -fallback-premium simply doesn't fire.

Buying More

Top-ups count exactly the same as what the plan includes. Each period your plan's own allowance is used first, and only what you go over draws on the balance you bought. A purchase lasts twelve months.

The dashboard keeps the two numbers apart wherever it quotes an allowance (75,000 (50,000 incl + 25,000 bought)), so the figure on screen can be reconciled against the invoice you're holding.

Where to Read Your Own Numbers

Page What it answers
Billing This period against what's available, one card per thing your plan meters, with a Buy button on each
Usage & Limits Every limit next to its live counter, plus a per-key, per-endpoint, and per-proxy-user breakdown
Overview Volume and traffic over any period, per product

Which cards Billing shows follows the two cases above: a plan sold by credits gets a Credits card and a Proxy port traffic card; a plan sold by traffic gets neither, and its Standard traffic card carries the cap and says The API and the proxy port together.

Don't hardcode any of these numbers. Every API refusal carries the ceiling that refused it, and every port refusal names it in X-Foura-Error.

Last updated: September 30, 2026