Screenshot API

API Usage

Using this API, you are able to take screenshot from any URL.(Limited number of free access for non-commercial use).
To get access to the API, please send me an email to filovirid@protonmail.com to receive your token.

Things to explain in the email:

  • Who you are.
  • Why you are interested in this API.
  • How and where you are going to use this API.

The API URL is:

https://screenshot.filovirid.com/api

  • Any attempt to brute force the server may result in permanent IP address ban.
  • Required parameters of each request are: URL, and token.
  • The maximum number of requests is 3 per minute.

Request parameters:

  • URL (required)

    The URL address that you want to take the screenshot. The address must start with http:// or https://.

  • token (required)

    The token to pass to API. (send Email to filovirid@protonmail.com for token).

  • user_agent (optional)

    the User-Agent header you want to send to the target server. The default value is Firefox v69.0 for Linux x86_64. The length of the user_agent parameter must be less that 150 characters. If the length is greater than 150, we will truncate it to the first 150 characters.

Requests example

cURL

curl 'https://screenshot.filovirid.com/api?url=https://google.com&token=<YOUR TOKEN HERE>'

Bash command to save the output image directly to the file (using curl, jq and base64 commands).

 
curl 'https://screenshot.filovirid.com/api?url=http://google.com&user_agent=none&token=<your token here>' | jq '.attr' -r | base64 --decode > test.jpg

Python 3.x

import requests 
import base64 
import json 
target_url = 'https://google.com'
url = "https://screenshot.filovirid.com/api?url={}&token={}&user_agent={}" 
token = '<YOUR TOKEN HERE>'
r = requests.get(url.format(target_url,token,"my custom user agent"))
print(r.status_code) 
#save image to the disk
r = json.loads(r.text)
if r.get('success',False) == True:
    data = base64.decodebytes(r.get('attr').encode())
    f = open("image.jpg",'wb')
    f.write(data)
    f.close()
    print("Image saved successfully...")
else:
    print("The result of the APi was not successfull")

The response of the API always has these fields:

  • success
  • code
  • msg
  • attr

Each field has some possible values which explained below:

success field:

  1. true -> The call to the API was successful
  2. false -> The result of the API call was not successful for a reason.

code field:

  1. 200 -> Successful call
  2. 403 -> Not authorized. You are not allowed to call the API, the token reached the limit or the token is not available. In this case you can send an email to filovirid@protonmail.com .
  3. 501 -> The url parameter is too long. The length of the URL parameter is greater than 1000.
  4. 502 -> The url parameter must start with http:// or https://.
  5. 503 -> Unknown Error: Please report this error to filovirid@protonmail.com.
  6. 504 -> Rate limit exceeded: The maximum number of request per minute is 3.

msg field:

The description of the code field.

attr field:

In case of error (code value other that 200), this field is null.

In case of success (code value 200), this field is the base64 encoded of the image in JPG format.