適切なendpointの選択
FourA は4つの request endpoint を提供しており、それぞれ異なるシナリオ向けに最適化されています。適切なものを選択することで、時間の節約、コストの削減、成功率の向上が可能になります。
クイック判定ガイド
次の場合に auto endpoint を使用:
- 新しいサイトを対象としており、必要な要件がまだ不明な場合
- direct、proxy ローテーション、browser へのフォールバックを1回の呼び出しで自動処理したい場合
- 同一ホストへの次回の呼び出しで低コストに再利用できるセッションが必要な場合
次の場合に single endpoint を使用:
- ページがサーバーサイドレンダリングされている場合 (JavaScript 不要)
- 最速の応答速度が必要な場合 (通常1秒未満)
- 正常に動作することが確認済みのホストから API または静的 HTML ページを取得する場合
次の場合に browser endpoint を使用:
- コンテンツのレンダリングに JavaScript が必要なページの場合
- 初期ページ読み込み後にコンテンツがロードされる場合
- 完全にレンダリングされた DOM が必要な場合
次の場合に proxy endpoint を使用:
- ターゲットサイトが request を積極的にブロックしている場合
- 複数の IP アドレスをローテーションする必要がある場合
- 以前の試行で 403 や検証ページが返された場合
Endpoint 比較
Auto (POST /api/auto/)
スマートフェッチ用の endpoint です。URL と (理想的には) validate ルールを渡すと、FourA はコストを考慮したラダーを実行します。最初にローテーション proxy、次に proxy 経由のフル browser の順で試行します。forceProxy: false を設定すると、その両方の前に低コストな direct プローブと direct browser レンダリングが実行されます。validate に一致する response を返した最初の段階で処理が完了します。同一ホストへのリピート呼び出しでは、ウォームセッションが再利用されるため、2回目の呼び出しは低コストになります。
curl -X POST https://eu.api.foura.ai/api/auto/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/product/42",
"validate": {"data": {"accept": ["Add to cart"]}}
}'
一般的なレスポンス時間: 200ms(ウォーム時)~ 30秒以上(難易度の高いサイトでのコールド解決時) 最適な用途: 新規ターゲット、複数の保護が混在するサイト、「とにかくページを取得したい」場合
詳細な手順については、Smart Fetch ガイドを参照してください。
Single (POST /api/single/)
最速のオプションです。ブラウザプロセスを起動することなく、実際的なブラウザ同等の通信特性を持つ HTTP request を送信します。
curl -X POST https://eu.api.foura.ai/api/single/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"method": "GET", "url": "https://example.com/api/products"}'
標準的なレスポンス時間: 200ms〜2秒 最適な用途: API、ニュースサイト、ブログ、静的な商品ページ
Browser (POST /api/browser/)
ChromeブラウザインスタンスでURLを開きます。ページが完全に読み込まれ、JavaScriptが実行され、最終的にレンダリングされたHTMLが取得されます。
curl -X POST https://eu.api.foura.ai/api/browser/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/spa-app",
"timeout_ms": 15000,
"checkText": "data-table"
}'
一般的な応答時間: 2秒から10秒 最適な用途: シングルページアプリケーション (SPA)、遅延読み込みを使用するサイト、JavaScriptでレンダリングされるコンテンツ
Proxy (POST /api/proxy/)
HTTPリクエストと自動プロキシローテーションを組み合わせます。最初の試行が失敗するかブロックされた場合、FourAは別のプロキシを経由して再試行します。
curl -X POST https://eu.api.foura.ai/api/proxy/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"maxTries": 5,
"request": {
"method": "GET",
"url": "https://example.com/pricing"
}
}'
標準レスポンス時間: 1秒〜5秒 最適な用途: ECサイトの価格監視、旅行情報アグリゲーション、Bot対策が導入されたサイト
自動 vs 手動
自動選択に任せるべきケースと、Single、Proxy、Browserをご自身で呼び出すべきケースの判断基準は以下の通りです。
| 自動を選択 | 手動を選択 |
|---|---|
| サイトに必要な設定がまだ分からない場合 | ターゲットに必要なエンジンを正確に把握している場合 |
| 1回の呼び出しで確実に動作させたい場合 | 既知のターゲット向けにリクエスト構成を最適化する場合 |
| 自動学習されたセッションの再利用を許容する場合 | 呼び出しごとのリトライ、タイムアウト、プロキシ選択を完全に制御したい場合 |
| 初回呼び出し時の数秒のプローブ処理を許容できる場合 | 探索よりも初回呼び出しの低レイテンシを重視する場合 |
自動が常に低コストとは限りません。ターゲットがSingleおよびunblockerの有効化で動作することが既に分かっている場合、Singleを直接呼び出せばプローブがスキップされ、消費クレジットは2に抑えられます。同じターゲットに対して自動を使用すると、ラダーが試行した分だけのコストがかかります。
アプローチを組み合わせる場合
複数のエンドポイントを組み合わせることで効率化できるワークフローもあります。
- 自動で探索:
validateルールを渡し、サイトに必要なラダーの段階を自動検出させます。 - Singleで再実行: 自動から返された
session.proxy、session.cookies、session.userAgentを取得し、同一ホスト上の以降のページに対してそれらを使用してSingleを呼び出します。 - Browserへフォールバック: Singleで失敗し始めたら、ブラウザレンダリングに切り替えます。
- Proxyを追加: 自動を使用せずに拒絶(403または認証ページ)が発生する場合は、リクエストをProxyエンドポイントでラップして自動ローテーションを適用します。
この段階的なアプローチにより、高い成功率を維持しながらコストを低く抑えることができます。
パフォーマンス向上のヒント
- 保護されたターゲットには
validate.data.acceptの部分文字列を渡してください。一般的なチャレンジページは自動で認識されますが、未知の検証ページや必要なコンテンツが読み込まれなかったケースは、カスタムルールでのみ検出可能です。 - 正常動作が確認されているホストにはデフォルトでSingleエンドポイントを使用し、必要な場合にのみアップグレードしてください。
- Browserリクエストには
checkTextを設定し、必要なコンテンツなしでレンダリングされたページが成功ではなく失敗(checkText:<text> not found)として返されるようにしてください。checkTextによってFourAがテキストの待機時間を延長することはありません。 - リトライ動作を制御するには、Proxyリクエストで
maxTriesを設定してください(デフォルトは5、最大値は90)。 timeout_msは適切な値に維持してください。大半のページでは10〜15秒、保護されたサイトに対する初回の自動実行では30秒以上が目安です。
次のステップ
- Smart Fetch (Auto):
/api/auto/の詳細解説 - API Endpoints: 完全なパラメータリファレンス
- Scrape a Dynamic Website: ブラウザリクエストの詳細ガイド
- Quick Start: 30秒で最初のリクエストを実行