GET
/
v1
/
tasks
/
{id}
curl --request GET \
  --url https://api.screenshotmax.com/v1/tasks/{id}
{
  "id": 123,
  "name": "<string>",
  "api": "<string>",
  "query": "<string>",
  "frequency": "<string>",
  "crontab": "<string>",
  "timezone": "<string>",
  "enabled": true,
  "created": 123,
  "last_run": 123,
  "runs": 123
}

It’s simple to use: you only need to submit your access_key. The API will return the list of your scheduled tasks for your account.

Plan Requirement

Scheduled Tasks are available only on the Scale plan. Upgrade your account via the Subscription / Dashboard section to unlock this feature.

Requests to this endpoint are not counted against your usage quota, but they are still subject to rate limiting. This ensures fair use and stability of the platform. If you exceed the rate limit, your requests may be temporarily blocked.

Getting started

REST

The Task API, like all of ScreenshotMAX’s APIs, is organized around REST. It is designed to use predictable, resource-oriented URL’s and to use HTTP status codes to indicate errors.

HTTPS

The Task API requires all communications to be secured TLS 1.2 or greater.

API Versions

All of ScreenshotMAX’s APIs are versioned. The Task API is currently on Version 1.

Your Access Key

Your access key is your unique authentication key to be used to access ScreenshotMAX APIs. To authenticate your requests, you will need to append your access key to the base URL as a query parameter for GET requests. For POST and PATCH requests, you can include your access key in the request body as a JSON object. You can also use the X-Access-Key header to pass your access key. You can find your access key in your account dashboard.

Base URL

https://api.screenshotmax.com/v1/tasks

Validation endpoint

ScreenshotMAX’s Task API simply requires your unique access key. The API will return the scheduled task.

https://api.screenshotmax.com/v1/tasks/5650820808835072
? access_key=YOUR_ACCESS_KEY

This was a successful request, so the API returned a 200 OK response with the scheduled task.

{
  "id": 5650820808835072,
  "name": "task screenshot",
  "api": "screenshot",
  "query": "url=https%3A%2F%2Fexample.com",
  "frequency": "every_month",
  "crontab": "34 9 28 * *",
  "timezone": "Etc/UTC",
  "enabled": true,
  "created": 1714296566,
  "last_run": 1745832566,
  "runs": 12
}

Path parameters

id
string
required

Unique identifier for the scheduled task.

Query parameters

access_key
string
required

Your unique access key. You can find your access key in your account dashboard.

Response parameters

The API response is returned in a universal and lightweight JSON format.

id
number

Unique identifier for the scheduled task. This ID is automatically generated when you create a new scheduled task.

name
string

Name of the scheduled task.

api
string

Service to be used for the scheduled task. Available options include screenshot, screencast, pdf and scrape.

query
string

Query parameters for the scheduled task without the access_key parameter. The querystring can be URL-encoded.

For example, url=https%3A%2F%2Fexample.com is the URL-encoded version of url=https://example.com.

frequency
string

Frequency of the scheduled task. Available options are every_minute, every_hour, every_day, every_month and custom (use standard cron syntax).

crontab
string

Cron expression used to the scheduled task. Use Unix Cron Format

timezone
string

Timezone for the scheduled task. Available time zones from the IANA Time Zone Database.

enabled
boolean

Indicates if the scheduled task is enabled or disabled.

created
number

Unix timestamp in seconds when the scheduled task was created.

last_run
number

Unix timestamp in seconds when the scheduled task was last run.

runs
number

Number of times the scheduled task has run.

Error Codes

Whenever you make a request that fails for some reason, an error is returned also in the JSON format. The errors include an error code and description, which you can find in detail below.

CodeTypeDetails
200OKThe request was successful.
400Bad RequestThe request was rejected due to a missing or invalid parameter.
401UnauthorizedThe request was rejected due to an invalid access key.
402Payment RequiredAccess denied due to an unpaid invoice.
404Not FoundThe requested resource was not found.
423LockedThe request was denied due to insufficient quota.
429Too Many RequestsThe rate limit has been exceeded (too many requests per minute).
500Internal server errorThe request failed due to an internal server error.