Ultimate Screenshot avatar

Ultimate Screenshot

Try Actor

$1.00/month

Go to Store
Ultimate Screenshot

Ultimate Screenshot

dz_omar/ultimate-screenshot
Try Actor

$1.00/month

Ultimate Screenshot allows you to extract data in formats like JPEG, PNG, PDF, GIF, and MP4. It supports device emulation, including iPhones, Android phones, tablets, and desktops, or uses a default resolution of 1920x1080 for accurate, versatile screenshots and videos.

You can access the Ultimate Screenshot programmatically from your own applications by using the Apify API. You can choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.

1{
2  "openapi": "3.0.1",
3  "info": {
4    "version": "0.2",
5    "x-build-id": "hbrwC6ofu5ijE6M97"
6  },
7  "servers": [
8    {
9      "url": "https://api.apify.com/v2"
10    }
11  ],
12  "paths": {
13    "/acts/dz_omar~ultimate-screenshot/run-sync-get-dataset-items": {
14      "post": {
15        "operationId": "run-sync-get-dataset-items-dz_omar-ultimate-screenshot",
16        "x-openai-isConsequential": false,
17        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18        "tags": [
19          "Run Actor"
20        ],
21        "requestBody": {
22          "required": true,
23          "content": {
24            "application/json": {
25              "schema": {
26                "$ref": "#/components/schemas/inputSchema"
27              }
28            }
29          }
30        },
31        "parameters": [
32          {
33            "name": "token",
34            "in": "query",
35            "required": true,
36            "schema": {
37              "type": "string"
38            },
39            "description": "Enter your Apify token here"
40          }
41        ],
42        "responses": {
43          "200": {
44            "description": "OK"
45          }
46        }
47      }
48    },
49    "/acts/dz_omar~ultimate-screenshot/runs": {
50      "post": {
51        "operationId": "runs-sync-dz_omar-ultimate-screenshot",
52        "x-openai-isConsequential": false,
53        "summary": "Executes an Actor and returns information about the initiated run in response.",
54        "tags": [
55          "Run Actor"
56        ],
57        "requestBody": {
58          "required": true,
59          "content": {
60            "application/json": {
61              "schema": {
62                "$ref": "#/components/schemas/inputSchema"
63              }
64            }
65          }
66        },
67        "parameters": [
68          {
69            "name": "token",
70            "in": "query",
71            "required": true,
72            "schema": {
73              "type": "string"
74            },
75            "description": "Enter your Apify token here"
76          }
77        ],
78        "responses": {
79          "200": {
80            "description": "OK",
81            "content": {
82              "application/json": {
83                "schema": {
84                  "$ref": "#/components/schemas/runsResponseSchema"
85                }
86              }
87            }
88          }
89        }
90      }
91    },
92    "/acts/dz_omar~ultimate-screenshot/run-sync": {
93      "post": {
94        "operationId": "run-sync-dz_omar-ultimate-screenshot",
95        "x-openai-isConsequential": false,
96        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97        "tags": [
98          "Run Actor"
99        ],
100        "requestBody": {
101          "required": true,
102          "content": {
103            "application/json": {
104              "schema": {
105                "$ref": "#/components/schemas/inputSchema"
106              }
107            }
108          }
109        },
110        "parameters": [
111          {
112            "name": "token",
113            "in": "query",
114            "required": true,
115            "schema": {
116              "type": "string"
117            },
118            "description": "Enter your Apify token here"
119          }
120        ],
121        "responses": {
122          "200": {
123            "description": "OK"
124          }
125        }
126      }
127    }
128  },
129  "components": {
130    "schemas": {
131      "inputSchema": {
132        "type": "object",
133        "required": [
134          "linkUrls"
135        ],
136        "properties": {
137          "fullPage": {
138            "title": "Full Page Screenshot --- If you Select the Output Format MP4 or GIF you might want to check out (MP4 or GIF Options Section)",
139            "type": "boolean",
140            "description": "Should the screenshot capture the full length of the page?",
141            "default": false
142          },
143          "enableSSL": {
144            "title": "Enable SSL Certificate Validation",
145            "type": "boolean",
146            "description": "When enabled, forces SSL certificate validation. Disabling this option may allow insecure connections, which could lead to security risks. Default is true, meaning SSL validation is enabled.",
147            "default": false
148          },
149          "linkUrls": {
150            "title": "Link URLs",
151            "type": "array",
152            "description": "The URLs to be processed (e.g., websites to take screenshots from).",
153            "default": [
154              "https://apify.com"
155            ],
156            "items": {
157              "type": "string"
158            }
159          },
160          "outputFormat": {
161            "title": "Output Format",
162            "enum": [
163              "jpeg",
164              "png",
165              "pdf",
166              "gif",
167              "mp4"
168            ],
169            "type": "string",
170            "description": "The format of the screenshot output (JPEG, PNG, GIF, MP4, or PDF).",
171            "default": "jpeg"
172          },
173          "waitUntil": {
174            "title": "Navigation Wait Condition",
175            "enum": [
176              "load",
177              "domcontentloaded",
178              "networkidle0",
179              "networkidle2"
180            ],
181            "type": "string",
182            "description": "Specify when the navigation should be considered finished. Options are 'load' for when the load event is fired, or 'domcontentloaded' for when the DOM has been loaded.",
183            "default": "networkidle0"
184          },
185          "timeouT": {
186            "title": "Timeout",
187            "type": "integer",
188            "description": "Time in milliseconds to wait for the webpage to load.",
189            "default": 15
190          },
191          "maxRetries": {
192            "title": "Maximum Retries",
193            "type": "integer",
194            "description": "The number of times to retry in case of a failure.",
195            "default": 3
196          },
197          "delayBeforeScreenshot": {
198            "title": "Delay Before Screenshot",
199            "type": "integer",
200            "description": "Time in seconds to wait before taking the screenshot.",
201            "default": 1500
202          },
203          "infiniteScroll": {
204            "title": "Infinite Scroll - This process will not stop if the page has Infinite Scrolling",
205            "type": "boolean",
206            "description": "Determines if the page should scroll indefinitely. If true, the scrolling continues indefinitely; if false, the scrolling will stop after a specified timeout (10 seconds).",
207            "default": false
208          },
209          "timefullPagE": {
210            "title": "Time for Full Page Capture",
211            "type": "integer",
212            "description": "Time in seconds to allow for full-page capture before stopping. If infiniteScroll is true, this value is ignored.",
213            "default": 10
214          },
215          "frameCounT": {
216            "title": "Frame Count",
217            "type": "integer",
218            "description": "The total number of frames to capture for the output video or GIF.",
219            "default": 10
220          },
221          "frameIntervaL": {
222            "title": "Frame Interval",
223            "type": "integer",
224            "description": "The interval in milliseconds between each captured frame.",
225            "default": 10
226          },
227          "frame": {
228            "title": "Frames per Second",
229            "type": "integer",
230            "description": "The number of frames to capture per second for the output.",
231            "default": 10
232          },
233          "scrollSteP": {
234            "title": "Scroll Step Distance This feature will only be applied if the 'Full Page Screenshot' option is selected",
235            "type": "integer",
236            "description": "Specifies the number of pixels to scroll down during full-page screenshots. This feature will only be applied if the 'Full Page Screenshot' option is selected; otherwise, it will not affect the scrolling behavior. A smaller scroll step allows for smoother scrolling and better image quality by ensuring that each frame is captured with minimal jumps. The default value is 300 pixels, but it can be adjusted for finer control over scrolling.",
237            "default": 300
238          },
239          "printBackground": {
240            "title": "Print Background",
241            "type": "boolean",
242            "description": "Configure whether to include the background graphics when generating a PDF.",
243            "default": true
244          },
245          "formaT": {
246            "title": "PDF Paper Format",
247            "enum": [
248              "A4",
249              "LETTER",
250              "LEGAL",
251              "TABLOID",
252              "LEDGER",
253              "A0",
254              "A1",
255              "A2",
256              "A3",
257              "A5",
258              "A6"
259            ],
260            "type": "string",
261            "description": "Select the paper size to be used for generating the PDF.",
262            "default": "A4"
263          },
264          "toP": {
265            "title": "Top Margin",
266            "type": "integer",
267            "description": "Specify the top margin for the PDF in millimeters.",
268            "default": 0
269          },
270          "righT": {
271            "title": "Right Margin",
272            "type": "integer",
273            "description": "Specify the right margin for the PDF in millimeters.",
274            "default": 0
275          },
276          "bottoM": {
277            "title": "Bottom Margin",
278            "type": "integer",
279            "description": "Specify the bottom margin for the PDF in millimeters.",
280            "default": 0
281          },
282          "lefT": {
283            "title": "Left Margin",
284            "type": "integer",
285            "description": "Specify the left margin for the PDF in millimeters.",
286            "default": 0
287          },
288          "device": {
289            "title": "Device",
290            "enum": [
291              "Blackberry PlayBook",
292              "Blackberry PlayBook landscape",
293              "BlackBerry Z30",
294              "BlackBerry Z30 landscape",
295              "Galaxy Note 3",
296              "Galaxy Note 3 landscape",
297              "Galaxy Note II",
298              "Galaxy Note II landscape",
299              "Galaxy S III",
300              "Galaxy S III landscape",
301              "Galaxy S5",
302              "Galaxy S5 landscape",
303              "Galaxy S8",
304              "Galaxy S8 landscape",
305              "Galaxy S9+",
306              "Galaxy S9+ landscape",
307              "Galaxy Tab S4",
308              "Galaxy Tab S4 landscape",
309              "iPad",
310              "iPad landscape",
311              "iPad (gen 6)",
312              "iPad (gen 6) landscape",
313              "iPad (gen 7)",
314              "iPad (gen 7) landscape",
315              "iPad Mini",
316              "iPad Mini landscape",
317              "iPad Pro",
318              "iPad Pro landscape",
319              "iPad Pro 11",
320              "iPad Pro 11 landscape",
321              "iPhone 4",
322              "iPhone 4 landscape",
323              "iPhone 5",
324              "iPhone 5 landscape",
325              "iPhone 6",
326              "iPhone 6 landscape",
327              "iPhone 6 Plus",
328              "iPhone 6 Plus landscape",
329              "iPhone 7",
330              "iPhone 7 landscape",
331              "iPhone 7 Plus",
332              "iPhone 7 Plus landscape",
333              "iPhone 8",
334              "iPhone 8 landscape",
335              "iPhone 8 Plus",
336              "iPhone 8 Plus landscape",
337              "iPhone SE",
338              "iPhone SE landscape",
339              "iPhone X",
340              "iPhone X landscape",
341              "iPhone XR",
342              "iPhone XR landscape",
343              "iPhone 11",
344              "iPhone 11 landscape",
345              "iPhone 11 Pro",
346              "iPhone 11 Pro landscape",
347              "iPhone 11 Pro Max",
348              "iPhone 11 Pro Max landscape",
349              "iPhone 12",
350              "iPhone 12 landscape",
351              "iPhone 12 Pro",
352              "iPhone 12 Pro landscape",
353              "iPhone 12 Pro Max",
354              "iPhone 12 Pro Max landscape",
355              "iPhone 12 Mini",
356              "iPhone 12 Mini landscape",
357              "iPhone 13",
358              "iPhone 13 landscape",
359              "iPhone 13 Pro",
360              "iPhone 13 Pro landscape",
361              "iPhone 13 Pro Max",
362              "iPhone 13 Pro Max landscape",
363              "iPhone 13 Mini",
364              "iPhone 13 Mini landscape",
365              "iPhone 14",
366              "iPhone 14 landscape",
367              "iPhone 14 Plus",
368              "iPhone 14 Plus landscape",
369              "iPhone 14 Pro",
370              "iPhone 14 Pro landscape",
371              "iPhone 14 Pro Max",
372              "iPhone 14 Pro Max landscape",
373              "iPhone 15",
374              "iPhone 15 landscape",
375              "iPhone 15 Plus",
376              "iPhone 15 Plus landscape",
377              "iPhone 15 Pro",
378              "iPhone 15 Pro landscape",
379              "iPhone 15 Pro Max",
380              "iPhone 15 Pro Max landscape",
381              "JioPhone 2",
382              "JioPhone 2 landscape",
383              "Kindle Fire HDX",
384              "Kindle Fire HDX landscape",
385              "LG Optimus L70",
386              "LG Optimus L70 landscape",
387              "Microsoft Lumia 550",
388              "Microsoft Lumia 950",
389              "Microsoft Lumia 950 landscape",
390              "Nexus 10",
391              "Nexus 10 landscape",
392              "Nexus 4",
393              "Nexus 4 landscape",
394              "Nexus 5",
395              "Nexus 5 landscape",
396              "Nexus 5X",
397              "Nexus 5X landscape",
398              "Nexus 6",
399              "Nexus 6 landscape",
400              "Nexus 6P",
401              "Nexus 6P landscape",
402              "Nexus 7",
403              "Nexus 7 landscape",
404              "Nokia Lumia 520",
405              "Nokia Lumia 520 landscape",
406              "Nokia N9",
407              "Nokia N9 landscape",
408              "Pixel 2",
409              "Pixel 2 landscape",
410              "Pixel 2 XL",
411              "Pixel 2 XL landscape",
412              "Pixel 3",
413              "Pixel 3 landscape",
414              "Pixel 4",
415              "Pixel 4 landscape",
416              "Pixel 4a (5G)",
417              "Pixel 4a (5G) landscape",
418              "Pixel 5",
419              "Pixel 5 landscape",
420              "Moto G4",
421              "Moto G4 landscape"
422            ],
423            "type": "string",
424            "description": "Choose a device to emulate specific dimensions and settings. If no device is selected, the default resolution of 1920x1080 will be used."
425          },
426          "window_Width": {
427            "title": "Window Width",
428            "type": "integer",
429            "description": "The width of the browser window in pixels.",
430            "default": 1920
431          },
432          "window_Height": {
433            "title": "Window Height",
434            "type": "integer",
435            "description": "The height of the browser window in pixels.",
436            "default": 1080
437          },
438          "scrollToBottom": {
439            "title": "Scroll to Bottom",
440            "type": "boolean",
441            "description": "Should the browser scroll to the bottom of the page before taking a screenshot?",
442            "default": false
443          },
444          "delayAfterScrolling": {
445            "title": "Delay After Scrolling",
446            "type": "integer",
447            "description": "Specify the delay (in milliseconds) after scrolling to the bottom before taking the screenshot. Only used if 'Wait for Network Idle After Scrolling' is not enabled.",
448            "default": 300
449          },
450          "cookies": {
451            "title": "Cookies",
452            "type": "array",
453            "description": "Cookies to be used for the browsing session, formatted as JSON objects.",
454            "default": []
455          },
456          "proxyConfig": {
457            "title": "Proxy",
458            "type": "object",
459            "description": "Configure proxy settings to use during the scan. Utilizing proxies can help you avoid IP bans, bypass WAF (Web Application Firewall) restrictions, and access specific geographical regions. This ensures smooth crawling across various environments and enhances the overall efficiency and reliability of your scanning activities.",
460            "default": {
461              "useApifyProxy": false
462            }
463          }
464        }
465      },
466      "runsResponseSchema": {
467        "type": "object",
468        "properties": {
469          "data": {
470            "type": "object",
471            "properties": {
472              "id": {
473                "type": "string"
474              },
475              "actId": {
476                "type": "string"
477              },
478              "userId": {
479                "type": "string"
480              },
481              "startedAt": {
482                "type": "string",
483                "format": "date-time",
484                "example": "2025-01-08T00:00:00.000Z"
485              },
486              "finishedAt": {
487                "type": "string",
488                "format": "date-time",
489                "example": "2025-01-08T00:00:00.000Z"
490              },
491              "status": {
492                "type": "string",
493                "example": "READY"
494              },
495              "meta": {
496                "type": "object",
497                "properties": {
498                  "origin": {
499                    "type": "string",
500                    "example": "API"
501                  },
502                  "userAgent": {
503                    "type": "string"
504                  }
505                }
506              },
507              "stats": {
508                "type": "object",
509                "properties": {
510                  "inputBodyLen": {
511                    "type": "integer",
512                    "example": 2000
513                  },
514                  "rebootCount": {
515                    "type": "integer",
516                    "example": 0
517                  },
518                  "restartCount": {
519                    "type": "integer",
520                    "example": 0
521                  },
522                  "resurrectCount": {
523                    "type": "integer",
524                    "example": 0
525                  },
526                  "computeUnits": {
527                    "type": "integer",
528                    "example": 0
529                  }
530                }
531              },
532              "options": {
533                "type": "object",
534                "properties": {
535                  "build": {
536                    "type": "string",
537                    "example": "latest"
538                  },
539                  "timeoutSecs": {
540                    "type": "integer",
541                    "example": 300
542                  },
543                  "memoryMbytes": {
544                    "type": "integer",
545                    "example": 1024
546                  },
547                  "diskMbytes": {
548                    "type": "integer",
549                    "example": 2048
550                  }
551                }
552              },
553              "buildId": {
554                "type": "string"
555              },
556              "defaultKeyValueStoreId": {
557                "type": "string"
558              },
559              "defaultDatasetId": {
560                "type": "string"
561              },
562              "defaultRequestQueueId": {
563                "type": "string"
564              },
565              "buildNumber": {
566                "type": "string",
567                "example": "1.0.0"
568              },
569              "containerUrl": {
570                "type": "string"
571              },
572              "usage": {
573                "type": "object",
574                "properties": {
575                  "ACTOR_COMPUTE_UNITS": {
576                    "type": "integer",
577                    "example": 0
578                  },
579                  "DATASET_READS": {
580                    "type": "integer",
581                    "example": 0
582                  },
583                  "DATASET_WRITES": {
584                    "type": "integer",
585                    "example": 0
586                  },
587                  "KEY_VALUE_STORE_READS": {
588                    "type": "integer",
589                    "example": 0
590                  },
591                  "KEY_VALUE_STORE_WRITES": {
592                    "type": "integer",
593                    "example": 1
594                  },
595                  "KEY_VALUE_STORE_LISTS": {
596                    "type": "integer",
597                    "example": 0
598                  },
599                  "REQUEST_QUEUE_READS": {
600                    "type": "integer",
601                    "example": 0
602                  },
603                  "REQUEST_QUEUE_WRITES": {
604                    "type": "integer",
605                    "example": 0
606                  },
607                  "DATA_TRANSFER_INTERNAL_GBYTES": {
608                    "type": "integer",
609                    "example": 0
610                  },
611                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
612                    "type": "integer",
613                    "example": 0
614                  },
615                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
616                    "type": "integer",
617                    "example": 0
618                  },
619                  "PROXY_SERPS": {
620                    "type": "integer",
621                    "example": 0
622                  }
623                }
624              },
625              "usageTotalUsd": {
626                "type": "number",
627                "example": 0.00005
628              },
629              "usageUsd": {
630                "type": "object",
631                "properties": {
632                  "ACTOR_COMPUTE_UNITS": {
633                    "type": "integer",
634                    "example": 0
635                  },
636                  "DATASET_READS": {
637                    "type": "integer",
638                    "example": 0
639                  },
640                  "DATASET_WRITES": {
641                    "type": "integer",
642                    "example": 0
643                  },
644                  "KEY_VALUE_STORE_READS": {
645                    "type": "integer",
646                    "example": 0
647                  },
648                  "KEY_VALUE_STORE_WRITES": {
649                    "type": "number",
650                    "example": 0.00005
651                  },
652                  "KEY_VALUE_STORE_LISTS": {
653                    "type": "integer",
654                    "example": 0
655                  },
656                  "REQUEST_QUEUE_READS": {
657                    "type": "integer",
658                    "example": 0
659                  },
660                  "REQUEST_QUEUE_WRITES": {
661                    "type": "integer",
662                    "example": 0
663                  },
664                  "DATA_TRANSFER_INTERNAL_GBYTES": {
665                    "type": "integer",
666                    "example": 0
667                  },
668                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
669                    "type": "integer",
670                    "example": 0
671                  },
672                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
673                    "type": "integer",
674                    "example": 0
675                  },
676                  "PROXY_SERPS": {
677                    "type": "integer",
678                    "example": 0
679                  }
680                }
681              }
682            }
683          }
684        }
685      }
686    }
687  }
688}

Ultimate Screenshot Generator - with Configuration Options OpenAPI definition

OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.

OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.

By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.

You can download the OpenAPI definitions for Ultimate Screenshot from the options below:

If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.

You can also check out our other API clients:

Developer
Maintained by Community

Actor Metrics

  • 8 monthly users

  • 5 stars

  • >99% runs succeeded

  • 4.9 days response time

  • Created in Oct 2024

  • Modified 2 days ago