> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brightdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Scraper API limits

> Look up every Bright Data Scraper API limit in one table: 1-minute sync wait, 1 GB async input, 5,000 running jobs and 5 GB downloads.

This reference lists every documented Bright Data Scraper API limit in one table, with what happens when a request reaches each one.

## What are the Scraper API limits?

| Area | Limit | Value | What happens at the limit |
| - | - | - | - |
| Sync `/scrape` | Response wait | 1 minute | The API answers HTTP 202 with a `snapshot_id` and the job continues. The `retry-after` header says how long to wait before polling, 10 seconds at the time of writing. See [How to handle a 202 response](/api-reference/scrapers/synchronous-requests#how-to-handle-a-202-response) |
| Async `/trigger` | Input data per job | 1 GB | About tens of thousands of URLs. Split larger inputs across several jobs |
| Async `/trigger` | Minimum inputs | Set per scraper | Some scrapers need more than one input. A request with too few returns HTTP 400 `Should be at least LIMIT inputs` |
| `/trigger` and `/scrape` | Running jobs | 5,000 active jobs or snapshots | New requests return HTTP 429 `You have too many running jobs for this dataset` |
| `/trigger` and `/scrape` | HTTP 429 responses per IP | 25 within 5 minutes | Bright Data blocks the IP on every API request until [support](mailto:support@brightdata.com) clears it |
| Webhook delivery | Payload size | 1 GB | Use storage delivery for larger results |
| Webhook delivery | Response deadline | 30 seconds | Bright Data treats the delivery as failed and retries it. Return HTTP 200 before processing the payload. See [How to handle webhooks in production](/products/scrapers/scrapers-library/data-delivery#how-to-handle-webhooks-in-production) |
| [Download snapshot](/api-reference/scrapers/delivery-apis/download-snapshot) | Snapshot retention | 30 days after the job completes | The snapshot can no longer be downloaded. Deliver results to storage or a webhook to keep them longer |
| [Download snapshot](/api-reference/scrapers/delivery-apis/download-snapshot) | Download size per request | 5 GB | Download the snapshot in parts with `batch_size` and `part` |
| [Download snapshot](/api-reference/scrapers/delivery-apis/download-snapshot) | Minimum `batch_size` for parts | 1,000 records | Use a `batch_size` of 1,000 or more |
| [Deliver snapshot](/api-reference/scrapers/delivery-apis/deliver-snapshot) | Delivered file size | 5 GB per file | HTTP 400. Lower `batch_size` so each file stays under 5 GB |
| [Streamed delivery](/products/scrapers/scrapers-library/stream-and-file-delivery) | Lines per batch | 10 to 100,000 | Set `stream_max_lines` within this range. Streamed delivery needs a storage or webhook destination |
| Instagram | Media link lifetime | 24 hours after collection | Media URLs in the records stop working. Download the media within 24 hours |
| LinkedIn | Posts per profile | The posts a profile shows publicly, typically about 10 | Older posts are not collected |

## How do I avoid the HTTP 429 limit?

Combine many inputs into one `/trigger` request instead of starting one job per input. A single job accepts up to 1 GB of input data, so fewer, larger jobs keep you under the 5,000 running jobs limit.

When a 429 arrives, stop sending, wait the seconds in the `Retry-After` header or back off 2, 4, 8, 16 and 32 seconds, then retry. The retry code is in [Getting a 429 Too Many Requests error?](/products/scrapers/scrapers-library/async-requests#getting-a-429-too-many-requests-error), and every Scraper API error message is listed on [Scraper API error codes](/products/scrapers/error-codes).

## FAQ

### How many URLs can I send in one Scraper API request?

Bright Data recommends 20 URLs or fewer per synchronous request, a best practice rather than a hard limit. A `/scrape` request that cannot finish within 1 minute, for example because it holds many URLs, returns HTTP 202 with a `snapshot_id` and the job continues asynchronously. The asynchronous `/trigger` endpoint accepts up to 1 GB of input data per job. See [How to scrape in bulk with async requests](/products/scrapers/scrapers-library/async-requests).

### Does a sync request fail after 1 minute?

No. A `/scrape` request that runs past 1 minute returns HTTP 202 with a `snapshot_id`, and the job keeps running. Poll [Monitor progress](/api-reference/scrapers/management-apis/monitor-progress) with the `snapshot_id`, then fetch the records with [Download snapshot](/api-reference/scrapers/delivery-apis/download-snapshot).
