Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →For Browserless’s current REST Screenshot API, add "waitForTimeout": 3000 to the JSON request body to pause for three seconds before capture. It is a top-level request field beside url, not a setting inside options.
Add a fixed delay to a REST Screenshot API request
Send a POST request to the Screenshot API with the URL, the millisecond delay, and screenshot-specific settings under options. Browserless documents waitForTimeout as a fixed wait, useful for animations, transitions, and other time-based work. See the Screenshot API and Request Configuration references.
As an Amazon Associate I earn from qualifying purchases.
{
"url": "https://example.com/",
"waitForTimeout": 3000,
"options": {
"fullPage": true,
"type": "png"
}
}
The value is milliseconds: 3000 is three seconds. Replace the example URL with the page you need to capture and use a valid API token.
Runnable cURL example
curl -X POST
"https://production-sfo.browserless.io/screenshot?token=YOUR_API_TOKEN_HERE"
-H 'Content-Type: application/json'
-d '{
"url": "https://example.com/",
"waitForTimeout": 3000,
"options": { "fullPage": true, "type": "png" }
}'
--output screenshot.png
Use the token from your Browserless account dashboard. Avoid committing a live token to source control or publishing it in a client-side application.
#1 Best Overall
Choose a wait that matches page readiness
A fixed delay is simple, but it cannot tell whether the page is ready. Browserless also documents condition-based wait options in Request Configuration.
| Wait type | Use it when | Behavior |
|---|---|---|
waitForTimeout |
A predictable animation, transition, or time-based operation needs a known pause. | Waits the specified number of milliseconds, even if the page becomes ready sooner. |
waitForSelector |
A particular element signals that the page is ready. | Returns immediately if the selector already exists; may fail if it does not appear before the selector timeout. |
waitForFunction |
A page-specific JavaScript condition indicates rendering or data work has finished. | Waits for the function condition to be met. |
waitForEvent |
The page emits a custom event that marks readiness. | Waits for that event; it is not intended for lifecycle events such as load or DOMContentLoaded. |
Prefer a selector, function, or custom event when readiness can be observed reliably. A fixed delay always consumes its full duration and may still be too short on a slow page; a readiness condition avoids guessing a single pause duration.
Rank #2
Allow enough time for the whole request
Browserless has an overall request timeout configured with the timeout query parameter, separate from operation-specific waits. Timeout values are in milliseconds. The total budget must cover navigation, any fixed or condition-based wait, and screenshot generation. If that work exceeds the overall limit, the request can time out before it returns the image. See Timeout Configuration.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitches- Use the overall timeout for the maximum time the complete request may take.
- Use
waitForTimeoutonly for a deliberate pause, or choose a condition-based wait when the page provides a readiness signal. - If requests time out, review the navigation and wait durations together rather than increasing a single setting without checking the rest of the request.
Check the API generation before adapting examples
The current REST Screenshot API uses the shared request configuration and the fixed-delay field waitForTimeout. The older BaaS v1 /screenshot API documents a different property, waitFor, which can accept a numeric delay, a CSS selector, or a function. Do not copy that field into a current REST request without checking which endpoint and API generation you are calling.
Rank #3
BrowserQL is another distinct API shape. Its waitForTimeout mutation takes a time argument in milliseconds, for example waitForTimeout(time: 1000); that syntax is not the JSON request-body field used in the REST example. The mutation is documented at Browserless’s waitForTimeout reference.
Troubleshoot delays that do not work as expected
- The screenshot starts too soon: Check that
waitForTimeoutis a top-level field alongsideurl, and that its value is in milliseconds. A three-second wait is3000. - The request waits but the page is still incomplete: A fixed duration does not prove that data or images have loaded. Use a selector or page-specific function when available, or increase the delay only if the work is genuinely time-based.
- The request times out: The overall request budget may not include enough time for navigation, the wait, and capture. Review the
timeoutquery parameter and the operation-specific waits. - The API rejects or ignores the wait field: Confirm you are using the current REST Screenshot API. Older BaaS v1 examples use
waitFor, while BrowserQL uses mutation syntax. - A custom-event wait never completes: Verify that the page emits the event you are waiting for. Browserless notes that
waitForEventis for custom events, not standard lifecycle events such asloadorDOMContentLoaded.
Or skip the browser setup
ScreenshotNeo takes a screenshot with one GET request, so you do not need to build and maintain this Browserless request setup. The API accepts options including waits by selector, delay, or network idle; see the ScreenshotNeo documentation.
Rank #4
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com/ -o shot.webp
- Cookie banners are accepted and removed before capture; newsletter popups and chat widgets are removed too. Each cleanup step can be turned off.
- Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. The response identifies the page verdict and billing status in headers.
- An MCP server provides
take_screenshot,get_page_info, andcapture_pdftools for AI agents and MCP clients. - The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Frequently Asked Questions
Is waitForTimeout measured in seconds or milliseconds?
Milliseconds: a value of 3000 represents three seconds.
Does a three-second delay guarantee that a page has finished loading?
No. It only waits for elapsed time; use a selector or page-specific condition when readiness depends on page state.
Quick Recap
Best Value
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




