← Все статьи

Дайджест FourA: 23, 30 октября 2026 года

Страницы проверок Reddit, eBay и Imperva теперь возвращают целевую страницу или не тарифицируются, баланс пополняется автоматически, а код 401 всегда означает неверный API key.

Главное

Есть два правильных исхода при встрече со страницей проверки: вы получаете целевую страницу за ней или вы за это не платите. На этой неделе Reddit, eBay и сайты под защитой Imperva стали работать по этому правилу. Пополнения баланса теперь тоже могут срабатывать автоматически, не давая долгой задаче остаться без лимита. А ответ "Invalid API key" теперь всегда означает, что ключ действительно неверен. Большая часть этого уже есть в changelog; ниже собраны все обновления недели.

Что нового

Страницы проверок Reddit, eBay и Imperva

Reddit отвечает на запросы со многих адресов короткой проверкой JavaScript, небольшой страницей с заголовком просто "Reddit", прежде чем что-либо показать. Proxy Finder и Auto теперь проходят эту проверку на том же выходном узле и отдают запрошенную страницу. Списание идет по обычному тарифу за страницу, как и за любую другую.

eBay иногда встречает холодный запрос к лоту собственной страницей-заглушкой, которая выполняет проверку в браузере и затем переходит к объявлению. Browser теперь ждет завершения этой проверки и возвращает нужную страницу. Если же eBay все равно отказывает, вы получаете страницу проверки обратно без списания средств.

Страница проверки Imperva, ее страница инцидента и страница блокировки теперь добавлены в наш список известных страниц проверок. Single, Browser и Proxy Finder указывают их в заголовке X-FourA-Check-Page и не тарифицируют их. Auto считает их промахом: когда сохраненная сессия попадает на такую страницу, сервис продолжает искать настоящую страницу вместо того, чтобы возвращать заглушку.

В справочнике проверок сайтов перечислены все распознаваемые системы и поведение каждого endpoint при встрече с ними. Если страница проверки когда-либо попадала в ваши данные под видом реального ответа (мы писали о том, почему так происходит), теперь таких сайтов стало на три меньше.

Автоматические пополнения баланса

Если ваш тариф поддерживает докупку лимитов, раздел Billing в Dashboard теперь может приобретать их автоматически. Вы сами выбираете порог срабатывания: при использовании 80, 85, 90 или 95% лимита. Также вы задаете объем пополнения и максимальное число срабатываний за один расчетный период. Каждая транзакция списывается с сохраненной карты, получает отдельный инвойс и подтверждается письмом на почту.

Неудачный платеж повторно не проводится. Правило ставится на паузу, а в окне настроек отображаются дата и причина: например, отказ по карте или требование банка подтвердить операцию. Устраните причину и сохраните правило, чтобы включить его снова.

Держите лимит на период небольшим. Он нужен для защиты от бесконечных списаний при сбоях в ваших скриптах и не предназначен для общего бюджетирования. В руководстве по автопополнению подробно описан каждый параметр.

Ответ "Invalid API key" относится только к ключу

Статус 401 с текстом "Invalid API key" теперь всегда означает, что мы проверили ваш ключ и отклонили его. Клиент может сразу прекратить попытки. Если мы временно не можем подтвердить ключ, ключ, проверенный за последние 10 минут, продолжает работать. В противном случае возвращается 503 с текстом API key check temporarily unavailable, заголовком Retry-After: 5, и средства не списываются.

Такое разделение позволяет клиенту действовать однозначно:

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

В справочнике по ошибкам описаны все четыре разновидности 503 и требуемые действия для каждой из них.

Документация и блог в Markdown

Добавьте .md к адресу любой страницы документации или статьи блога либо запросите страницу с заголовком Accept: text/markdown, чтобы получить чистый Markdown для AI-ассистентов без лишней разметки. Страницы с описанием продукта, ценами, API, proxy-портом и MCP тоже доступны в Markdown, а файл llms.txt ссылается на Markdown-версию каждого документа. Кроме того, на страницах документации и в статьях появились кнопки Copy as Markdown, Open in ChatGPT и Open in Claude.

(Этот дайджест не исключение. Добавьте .md в конец его URL.)

Небольшие исправления

  • Если оставить открытой вкладку регистрации на шаге проверки почты, придет ровно одно письмо с подтверждением, без повторных отправок во время ожидания. Кнопка повторной отправки на этом шаге сработает только тогда, когда это нужно вам.
  • Панели на странице Dashboard Overview подстраиваются под ширину экрана, заполняя каждую строку целиком. Показатели трафика и времени округляются под размер ячейки, а точные значения доступны при наведении курсора. Число в режиме Auto выделено зеленым в карточках Requests и Credits, а пример Overview для новых аккаунтов теперь включает данные Auto.
  • Переведенные страницы документации используют те же якоря разделов, что и английские оригиналы. Прямые ссылки на разделы и оглавление ведут к нужным заголовкам во всех 13 языках. Заголовки в переведенной документации и статьях теперь также переведены.
  • В шапке блога появилась ссылка на Сравнения, где FourA сопоставляется по цене с конкретными провайдерами. Шапка корректно отображается на любых экранах, от компактных смартфонов до широких мониторов.

Под капотом

Новые подключения к proxy-порту теперь распределяются по всем нашим серверам точно так же, как вызовы API. Если сервер перестает отвечать через proxy-порт или API, он автоматически исключается из ротации и возвращается обратно после восстановления. Менять настройки клиента или имя пользователя proxy не требуется.

Каждая проверочная страница, которую мы учимся определять, избавляет ваш парсер от ложных ответов 200.