Главное
Есть два правильных исхода при встрече со страницей проверки: вы получаете целевую страницу за ней или вы за это не платите. На этой неделе 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.