Web Screenshots

Turn any URL into high-definition screenshot images super quick and super easy!


ApiStacks uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard.

Your API keys carry many privileges. To keep them from being abused, please do not share the keys on client-side code or Github etc. Keep them very secure.

All requests made to the API must contain the parameter api_key in each of your requests. API requests without authentication will fail.

All API requests must also be made over secure HTTPS. Requests made over plain HTTP may fail.


GET /getscreenshot

api_key (required)

In your Request URL, provide the API Key found within your Dashboard

url (required)

The full URL (including its respective HTTP Protocol) of the website you want to request a screenshot from, e.g. http://abc.com

Premium Parameters

These parameters require a paid subscription to modify

response_type (optional)

Set to “JSON”, “XML”, or “YAML” depending what type of response you want from the API.

fullpage (optional)

Set to “true” if you want to capture the full height of the target website.

width (optional)

Specify your preferred screenshot width in pixels.

height (optional)

Specify your preferred screenshot height in pixels.

format (optional)

Set your preferred image output format (png, jpeg)

quality (optional)

Specify your preferred quality level between 0.1 and 1.0 (not supported using PNG format)

scalefactor (optional)

Specify your scale factor between 1 and 3

emulatedevice (optional)

Provide a string name for the device you want to emulate. Examples:

  • Galaxy Note 3
  • Galaxy S5
  • Galaxy S8
  • Galaxy Tab S4
  • iPad
  • iPhone X
  • iPhone 11
  • Nexus 10
  • Pixel 5

Want to test this API and get live results?

Sample Request

curl --request GET \
--url 'https://api.apistacks.com/v1/getscreenshot?api_key={APIKEY}&url={url}' \

Sample Response

    "status": "ok",
    "timestamp": 1605575599741,
    "url": "google.com",
    "data": "https://apistacks.com/cdn/repo/screenshots/f0e72a6e-5e3f-474b-b94a-5c770e084d5a.png"

Rate Limiting

Each subscription has its own rate limit. Your limit is based on your subscription plan (free or paid). If you exceed your limits, don’t worry. You can always upgrade or downgrade at any time.

When you reach a rate limit (both daily and monthly), the service will stop responding and return an HTTP 429 response status code. The error will contain the following JSON string body text.

    "status": "fail",
    "data": "",
    "reason": "Usage limit reached. Please review/upgrade your account"

A reminder email will be sent to you when your API usage reaches 80% and 90% so that you can take immediate actions such as upgrading your plan in order to prevent your application using the API from being interrupted.

Error Codes

ApiStacks uses standard HTTP response codes to indicate the success or failure of an API request.

If the response code is not 200 Ok, it means the operation has failed. You can check the response for a field called ‘reason‘ that briefly explains what the error may be.

Status CodeReason
400The request was not complete or malformed. Parameters may be missing
401API key was not provided or was not valid
403Usage limit was likely reached or the app was not enabled in the dashboard
404API Endpoint does not exist
405Method is not allowed (Only use GET)
500An error occurred on our end