すべての記事

FourA Digest (2026年9月4日 - 9月11日)

プラン制限による拒否時の要因明示、キーに基づくプロキシポートのターゲティング保持に対応し、全プランでBrowserおよびCAPTCHA解除が利用可能になりました。

ハイライト

拒絶の原因が対象サイトかプランの上限か判断に迷うことはありませんか。プランの上限によるリクエスト拒否はすべて1つのheaderで通知されるようになり、AutoとPlaygroundもその内容を読み取ります。proxyポートはキーごとのターゲティング保持に対応し、BrowserレンダリングとCAPTCHA解決はFreeプランを含むすべてのプランで利用可能になりました。

新機能

拒絶の理由を特定するheader

プランの上限によってリクエストが拒否された場合、responseには該当する制限を示すX-FourA-Limit header(plan_limit_creditsplan_limit_rateplan_limit_browser_dailyなど全7種)が付与されます。bodyにもreason配下にエラーコードと適用された上限値が記載されます。プラットフォーム全体の共有制限ではこのheaderは付与されないため、このheaderの有無だけで、FourA側の負荷ではなくアカウント固有の制限による拒否であることが分かります。

import requests

r = requests.post(
    "https://api.foura.ai/api/single",
    headers={"X-API-Key": "pk_live_..."},
    json={"url": "https://example.com/data"},
)
limit = r.headers.get("X-FourA-Limit")
if limit:
    print("my plan stopped this:", limit, r.json()["error"])

アカウントのすべての制限はご利用中のプランに基づくようになり、「Usage & Limits」に現在の利用状況と各制限が並んで表示されます。レート制限リファレンスには、全7種類のコードと、短時間の待機で解除されるコードが記載されています。

Autoは同じコードを読み取って処理を実行します。特定のリソース制限(1日のブラウザ割り当てなど)に達しても、他のステップは動作し続けます。また、すでに試行された出口ノードは、プラン起因の拒否によって除外されることはありません。クレジットや帯域幅の枯渇、プランに含まれない製品の使用など、アカウント全体に関わる制限に達した場合は、無駄なフォールバックを繰り返すことなく即座に停止し、エラーを返します。これによりAutoの役割が変わることはありません。最適な手段をAutoに特定させ、返されたセッションを/api/single/api/browserで再利用して、大量のリクエストを処理してください。

Playgroundではこれらを視覚的に確認できます。レスポンス上部の行には、処理に使用された手段(対象ホストの既存セッション、通常のリクエスト、ローテーションプロキシ、実ブラウザ)、チャレンジの解決有無、成功した試行回数、および発生したコストが表示されます。プランの制限によってリクエストが停止した場合は、「Stopped by your plan, not by the site」と表示され、該当する制限項目が示されます。

プロキシポート(ベータ版)

プロキシポートを使用すると、プロキシURLに対応した任意のクライアントから、API呼び出しを行わずに当社の出口ノード経由でトラフィックをルーティングできます。現在はベータ版のため課金対象外であり、稼働率の保証はなく、オプション名が変更される可能性があります。

今週のアップデートにより、ネットワークの選択がより明確になりました。プラン標準の当社専用出口ノードである共有ネットワークと、プランのプレミアムトラフィックから割り当てられる家庭用IP(レジデンシャルネットワーク)のいずれかを選択できます。共有ネットワークで処理できない場合にレジデンシャルへフォールバックする設定は独立したスイッチとなっており、初期状態では無効です。許可なく消費量が増加するのを防ぐため、自動で有効化されることはありません。

ターゲティング設定は認証情報に保持されるようになりました。プロキシユーザーに国、地域、都市、またはデバイスを保存すると、その認証情報を使用するすべての接続に自動で適用されます。これにより、接続文字列を最小限に抑えることができます。個別接続時のユーザー名指定が常に優先され、anyを指定すると保存された値がクリアされます。たとえば-city-anyを指定すると、特定都市が設定されたキーから国全体に対象を広げることができます。

アドレスごとにブラウザプロファイルを運用する場合は、必要なスティッキーアドレス数を指定すると、専用のセッション名が付与されたリストが1行ずつ表示されます。ターゲット側で既存のセッションが無効化された場合は、「New names」で新しいセットを取得できます。リストはURL形式、または多くのプロキシマネージャーで読み込み可能なhost:port:user:pass形式で出力されます。ユーザー名の構文仕様については、プロキシポートのドキュメントをご確認ください。

すべてのプランで利用可能な保護ページ対応

ブラウザレンダリングと CAPTCHA 解除は、Free を含むすべてのプランに含まれており、制限値のみが異なります。Free および Developer プランにも一部のプレミアム出口トラフィックが含まれているため、課金前に自身の URL で防御されたページが正常に応答するかを確認できます。

Proxy Finder のプレミアム出口は、指定先サイトによる制限を撤廃しました。任意のターゲットに対して exitClass: premium を送信すれば、プランのプレミアムトラフィック (およびその残量) のみに基づいて判定されます。

登録情報に連動する請求処理

請求先情報 (Billing Details) に保存された会社名、VAT 番号、国名は、請求書への印字およびチェックアウト時や更新ごとの VAT 適用区分の決定に使用されます。支払いフォームに別の内容を入力した場合、その支払いに限り該当フィールドが上書きされます。

個別契約の一環としてプランが設定された場合、Plan & Usage 画面に確認 (Confirm) ボタン付きで表示されるようになりました。月払いまたは年払いを選択してカードを登録すると、日割り計算なしで全期間分が前払いで決済されます。

Plan & Usage のクレジット表示の横に、帯域幅用とプレミアムトラフィック用の 2 つの新しいカードが追加されました。それぞれプランに含まれる枠および追加購入分に対する使用量が表示されます。該当種別の追加枠 (top-up) が購入可能な場合、対象カード上に購入 (Buy) ボタンが表示されます。詳細は 請求ガイド で解説しています。

内部仕様

1 分あたりの rate limit は、次の 1 分に切り替わる直前まで、その 1 分間に送信されたトラフィックを正確にカウントします。ダッシュボードのテーブルはラップトップの画面に収まり、スマートフォンでは幅の広いテーブルがフレーム内で横スクロールします。ブログのテーブルも狭い画面では同様にスクロールします。また、組織ページを開いた時点で保留中の招待が一覧表示されます。

エラー内容が明確であれば、適切な対策を講じることができます。次回ジョブが停止した際、1 つの header を確認するだけで、1 秒待つべきか、UTC 午前 0 時を待つべきか、プランを確認すべきかを判断できます。