The SDK client stays up-to-date with the latest API capabilities.

Getting Started

Install the SDK using pip:

pip install screenshotmax

Usage Examples

Use the SDK to generate signed or unsigned URLs for screenshots, PDFs, web scraping, or animated screenshot without executing the request. Or fetch and download the result directly. You have full control over when and how each capture runs.

The SDK also supports the Scheduled Tasks API, allowing you to queue captures to run at a later time or on a recurring schedule.

Screenshot example

from screenshotmax import SDK
from screenshotmax.enum import ImageFormat
from screenshotmax.options import ScreenshotOptions

sdk = SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")

# set up options
opts = ScreenshotOptions(url="https://example.com", format=ImageFormat.PNG)
# fetch screenshot
result, headers = sdk.screenshot.set_options(opts).fetch()

# optionally: generate signed URL 
# (https://api.screenshotmax.com/v1/screenshot?url=https%3A%2F%2Fexample.com&format=png&access_key=YOUR_ACCESS_KEY&signature=370f5b161bc59eed13b76........1f778635d7fc595dbab12)
url = sdk.screenshot.get_url()

# save screenshot to file
with open("screenshot.png", "wb") as f:
  f.write(result)

Web scraping example

from screenshotmax import SDK
from screenshotmax.options import ScrapeOptions

sdk = SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")

# set up options and scrape content (chaining)
opts = ScrapeOptions(url="https://example.com")
sdk.scrape.set_options(opts)

result, headers = sdk.scrape.fetch()

PDF generation example

from screenshotmax import SDK
from screenshotmax.enums import PDFPaperFormat
from screenshotmax.options import PDFOptions

sdk = SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")

# set up options and scrape content (chaining)
opts = PDFOptions(url="https://example.com", pdf_paper_format=PDFPaperFormat.LETTER)
result, headers = sdk.pdf.set_options(opts).fetch()

Scheduled task example

from screenshotmax import SDK
from screenshotmax.options import PDFOptions

sdk = SDK("YOUR_ACCESS_KEY", "YOUR_SECRET_KEY")

# get all tasks from account
tasks = sdk.task.get_tasks()
# {"tasks":[{
# "id":5678133109850112,
# "name":"Test CRON",
# "api":"screenshot",
# "query":
# "url=https%3A%2F%2Fexample.com",
# "frequency":"every_day",
# "crontab":"25 13 * * *",
# "timezone":"Etc/UTC",
# "enabled":true,
# "created":1747229104,
# "last_run":1748611516,
# "runs":18}]}

Next Steps

  • Explore other API options like HTML to PDF, animated screenshots, or web scraping.
  • Create scheduled recurring screenshots via Scheduled Tasks API

Support

For questions, issues, or feature requests, please open an issue on the GitHub repository or contact our support team at support@screenshotmax.com.