Screenshot API error ยท HTTP 429

Concurrency limit reached

concurrency_limit_exceeded

Your account already has as many renders running as its plan allows at the same time. The request did not start.

How to recognize it

The API answers with status 429 and a JSON body with the message and the error.code concurrency_limit_exceeded, for example:

HTTP/1.1 429
Content-Type: application/json

{
  "error": {
    "code": "concurrency_limit_exceeded",
    "message": "Your plan renders 2 screenshots at the same time and is at that limit now. Please retry when one is done, or upgrade your plan to render more at once."
  },
  "message": "Your plan renders 2 screenshots at the same time and is at that limit now. Please retry when one is done, or upgrade your plan to render more at once."
}

Common causes

  • More requests at once than your plan renders at the same time: 2 on the free plan, 5 on Basic, 10 on Premium, more on Enterprise.
  • With async=true: 10 times that number of jobs already queued or rendering (Your plan may have 50 async jobs queued or rendering at the same time and is at that limit now.).

How to fix it

  1. Wait for the Retry-After header and send it again, or queue your requests so that fewer run at once.
  2. Upgrade the plan to render more at once.

Retry

After the seconds in Retry-After.

Billing

Not billed: a request answered with this error does not count against your quota.

Every response carries an X-Request-Id header. If this page does not explain the error, write to support@screenshotbase.com with that id. All statuses: status codes.

Other API errors

Screenshot API

Take screenshots from your code

screenshotbase renders any website in a real browser and returns the image: full page or viewport, any device size, retina, from 100+ countries, with cookie banners and ads hidden.

/v1/take documentation Screenshot API All documentation

300 free screenshots every month. No credit card required.

GET https://api.screenshotbase.com/v1/take?url=https://example.com&full_page=true

# Response: the image (PNG, JPG, WebP, AVIF or GIF)
curl -G "https://api.screenshotbase.com/v1/take" \
  --data-urlencode "url=https://example.com" \
  -d viewport_width=1280 -d viewport_height=800 \
  -d format=png \
  -H "apikey: YOUR-API-KEY" \
  -o screenshot.png

More free tools

Start using our Screenshot API for free today!

Get 300 requests / month for free