Limits
Every cap the platform enforces: how many pages you can keep open, how fast you can call each endpoint, how big a request can be and how long results are kept. Prices are in Pricing & billing.
Concurrency is the number of browser pages open at the same moment, across all your connections. Seats count project members plus pending invites. A higher cap costs nothing by itself: you pay for the time pages are open.
| Plan | Limit | Notes |
|---|---|---|
| Developer | 20 pages at once | 1 seat |
| Business | 100 pages at once | 10 seats |
| Scale | 400 pages at once | 50 seats |
| Enterprise | up to 1,000 pages at once | up to 1,000 seats |
| Packs, no plan | 20 pages at once | 1 seat |
| No plan, no packs | 0 pages | Buy a plan or a pack to connect |
Requests are counted per client IP address in one-minute windows. Unless a route is listed
below, the limit is 120 requests a minute. Past a limit the API answers 429; wait for the window to pass and retry.
| Route | Limit |
|---|---|
| POST /api/v1/scrape | 60 / min |
| POST /api/v1/screenshot | 30 / min |
| POST /api/v1/brand | 30 / min |
| POST /api/v1/styleguide | 30 / min |
| POST /api/v1/fonts | 30 / min |
| POST /api/v1/map | 30 / min |
| POST /api/v1/extract | 20 / min |
| POST /api/v1/crawl | 10 / min |
| GET /api/v1/crawl/:id | 240 / min |
| GET /api/v1/crawl/:id/errors | 120 / min |
| DELETE /api/v1/crawl/:id | 60 / min |
| Route | Limit |
|---|---|
| POST and GET /api/search/v1 | 30 / min |
| GET /api/search/engines | 120 / min |
| POST /api/captcha/solve | 20 / min |
| /mcp (POST, GET, DELETE) | 120 / min |
| Route | Limit |
|---|---|
| POST /api/auth/otp/request | 5 / min |
| POST /api/auth/otp/verify | 10 / min |
| POST /api/auth/mfa/verify | 10 / min |
| POST /api/auth/token/refresh | 30 / min |
| PATCH /api/auth/me | 20 / min |
| POST /api/auth/email/change | 3 / 10 min |
| POST /api/auth/export | 3 / hour |
| DELETE /api/auth/account | 3 / min |
| Route | Limit |
|---|---|
| Projects, links, tokens, billing, proxy locations | 120 / min |
| WSS /ws (browser connections) | No rate limit; the link cap applies |
Concurrency is counted per open page, across all your connections. Opening a page past the cap fails with a CDP error; the pages you have keep running.
| What | Limit | Notes |
|---|---|---|
| Connections per browser link | 1 to 100, default 10 | Past the cap the socket closes with code 4003. |
| Browser link expiry | Optional, any future date | No expiry means the link works until you revoke it. |
| Session length and idle timeout | None | An open page runs, and bills, until you close it or your balance runs out. |
| Credits needed to connect | 60 seconds of browser time | Too few credits closes the socket with code 4005. |
| Metering interval | Every 30 seconds | A debit that cannot be paid closes the socket with code 4402. |
| Residential bandwidth sampling | Every 5 seconds | Running out of credits for bandwidth closes the socket with code 4408. |
| Messages sent before the browser is ready | Up to 4 MiB buffered | Past that the socket closes with code 1009. |
| Cold start | About 45 to 50 seconds | Longer with a residential exit. Plan for it in your client timeouts. |
Limits on the request body of each endpoint. A value outside its range is a 400, not silently clamped, unless noted.
| What | Limit | Notes |
|---|---|---|
| Requests in progress at once | 6 per account | More wait up to 15 seconds for a slot. |
| timeout | 1 to 120 seconds | Defaults: scrape, map, extract and crawl pages 30 s; brand, styleguide, fonts 45 s; screenshot 60 s. |
| waitFor | 0 to 30 seconds, default 0 | |
| Custom headers | Up to 20, values up to 4,096 characters | host, content-length, connection and transfer-encoding are rejected. |
| URL length | 2,048 characters | |
| Scrape JSON and summary prompts | 2,000 characters each | |
| includeTags / excludeTags | Up to 50 each | |
| Screenshot viewport | 320 to 3,840 px each side, default 1,440 × 900 | Full-page captures are cut at 20,000 px tall (domain/web/render.service.ts). |
| Map: limit | 1 to 5,000 URLs, default 100 | |
| Extract: maxPages | 1 to 100 pages, default 10 | The prompt can be up to 4,000 characters. |
| Crawl: limit | 1 to 5,000 pages, default 50 | |
| Crawl: maxDepth | 0 to 10, default 3 | |
| Crawl: concurrency | 1 to 5 pages at once, default 3 | |
| Crawl: delay | 0 to 60 seconds, default 0 | |
| Crawl: includePaths / excludePaths | Up to 50 patterns each | |
| Crawl: errors kept per job | 50 | |
| Crawl results: page size | 1 to 100, default 25 | |
| Crawl webhooks | 3 attempts, 10-second timeout each | HTTPS only. A 4xx answer stops retries, except 408 and 429. |
At least one of text, site or filetype is required.
| What | Limit | Notes |
|---|---|---|
| limit | 1 to 200 results, default 50 | Billed per provider page: Google returns 100 a page, Bing and DuckDuckGo 10. |
| text | Up to 512 characters | |
| engines | google, bing, duckduckgo; default google | |
| date | YYYYMMDD..YYYYMMDD |
Task types: RecaptchaV2TaskProxyless, RecaptchaV2EnterpriseTaskProxyless, RecaptchaV3TaskProxyless, HCaptchaTaskProxyless, FunCaptchaTaskProxyless, GeeTestTaskProxyless, ImageToTextTask, TurnstileTaskProxyless.
| What | Limit | Notes |
|---|---|---|
| Time to solve | Up to 120 seconds | A timed-out solve is not billed. |
| Solves in progress at once | 5 per account |
Options on the /ws URL or saved on a link.
| What | Limit | Notes |
|---|---|---|
| Viewport | 500–3600 × 400–1900 px | Whole CSS pixels; width and height together. |
| Own proxy protocols | http, https, socks5 | Public addresses only; username and password up to 255 bytes each. |
| Own proxy check before a session | 8 seconds | The gateway logs in to your proxy before it starts a browser. |
Both are free. Recording is opt-in per link.
| What | Limit | Notes |
|---|---|---|
| Live view | Up to 5 frames a second, 1280 px | 10 viewers per session. |
| One recording | 60 minutes, 100 MB or 7,200 frames | Up to 2 frames a second, only when the page changes. |
| Replays kept | 1 day (Developer, packs), 7 days (Business), 30 days (Scale), 90 days (Enterprise) |
Operations read public pages only. Learning, calls, repairs and checks each have their own cap.
| What | Limit | Notes |
|---|---|---|
| Parameters per operation | Up to 10 | Each needs two different example values. |
| Trigger URL length | 2,048 characters | |
| Learning | 3 page runs, 60 s in total | Each run waits for the network to go quiet, at most 20 s. |
| Learn draft kept | 30 minutes | Create the operation from it before then, or learn again. |
| Captured body per candidate | 2 MB | |
| Operations per project | 200 | |
| Call output | 1 MB over REST | Past it the result is cut and truncated is true. MCP returns up to 20,000 characters. |
| Cache TTL | 0 to 24 hours | Off by default. |
| Requests to one site | 2 a second per project, 20 a second in total | A call waits up to 10 s for its turn, then fails with rate. |
| Repairs | 3 a day per operation | One at a time. Free. |
| Scheduled checks | off, 6 h, 12 h, 24 h, 72 h | Default every 24 h, only for operations called in the last 14 days. Free. |
| Check now | 10 an hour per operation | Free. |
| Events kept | 90 days |
Applies to every JSON and form body the REST API accepts, MCP included.
| What | Limit | Notes |
|---|---|---|
| Request body | 1 MB |
How long the platform keeps what it fetched for you.
| What | Limit | Notes |
|---|---|---|
| Crawl results | 7 days | |
| Screenshots and PDFs | 7 days | Download them if you need them longer. |
| Page capture cache | 1 hour | Pages over 2 MB are not cached. |
| Search result cache | 5 minutes | |
| robots.txt cache | 1 hour |
API tokens start with wf_, are stored hashed and are shown once.
| What | Limit | Notes |
|---|---|---|
| API token scopes | search, captcha, mcp, web (default: all four) | |
| Token and link names | 1 to 255 characters | |
| API token expiry | Optional, any future date | |
| Monthly spend limit | $5 to $100,000, whole dollars | Caps auto top-up per billing period. Optional; off means no cap. |
| Tokens, projects and links per account | No fixed limit | |
| Team invitations | Expire after 7 days | Pending invites count toward your seats. |
| Sign-in code | 6 digits, valid 10 minutes | 5 tries per code; 3 codes per email every 10 minutes. |
| Two-factor check | 5 minutes to answer | 5 wrong codes lock it for 15 minutes. You get 10 recovery codes. |
| Signed-in devices | 5 | A sixth sign-in signs out every earlier device. |
| Dashboard session | 30 days, renewed while you use it | |
| MCP session | Ends after 30 minutes idle | Your MCP client opens a new one when it needs to. |