| 400 | Bad Request / validation message | Request body failed schema validation (missing or invalid fields). | Fix the request payload using the endpoint reference. Check details for fields. | No |
| 400 | Invalid URL | The url field is missing, malformed, or uses an unsupported scheme. | Pass an absolute http(s):// URL. | No |
| 401 | Unauthorized: Invalid token | API key is missing, malformed, or revoked. | Send Authorization: Bearer fc-... with a valid key from the dashboard. | No |
| 402 | Payment Required: Insufficient credits | Plan credits are exhausted or billing is not configured. | Top up credits, enable auto-recharge, or upgrade your plan. | No |
| 403 | Forbidden | Key lacks permission for this endpoint or feature. | Use a key with the required scope, or upgrade the plan that gates this feature. | No |
| 404 | Not Found | The job ID, resource, or endpoint path does not exist. | Verify the resource ID and endpoint URL. | No |
| 408 | Request Timeout | The page took longer than the request timeout to load. | Increase timeout, simplify actions, or use fastMode. | Yes, with backoff |
| 409 | Conflict | Resource is in a state that prevents the operation (e.g. already deleted). | Re-fetch state and reconcile before retrying. | No |
| 413 | Payload Too Large | Request body exceeded the maximum allowed size. | Reduce the payload (e.g. shorter schema, fewer URLs per batch). | No |
| 422 | Unprocessable Entity / extraction schema error | Schema is invalid JSON Schema, or the model could not produce a conforming result. | Validate the schema; loosen required fields; try a different model. | Sometimes |
| 429 | Rate limit exceeded | Too many requests for your plan’s per-minute limit. | Back off and retry after Retry-After seconds. See Rate Limits. | Yes, with backoff |
| 429 | Concurrency limit reached | Concurrent browser limit for your plan reached. | Wait for in-flight jobs to finish, lower concurrency, or upgrade your plan. | Yes, with backoff |
| 500 | Internal Server Error | Unhandled server-side failure. | Retry with exponential backoff. If it persists, contact support with the request ID. | Yes, with backoff |
| 502 | Bad Gateway | Upstream proxy or worker returned an invalid response. | Retry with backoff. | Yes, with backoff |
| 503 | Service Unavailable | Service temporarily unable to handle the request. | Retry with backoff. | Yes, with backoff |
| 504 | Gateway Timeout | Request exceeded the gateway’s timeout (typically long crawls). | Use the async crawl/batch endpoints and poll status instead. | Yes, with backoff |