エラーと制限
| イベント | 課金対象か |
|---|---|
| リクエスト成功(HTTP 200) | 1クレジット |
レンダリング有効時の成功(render_js=1) | 1クレジット |
| リクエスト失敗(タイムアウト、接続エラー) | 0クレジット |
| ターゲットからのHTTP 4xxまたは5xx | 0クレジット |
| 1回の呼び出し内でのリトライ | 単一の親呼び出しとしてカウント |
課金対象となるのは、2xxステータスと空でない本文を伴ってレスポンスが返された場合のみです。
| プラン | 最大同時リクエスト数 |
|---|---|
| Starter | 20 |
| Growth | 50 |
| Business | 100 |
| Enterprise | 500 |
上限を超えたリクエストは429 Too Many Requestsを返します。指数バックオフで待機してからリトライしてください。
エラーコード
Section titled “エラーコード”| ステータス | 意味 | 対応方法 |
|---|---|---|
200 | 成功、レスポンス本文が添付されます | 通常どおり処理してください |
400 | 不正なリクエスト(パラメータの形式が誤っています) | extract_rulesまたはurlパラメータを修正してください |
401 | api_keyが無効または未指定です | パネルでキーを確認してください |
403 | プランがこの機能を許可していません | アップグレードするか、フラグを削除してください(例: Starterでのpremium_proxy) |
408 | ターゲットサイトがタイムアウトしました | より大きなtimeout=を指定するか、オプションを簡素化して再試行してください |
422 | レンダリングに失敗しました(JSクラッシュ、ナビゲーションエラー) | 再試行してください。実際のブラウザでサイトが動作するか確認してください |
429 | 同時実行数の上限を超えました | 待機してから再試行してください |
500 | Shifter内部エラー | 少し待ってから再試行してください。継続する場合はサポートに連絡してください |
509 | プランのクレジットを使い切りました | アップグレードするか、次の請求サイクルまでお待ちください |
自動リトライ
Section titled “自動リトライ”取得失敗、CAPTCHA、およびターゲットからの一時的な5xxは、エンドポイントがエラーを返す前に、異なるプロキシを使って自動的に(最大3回まで)再試行されます。リトライに対しては課金されません。
Webhook配信
Section titled “Webhook配信”長時間実行されるスクレイピングでは、webhook=<URL>を指定することで、準備が整った時点でレスポンスをお客様のエンドポイントにPOSTできます。
curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com&webhook=https%3A%2F%2Fyour.app%2Fcallback"配信成功1回につき1クレジットが課金されます。
モニタリング
Section titled “モニタリング”リアルタイムのクレジット使用量とエラー率は、パネルのWeb Scraping API → Usageで確認できます。