FourA Digest — Oct 23 to Oct 30, 2026 FourA's October 23–30, 2026 changelog adds check-page handling for Reddit, eBay and Imperva to its scraping API, so Single, Browser and Proxy Finder name those pages in the X-FourA-Check-Page header and do not bill them, while Auto treats them as a miss and keeps searching for the real page. The release also adds self-triggering top-ups in Dashboard Billing at 80, 85, 90 or 95% of an allowance used, and changes API key errors so a 401 with "Invalid API key" always means the key was checked and refused, while an unverifiable key returns a 503 with Retry-After: 5 and nothing is billed. Docs and blog pages now serve Markdown via a .md suffix or Accept: text/markdown, with llms.txt linking every page by its Markdown address. Highlights There are two good ways for a check page to end: you get the page behind it, or you don't pay for it. This week Reddit, eBay and sites behind Imperva joined that rule. Top-ups can also buy themselves now, before a long job runs dry. And an "Invalid API key" answer always means the key really is wrong. Most of this is on the changelog https://updates.foura.ai already; here's the week in one place. What's New Reddit, eBay and Imperva check pages Reddit answers requests from many addresses with a short JavaScript check, a small page titled just "Reddit", before it shows anything. Proxy Finder and Auto now complete that check on the same exit and hand you the page you asked for. It's billed at the normal page price, like any other page. eBay sometimes meets a cold request for a listing with its own interruption page, which runs a check in the browser and then moves on to the listing. Browser now waits while it does and returns the listing. But if eBay refuses anyway, you get the check page back, unbilled. Imperva's challenge page, its incident page and its interruption page are now on our list of known check pages. Single, Browser and Proxy Finder name them in the X-FourA-Check-Page header and don't bill them. Auto treats them as a miss: when a saved session lands on one, it keeps looking for the real page instead of handing you the check. The site checks reference https://foura.ai/docs/api/site-checks lists every system we recognise and what each endpoint does with it. If a check page has ever ended up in your data looking like a real answer we wrote about how that happens https://foura.ai/blog/alternative-data-silent-collection-gaps , that's three fewer sites where it can. Top-ups that buy themselves If your plan sells top-ups, Billing in the Dashboard can now buy them for you. You pick when it kicks in, at 80, 85, 90 or 95% of an allowance used. You also pick how much each one adds and how many times it may run in one billing period. Each purchase goes on your saved card, gets its own invoice and sends you an email. A charge that fails isn't tried again. The rule pauses, and the dialog shows the date and the reason: a declined card, say, or a bank that wanted you to confirm the payment. Fix the cause and save the rule to switch it back on. Keep the per-period cap low. It's there so a runaway job can't keep buying overnight, and it isn't meant as a budget. The automatic top-up guide https://foura.ai/docs/dashboard/automatic-top-up walks through every setting. "Invalid API key" means the key A 401 with "Invalid API key" now always means we checked your key and refused it. So your client can stop right there. If we can't confirm a key for a moment, one we've confirmed in the last 10 minutes keeps working. Otherwise you get a 503 that says API key check temporarily unavailable , with Retry-After: 5 , and nothing is billed. That split is easy to act on: python import time import requests for attempt in range 3 : r = requests.post "https://api.foura.ai/api/single", headers={"X-API-Key": "pk live ..."}, json={"url": "https://example.com/data"}, if r.status code == 401: raise SystemExit r.json "error" the key is wrong: fix it, don't retry if r.status code == 503 and "Retry-After" in r.headers: time.sleep int r.headers "Retry-After" continue break The error reference https://foura.ai/docs/api/errors covers all four kinds of 503 and what each one wants from you. Docs and blog in Markdown Add .md to any docs page or blog post, or ask with Accept: text/markdown , and you get clean Markdown an AI assistant can read without the page around it. The home, pricing, API, proxy port and MCP pages have Markdown versions too, and llms.txt https://foura.ai/llms.txt links every page by its Markdown address. Each docs page and post also carries a Copy as Markdown button, with Open in ChatGPT and Open in Claude beside it. This digest is no exception. Put .md on the end of its URL. Smaller fixes - Leave the signup page open on its "check your email" step and you'll get the one verification email you asked for, with no repeats while the tab waits. Resend email on that step sends another copy when you need it. - Dashboard Overview lays out its panels for your screen, so every row is full at any width. Traffic and time figures are rounded to fit their cell, with the exact value on hover. Auto's number wears its green on the Requests and Credits cards, and a new account's sample Overview includes Auto. - Translated docs pages use the same section anchors as the English ones, so a section link and the table of contents land on the right heading in all 13 languages. Headings in translated docs and posts are translated now as well. - The blog header links to Comparisons https://foura.ai/blog/category/comparison , where each post sets FourA next to one named provider on price. The header fits every screen, from a small phone to a wide monitor. Under the Hood New proxy port connections now spread across all our servers, the way API calls already do. A server whose proxy port or API stops answering steps out of rotation on its own and rejoins once it's healthy. There's nothing to change in your client or in your proxy username https://foura.ai/blog/proxy-port-username-options . Every check page we learn to name is one less 200 your parser has to doubt.