Screenshot API error ยท HTTP 403

Plan upgrade required

plan_upgrade_required

The request uses a feature your plan does not include, such as ip_country_code beyond what a free account gets: every paid plan includes it, and a free account gets 5 such screenshots in any 5 days. The message names the feature and when the next one is available.

How to recognize it

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

HTTP/1.1 403
Content-Type: application/json

{
  "error": {
    "code": "plan_upgrade_required",
    "message": "Free accounts include ip_country_code for 5 screenshots in any 5 days, and those are used. The next one is available at 2026-10-12 09:30 UTC. Please upgrade to a paid plan to use it without a limit."
  },
  "message": "Free accounts include ip_country_code for 5 screenshots in any 5 days, and those are used. The next one is available at 2026-10-12 09:30 UTC. Please upgrade to a paid plan to use it without a limit."
}

Common causes

  • A free account sent ip_country_code after its 5 screenshots from other countries of the last 5 days. Failed ones count too: they used the proxy as well.
  • A key that belongs to no account (a trial key) sent ip_country_code: ip_country_code needs an account. Please sign up to use it.

How to fix it

  1. Upgrade the plan in the dashboard, or send the request without the feature.
  2. Wait until the time in the message: the window is rolling, so each screenshot frees its place 5 days after it was taken.

Retry

At the time the message names, or right after an upgrade.

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