← All posts

Oxylabs vs FourA: what a blocked page costs

Oxylabs bills a 403, a 404 and a bot check as successful results. FourA bills none of them. Both billing docs, read on 21 September 2026.

Oxylabs vs FourA on the page that says no

A blocked page costs $1.15 per 1,000 on the Oxylabs Web Scraper API's Micro plan. On FourA it costs nothing. Oxylabs counts every 2xx and 4xx result from the target as a success and bills it, while FourA bills only a request that delivered what you asked for. Both rules come from each side's own billing docs, read on 21 September 2026. Your list will refuse part of every crawl: a 403 from a site check, a 404 on a delisted product, a 200 whose body is a check page.

What does a blocked page cost on FourA?

Every request ends in one of seven outcomes, and only success is billed. A 403 from the target is an application failure. So is a 404 your validate rule didn't accept. A 200 carrying a verification page or a JavaScript check is an application error, and the X-FourA-Check-Page header names the check that served it. None of the three bills, and none counts against your plan. The body still reaches you.

What you pay for the pages that did answer is set per engine: Single is 1 credit, 2 with a browser profile, Proxy Finder 2 or 4, Browser 5, or 10 for an interactive page (foura.ai/prices, 21 September 2026).

And if a 403 is the data you came for, put it in validate.status.accept. Then it bills as a success, because you said it was one. That mechanism is how validate rules work.

What does Oxylabs count as a successful result?

Its billing page is direct about it: "All results from the target site with 2xx or 4xx status codes are counted as successful and are billable." The next line closes the gap you were hoping for: "If the response contains 2xx or 4xx status codes, and the result doesn't contain expected information, we still count it as a successful result."

So a 403 bills. A 404 bills. A 200 that turns out to be a bot check bills. What doesn't: a 429 when you go past the rate limit, and an error inside Oxylabs' own systems. Its pricing page calls this success-based pricing and defines the term the same way.

What came back Oxylabs FourA
403 from the target billed free
404 from the target billed free
200, check page body billed free
429, rate limited free free
Error on their side free free

Why FourA comes out ahead here

Put a number on it. On the Micro plan, $49 a month for up to 98,000 results, Oxylabs lists $1.15 per 1,000 results for sites outside its Amazon and Google scrapers, and $1.35 per 1,000 with JavaScript rendering, as of 21 September 2026. Ten thousand refused pages is $11.50 of that budget, or $13.50 rendered, for content that never arrived. On FourA that line is zero, every month.

Oxylabs earns credit for publishing the rule at all, with three worked billing cases on the same page, and for putting every Web Scraper API feature into the plan price with no add-on fees. You can price a crawl there before you run it. What we disagree about isn't clarity. It's who defines success: the status code, or you.

Run the same request on FourA

Take a week of your own logs and count the responses that carried a 403, a 404, or a challenge behind a 200. Multiply by your per-1,000 rate: that's the slice of the bill that bought nothing. Most teams never count it, because it arrives as one number on an invoice.

Frequently asked

Does FourA charge if I cancel the request myself? No. A client disconnect is a service failure, and the outcomes reference lists it as not billable.

Can I make a 403 count as a success on FourA? Yes, with a validate rule that accepts 403. It bills then, because that response is the data you asked for.

Does Oxylabs bill every retry? No. Its billing page says a job that took three attempts bills only the last, successful one, read on 21 September 2026.

So check it against your own targets: create a free account at auth.foura.ai/signup, send a URL that's been blocking you through Single, and watch the outcome label on that request in your Activity feed while the credit count stays put.