@apifreaks/openapi-specs 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/index.cjs +133 -2
  2. package/dist/index.d.cts +140 -3
  3. package/dist/index.d.ts +140 -3
  4. package/dist/index.js +131 -2
  5. package/dist/specs/commodity/commodity-fluctuation.yaml +225 -0
  6. package/dist/specs/commodity/commodity-prices.yaml +236 -0
  7. package/dist/specs/commodity/commodity-symbols.yaml +159 -0
  8. package/dist/specs/commodity/commodity-time-series.yaml +238 -0
  9. package/dist/specs/commodity/historical-commodity-prices.yaml +208 -0
  10. package/dist/specs/currency/currency-converter.yaml +193 -0
  11. package/dist/specs/currency/currency-fluctuation.yaml +211 -0
  12. package/dist/specs/currency/currency-historical-data-limit.yaml +112 -0
  13. package/dist/specs/currency/currency-rate.yaml +173 -0
  14. package/dist/specs/currency/currency-supported.yaml +176 -0
  15. package/dist/specs/currency/currency-symbols.yaml +115 -0
  16. package/dist/specs/currency/currency-time-series.yaml +232 -0
  17. package/dist/specs/currency/geolocalized-currency-conversion.yaml +214 -0
  18. package/dist/specs/currency/historical-currency-converter.yaml +195 -0
  19. package/dist/specs/currency/historical-currency-rate.yaml +180 -0
  20. package/dist/specs/dns/bulk-dns-lookup.yaml +484 -0
  21. package/dist/specs/dns/dns-history-lookup.yaml +451 -0
  22. package/dist/specs/dns/dns-lookup.yaml +360 -0
  23. package/dist/specs/dns/reverse-dns-lookup.yaml +338 -0
  24. package/dist/specs/domain/bulk-domain-checker.yaml +198 -0
  25. package/dist/specs/domain/domain-search-with-suggestions.yaml +196 -0
  26. package/dist/specs/domain/domain-search.yaml +149 -0
  27. package/dist/specs/domain/subdomain-lookup.yaml +251 -0
  28. package/dist/specs/email-validation/bulk-email-validation.yaml +403 -0
  29. package/dist/specs/email-validation/email-checker.yaml +451 -0
  30. package/dist/specs/financial/bulk-vat-rates-country.yaml +250 -0
  31. package/dist/specs/financial/financial-apis-supported-countries.yaml +152 -0
  32. package/dist/specs/financial/iban-validation.yaml +270 -0
  33. package/dist/specs/financial/swift-code-finder.yaml +146 -0
  34. package/dist/specs/financial/swift-code-lookup.yaml +156 -0
  35. package/dist/specs/financial/vat-number-validation.yaml +205 -0
  36. package/dist/specs/financial/vat-rates-by-ip.yaml +200 -0
  37. package/dist/specs/financial/vat-rates-country.yaml +212 -0
  38. package/dist/specs/general/usage-credits.yaml +188 -0
  39. package/dist/specs/geocoding/forward-geocoding.yaml +292 -0
  40. package/dist/specs/geocoding/reverse-geocoding.yaml +237 -0
  41. package/dist/specs/geodb/administrative-units-details.yaml +180 -0
  42. package/dist/specs/geodb/administrative-units-levels.yaml +140 -0
  43. package/dist/specs/geodb/administrative-units.yaml +168 -0
  44. package/dist/specs/geodb/cities.yaml +209 -0
  45. package/dist/specs/geodb/countries-details.yaml +207 -0
  46. package/dist/specs/geodb/countries.yaml +199 -0
  47. package/dist/specs/geodb/flags-supported.yaml +119 -0
  48. package/dist/specs/geodb/flags.yaml +170 -0
  49. package/dist/specs/geodb/regions.yaml +76 -0
  50. package/dist/specs/geodb/subregions.yaml +158 -0
  51. package/dist/specs/ip-intelligence/bulk-ip-lookup.yaml +895 -0
  52. package/dist/specs/ip-intelligence/bulk-ip-threat-intelligence.yaml +310 -0
  53. package/dist/specs/ip-intelligence/ip-locator.yaml +708 -0
  54. package/dist/specs/ip-intelligence/ip-threat-intelligence.yaml +230 -0
  55. package/dist/specs/other/astronomy-data.yaml +632 -0
  56. package/dist/specs/pdf/delete-pdf-page.yaml +193 -0
  57. package/dist/specs/pdf/linearize-pdf.yaml +187 -0
  58. package/dist/specs/pdf/merge-pdf.yaml +193 -0
  59. package/dist/specs/pdf/pdf-compress.yaml +208 -0
  60. package/dist/specs/pdf/pdf-decrypt.yaml +202 -0
  61. package/dist/specs/pdf/pdf-encrypt.yaml +213 -0
  62. package/dist/specs/pdf/pdf-extract-pages.yaml +199 -0
  63. package/dist/specs/pdf/pdf-file-status.yaml +148 -0
  64. package/dist/specs/pdf/pdf-file.yaml +136 -0
  65. package/dist/specs/pdf/pdf-files.yaml +85 -0
  66. package/dist/specs/pdf/pdf-resource-download.yaml +117 -0
  67. package/dist/specs/pdf/pdf-resource-upload-binary.yaml +152 -0
  68. package/dist/specs/pdf/pdf-resource-upload.yaml +163 -0
  69. package/dist/specs/pdf/pdf-restrict.yaml +246 -0
  70. package/dist/specs/pdf/pdf-split-pages.yaml +208 -0
  71. package/dist/specs/pdf/pdf-task-status.yaml +187 -0
  72. package/dist/specs/pdf/pdf-to-image.yaml +844 -0
  73. package/dist/specs/pdf/pdf-unrestrict.yaml +221 -0
  74. package/dist/specs/pdf/rotate-pdf-pages.yaml +207 -0
  75. package/dist/specs/phone-validation/bulk-phone-number-validation.yaml +374 -0
  76. package/dist/specs/phone-validation/phone-number-validation.yaml +344 -0
  77. package/dist/specs/scraper/web-scraper.yaml +479 -0
  78. package/dist/specs/screenshot/bulk-screenshot.yaml +728 -0
  79. package/dist/specs/screenshot/website-screenshot.yaml +822 -0
  80. package/dist/specs/ssl/ssl-certificate-chain-lookup.yaml +593 -0
  81. package/dist/specs/ssl/ssl-certificate-lookup.yaml +478 -0
  82. package/dist/specs/timezone/timezone-converter.yaml +249 -0
  83. package/dist/specs/timezone/timezone-lookup.yaml +712 -0
  84. package/dist/specs/user-agent/bulk-user-agent-parser.yaml +340 -0
  85. package/dist/specs/user-agent/user-agent-parser.yaml +271 -0
  86. package/dist/specs/weather/air-quality.yaml +590 -0
  87. package/dist/specs/weather/bulk-live-weather.yaml +654 -0
  88. package/dist/specs/weather/flood-forecast.yaml +519 -0
  89. package/dist/specs/weather/historical-weather.yaml +842 -0
  90. package/dist/specs/weather/live-weather.yaml +633 -0
  91. package/dist/specs/weather/marine-weather.yaml +806 -0
  92. package/dist/specs/weather/time-series-weather.yaml +821 -0
  93. package/dist/specs/weather/weather-forecast.yaml +935 -0
  94. package/dist/specs/whois/asn-lookup.yaml +618 -0
  95. package/dist/specs/whois/bulk-whois-lookup.yaml +827 -0
  96. package/dist/specs/whois/domain-whois-history-lookup.yaml +445 -0
  97. package/dist/specs/whois/reverse-whois.yaml +566 -0
  98. package/dist/specs/whois/whois-domain-lookup.yaml +537 -0
  99. package/dist/specs/whois/whois-ip-lookup.yaml +1123 -0
  100. package/dist/specs/zip-code/bulk-zip-code-lookup.yaml +232 -0
  101. package/dist/specs/zip-code/zip-code-api.yaml +216 -0
  102. package/dist/specs/zip-code/zip-code-distance-match.yaml +239 -0
  103. package/dist/specs/zip-code/zip-code-distance.yaml +233 -0
  104. package/dist/specs/zip-code/zip-codes-by-city.yaml +201 -0
  105. package/dist/specs/zip-code/zip-codes-by-region.yaml +200 -0
  106. package/dist/specs/zip-code/zip-codes-radius-search.yaml +262 -0
  107. package/package.json +6 -2
  108. package/specs/pdf/merge-pdf.json +2 -2
@@ -0,0 +1,728 @@
1
+ openapi: 3.1.1
2
+ info:
3
+ title: Bulk Screenshot API - Capture Up to 50 URLs in a Single Request
4
+ version: 1.0.0
5
+ description: Capture screenshots of multiple websites in a single POST request. Accepts up to 50 URLs per request with per-URL options for file type, viewport size, blocking, caching, and scrolling capture. Returns a status indicator, metadata with success/failure counts, and an array of per-URL results — each containing either screenshot data or an error message.
6
+ contact:
7
+ name: APIFreaks Support
8
+ url: https://apifreaks.com/contact
9
+ email: support@apifreaks.com
10
+ servers:
11
+ - url: https://api.apifreaks.com/v1.0
12
+ description: Bulk Screenshot API Server
13
+ paths:
14
+ /screenshot:
15
+ post:
16
+ tags:
17
+ - Screenshot APIs
18
+ summary: Capture screenshots of multiple websites in a single request.
19
+ description: |-
20
+ Our Bulk Screenshot API allows you to capture screenshots of multiple webpages simultaneously, saving you time and effort. Instead of manually capturing each page one by one, you can batch process URLs and receive high-quality screenshots in the format you choose.
21
+ Maximum `50 URLs` per request.
22
+ operationId: bulkScreenshot
23
+ parameters:
24
+ - name: format
25
+ in: query
26
+ required: false
27
+ schema:
28
+ type: string
29
+ enum:
30
+ - json
31
+ default: json
32
+ requestBody:
33
+ required: true
34
+ content:
35
+ application/json:
36
+ schema:
37
+ $ref: '#/components/schemas/BulkScreenshotRequest'
38
+ examples:
39
+ typicalRequest:
40
+ summary: Typical bulk screenshot request
41
+ value:
42
+ urls:
43
+ - url: https://example.com
44
+ file_type: PNG
45
+ - url: https://github.com
46
+ file_type: JPEG
47
+ full_page: true
48
+ responses:
49
+ '200':
50
+ description: Successful response. Each item in `results` corresponds to one requested URL, in the same order; a URL that fails validation or capture returns an error object in its `url` field instead of screenshot data, while `status` stays "fulfilled" and `error_message` stays null.
51
+ content:
52
+ application/json:
53
+ schema:
54
+ $ref: '#/components/schemas/BulkScreenshotResponse'
55
+ examples:
56
+ success:
57
+ summary: Successful response with mixed results
58
+ value:
59
+ status: success
60
+ meta_data:
61
+ total_urls: 2
62
+ successful_urls: 1
63
+ failed_urls: 1
64
+ results:
65
+ - url:
66
+ screenshot: https://s3.eu-central-2.wasabisys.com/w.storage.apifreaks.com/example_com_6d83e1744f01.png
67
+ url: https://example.com
68
+ created_at: '2026-07-27T10:18:31.378Z'
69
+ file_type: PNG
70
+ output: json
71
+ ttl: '2026-08-26T10:18:28.034Z'
72
+ sizes: null
73
+ status: fulfilled
74
+ error_message: null
75
+ - url:
76
+ timestamp: '2026-07-27T10:18:28.872Z'
77
+ status: 400
78
+ error: invalid_url
79
+ message: Your URL is incorrect
80
+ path: /v3/screenshot
81
+ status: fulfilled
82
+ error_message: null
83
+ '400':
84
+ description: Invalid request body
85
+ content:
86
+ application/json:
87
+ examples:
88
+ InvalidBody:
89
+ summary: Invalid request body
90
+ value:
91
+ error: Invalid request body Exception
92
+ message: Please provide data in required format in request body
93
+ path: /v1.0/screenshot
94
+ status: 400
95
+ timestamp: '2026-07-27T10:18:42.036Z'
96
+ schema:
97
+ $ref: '#/components/schemas/ErrorResponse'
98
+ '413':
99
+ description: Payload too large
100
+ content:
101
+ application/json:
102
+ examples:
103
+ PayloadTooLarge:
104
+ summary: Payload too large
105
+ value:
106
+ error: Payload too large Exception
107
+ message: Maximum request body size limit exceeded
108
+ path: /v1.0/screenshot
109
+ status: 413
110
+ timestamp: '2026-07-27T10:18:57.172Z'
111
+ schema:
112
+ $ref: '#/components/schemas/ErrorResponse'
113
+ components:
114
+ securitySchemes:
115
+ ApiKeyAuthHeader:
116
+ type: apiKey
117
+ in: header
118
+ name: X-apiKey
119
+ description: Pass your API key via the X-apiKey request header.
120
+ ApiKeyAuthQuery:
121
+ type: apiKey
122
+ in: query
123
+ name: apiKey
124
+ description: Pass your API key via the apiKey query parameter.
125
+ schemas:
126
+ BulkScreenshotSuccessItem:
127
+ type: object
128
+ description: Per-URL result entry. The `url` field holds either the screenshot metadata or an error object, depending on whether that specific URL was captured successfully.
129
+ required:
130
+ - status
131
+ - url
132
+ properties:
133
+ status:
134
+ type: string
135
+ description: Processing status for this item (fulfilled).
136
+ url:
137
+ description: Screenshot metadata for this URL, or an error object if this specific URL could not be captured.
138
+ oneOf:
139
+ - description: Screenshot metadata with the same structure as the single Website Screenshot API response.
140
+ $ref: '#/components/schemas/BulkScreenshotUrlData'
141
+ - description: Per-item error returned when this specific URL cannot be captured.
142
+ $ref: '#/components/schemas/ErrorResponse'
143
+ error_message:
144
+ type:
145
+ - string
146
+ - 'null'
147
+ description: Observed to always be null; per-item error details are returned inside `url` instead.
148
+ BulkScreenshotUrlData:
149
+ type: object
150
+ description: Screenshot result data for a single URL. Contains the same fields as the single Website Screenshot API response.
151
+ required:
152
+ - screenshot
153
+ - url
154
+ - created_at
155
+ properties:
156
+ screenshot:
157
+ type: string
158
+ format: uri
159
+ description: URL of the captured screenshot image.
160
+ url:
161
+ type: string
162
+ format: uri
163
+ description: The original URL that was captured.
164
+ created_at:
165
+ type: string
166
+ format: date-time
167
+ description: Timestamp when the screenshot was created (ISO 8601 format).
168
+ format:
169
+ type: string
170
+ description: Response format type.
171
+ ttl:
172
+ type: string
173
+ description: Time until the screenshot expires (ISO 8601 format).
174
+ file_type:
175
+ type: string
176
+ description: The file type of the output.
177
+ extracted_html:
178
+ type: string
179
+ format: uri
180
+ description: URL of the extracted HTML from the webpage.
181
+ extracted_text:
182
+ type: string
183
+ format: uri
184
+ description: URL of the extracted plain text from the webpage.
185
+ enable_caching:
186
+ type: boolean
187
+ description: Whether caching was enabled.
188
+ omit_background:
189
+ type: boolean
190
+ description: Whether background was removed.
191
+ destroy_screenshot:
192
+ type: boolean
193
+ description: Whether the screenshot was destroyed after generation.
194
+ fail_on_error:
195
+ type: boolean
196
+ description: Whether the request failed on error.
197
+ longitude:
198
+ type: number
199
+ format: float
200
+ description: The longitude value used for geolocation.
201
+ latitude:
202
+ type: number
203
+ format: float
204
+ description: The latitude value used for geolocation.
205
+ proxy:
206
+ type: string
207
+ description: The proxy configuration used.
208
+ no_cookie_banners:
209
+ type: boolean
210
+ description: Whether cookie banners were blocked.
211
+ block_ads:
212
+ type: boolean
213
+ description: Whether ads were blocked.
214
+ headers:
215
+ type: string
216
+ description: Custom headers included in the request.
217
+ cookies:
218
+ type: string
219
+ description: Cookies included in the request.
220
+ scroll_to_element:
221
+ type: string
222
+ description: Element scrolled to before rendering.
223
+ selector:
224
+ type: string
225
+ description: Element selected for rendering.
226
+ blur_selector:
227
+ type: string
228
+ description: Elements blurred in the output.
229
+ remove_selector:
230
+ type: string
231
+ description: Elements removed from the output.
232
+ css:
233
+ type: string
234
+ description: Custom CSS injected into the page.
235
+ css_url:
236
+ type: string
237
+ format: uri
238
+ description: External CSS URL that was loaded.
239
+ js:
240
+ type: string
241
+ description: Custom JavaScript that was injected.
242
+ js_url:
243
+ type: string
244
+ format: uri
245
+ description: External JavaScript URL that was loaded.
246
+ user_agent:
247
+ type: string
248
+ description: User-Agent string that was used.
249
+ accept_languages:
250
+ type: string
251
+ description: Accept-Language header that was used.
252
+ delay:
253
+ type: integer
254
+ description: Delay duration in milliseconds.
255
+ thumbnail_width:
256
+ type: integer
257
+ description: Thumbnail width in pixels.
258
+ output:
259
+ type: string
260
+ description: Output type used.
261
+ fresh:
262
+ type: boolean
263
+ description: Whether a fresh render was performed.
264
+ lazy_load:
265
+ type: boolean
266
+ description: Whether lazy loading was triggered.
267
+ full_page:
268
+ type: boolean
269
+ description: Whether full page capture was used.
270
+ retina:
271
+ type: boolean
272
+ description: Whether retina capture was used.
273
+ height:
274
+ type: integer
275
+ description: Viewport height used in pixels.
276
+ width:
277
+ type: integer
278
+ description: Viewport width used in pixels.
279
+ custom_html:
280
+ type: string
281
+ description: Custom HTML content rendered.
282
+ block_chat_widgets:
283
+ type: boolean
284
+ description: Whether chat widgets were blocked.
285
+ block_js:
286
+ type: boolean
287
+ description: Whether JavaScript was blocked.
288
+ block_stylesheets:
289
+ type: boolean
290
+ description: Whether stylesheets were blocked.
291
+ block_images:
292
+ type: boolean
293
+ description: Whether images were blocked.
294
+ block_media:
295
+ type: boolean
296
+ description: Whether media files were blocked.
297
+ block_font:
298
+ type: boolean
299
+ description: Whether fonts were blocked.
300
+ block_text_track:
301
+ type: boolean
302
+ description: Whether text tracks were blocked.
303
+ block_xhr:
304
+ type: boolean
305
+ description: Whether XHR requests were blocked.
306
+ block_fetch:
307
+ type: boolean
308
+ description: Whether Fetch API requests were blocked.
309
+ block_event_source:
310
+ type: boolean
311
+ description: Whether EventSource connections were blocked.
312
+ block_web_socket:
313
+ type: boolean
314
+ description: Whether WebSocket connections were blocked.
315
+ block_manifest:
316
+ type: boolean
317
+ description: Whether manifest files were blocked.
318
+ block_specific_requests:
319
+ type: string
320
+ description: Specific requests that were blocked.
321
+ adjust_top:
322
+ type: integer
323
+ description: Vertical position scrolled to in pixels.
324
+ image_quality:
325
+ type: integer
326
+ description: Image quality level applied.
327
+ extract_html:
328
+ type: boolean
329
+ description: Whether HTML content was extracted.
330
+ extract_text:
331
+ type: boolean
332
+ description: Whether text content was extracted.
333
+ dark_mode:
334
+ type: boolean
335
+ description: Whether dark mode was enabled.
336
+ block_tracking:
337
+ type: boolean
338
+ description: Whether tracking scripts were blocked.
339
+ wait_for_event:
340
+ type: string
341
+ description: The event that triggered rendering.
342
+ grayscale:
343
+ type: integer
344
+ description: Grayscale level applied (0-100).
345
+ clip:
346
+ $ref: '#/components/schemas/ClipRect'
347
+ result_file_name:
348
+ type: string
349
+ description: Final filename used for the output.
350
+ enable_incognito:
351
+ type: boolean
352
+ description: Whether incognito mode was enabled.
353
+ timeout:
354
+ type: integer
355
+ description: Actual timeout duration in milliseconds.
356
+ scrolling_screenshot:
357
+ type: boolean
358
+ description: Whether scrolling screenshot mode was enabled.
359
+ multiple_scrolling:
360
+ type: boolean
361
+ description: Whether multiple scrolling captures were performed.
362
+ sizes:
363
+ type: array
364
+ items:
365
+ type: string
366
+ description: Dimensions used for each capture.
367
+ extract_markdown:
368
+ type: boolean
369
+ description: Whether markdown extraction was enabled.
370
+ get_image_urls:
371
+ type: boolean
372
+ description: Whether image URL extraction was enabled.
373
+ scroll_delay:
374
+ type: integer
375
+ description: Delay between scroll steps in milliseconds.
376
+ selector_to_click:
377
+ type: string
378
+ description: CSS selector clicked before capture.
379
+ click_recursion:
380
+ type: integer
381
+ description: Number of times the selector was clicked.
382
+ video:
383
+ type: boolean
384
+ description: Whether viewport recording mode was enabled.
385
+ ClipRect:
386
+ type: object
387
+ description: Clipping rectangle dimensions for the captured area.
388
+ required:
389
+ - x
390
+ - 'y'
391
+ - width
392
+ - height
393
+ properties:
394
+ x:
395
+ type: integer
396
+ description: X position of the clip rectangle in pixels.
397
+ 'y':
398
+ type: integer
399
+ description: Y position of the clip rectangle in pixels.
400
+ width:
401
+ type: integer
402
+ description: Width of the clip rectangle in pixels.
403
+ height:
404
+ type: integer
405
+ description: Height of the clip rectangle in pixels.
406
+ BulkScreenshotRequest:
407
+ type: object
408
+ description: Request body for bulk screenshot capture.
409
+ required:
410
+ - urls
411
+ properties:
412
+ urls:
413
+ type: array
414
+ description: Array of URL objects to capture. Maximum 50 items per request.
415
+ maxItems: 50
416
+ items:
417
+ $ref: '#/components/schemas/BulkScreenshotUrlItem'
418
+ BulkScreenshotUrlItem:
419
+ type: object
420
+ description: A single URL entry in a bulk screenshot request with per-URL options.
421
+ required:
422
+ - url
423
+ properties:
424
+ url:
425
+ type: string
426
+ format: uri
427
+ description: URL of the website to capture.
428
+ file_type:
429
+ type: string
430
+ enum:
431
+ - PNG
432
+ - JPEG
433
+ - WEBP
434
+ - PDF
435
+ - mp4
436
+ - gif
437
+ - webm
438
+ description: Output format for this URL.
439
+ width:
440
+ type: integer
441
+ description: Viewport width in pixels.
442
+ height:
443
+ type: integer
444
+ description: Viewport height in pixels.
445
+ full_page:
446
+ type: boolean
447
+ description: Capture a full-page screenshot.
448
+ fresh:
449
+ type: boolean
450
+ description: Bypass cache.
451
+ no_cookie_banners:
452
+ type: boolean
453
+ description: Remove cookie banners.
454
+ enable_caching:
455
+ type: boolean
456
+ description: Enable caching.
457
+ block_ads:
458
+ type: boolean
459
+ description: Block ads.
460
+ block_chat_widgets:
461
+ type: boolean
462
+ description: Block chat widgets.
463
+ extract_text:
464
+ type: boolean
465
+ description: Extract visible text.
466
+ extract_html:
467
+ type: boolean
468
+ description: Extract HTML.
469
+ extract_markdown:
470
+ type: boolean
471
+ description: Extract markdown.
472
+ get_image_urls:
473
+ type: boolean
474
+ description: Extract image URLs.
475
+ destroy_screenshot:
476
+ type: boolean
477
+ description: Auto-destroy after fetch.
478
+ lazy_load:
479
+ type: boolean
480
+ description: Lazy-load content.
481
+ scroll_delay:
482
+ type: integer
483
+ description: Delay in ms between scroll steps.
484
+ retina:
485
+ type: boolean
486
+ description: 2x resolution.
487
+ dark_mode:
488
+ type: boolean
489
+ description: Dark mode.
490
+ block_tracking:
491
+ type: boolean
492
+ description: Block tracking.
493
+ enable_incognito:
494
+ type: boolean
495
+ description: Incognito mode.
496
+ omit_background:
497
+ type: boolean
498
+ description: Transparent background.
499
+ thumbnail_width:
500
+ type: integer
501
+ description: Thumbnail width.
502
+ adjust_top:
503
+ type: integer
504
+ description: Vertical scroll position.
505
+ wait_for_event:
506
+ type: string
507
+ enum:
508
+ - load
509
+ - domcontentloaded
510
+ - networkidle
511
+ description: Wait for event.
512
+ grayscale:
513
+ type: integer
514
+ description: Grayscale (0-100).
515
+ delay:
516
+ type: integer
517
+ description: Delay in ms.
518
+ timeout:
519
+ type: integer
520
+ description: Timeout in ms.
521
+ ttl:
522
+ type: integer
523
+ description: Cache TTL in seconds.
524
+ image_quality:
525
+ type: integer
526
+ description: JPEG quality (0-100).
527
+ clip[x]:
528
+ type: integer
529
+ description: Clip X.
530
+ clip[y]:
531
+ type: integer
532
+ description: Clip Y.
533
+ clip[width]:
534
+ type: integer
535
+ description: Clip width.
536
+ clip[height]:
537
+ type: integer
538
+ description: Clip height.
539
+ css_url:
540
+ type: string
541
+ description: CSS file URL.
542
+ css:
543
+ type: string
544
+ description: Custom CSS.
545
+ js_url:
546
+ type: string
547
+ description: JS file URL.
548
+ js:
549
+ type: string
550
+ description: Custom JS.
551
+ block_js:
552
+ type: boolean
553
+ description: Block JS.
554
+ block_stylesheets:
555
+ type: boolean
556
+ description: Block stylesheets.
557
+ block_images:
558
+ type: boolean
559
+ description: Block images.
560
+ block_media:
561
+ type: boolean
562
+ description: Block media.
563
+ block_font:
564
+ type: boolean
565
+ description: Block fonts.
566
+ block_text_track:
567
+ type: boolean
568
+ description: Block text tracks.
569
+ block_xhr:
570
+ type: boolean
571
+ description: Block XHR.
572
+ block_fetch:
573
+ type: boolean
574
+ description: Block Fetch.
575
+ block_event_source:
576
+ type: boolean
577
+ description: Block EventSource.
578
+ block_web_socket:
579
+ type: boolean
580
+ description: Block WebSocket.
581
+ block_manifest:
582
+ type: boolean
583
+ description: Block manifest.
584
+ block_specific_requests:
585
+ type: string
586
+ description: Specific requests to block.
587
+ blur_selector:
588
+ type: string
589
+ description: CSS selectors to blur.
590
+ remove_selector:
591
+ type: string
592
+ description: CSS selectors to remove.
593
+ scroll_to_element:
594
+ type: string
595
+ description: Element to scroll to.
596
+ selector:
597
+ type: string
598
+ description: CSS selector to capture.
599
+ selector_to_click:
600
+ type: string
601
+ description: Element to click.
602
+ click_recursion:
603
+ type: integer
604
+ description: Click count.
605
+ result_file_name:
606
+ type: string
607
+ description: Custom filename.
608
+ user_agent:
609
+ type: string
610
+ description: Custom User-Agent.
611
+ accept_languages:
612
+ type: string
613
+ description: Accept-Language.
614
+ proxy:
615
+ type: string
616
+ description: Proxy config.
617
+ headers:
618
+ type: string
619
+ description: Custom headers.
620
+ cookies:
621
+ type: string
622
+ description: Cookies.
623
+ custom_html:
624
+ type: string
625
+ description: Custom HTML.
626
+ fail_on_error:
627
+ type: boolean
628
+ description: Fail on 4xx/5xx.
629
+ longitude:
630
+ type: number
631
+ format: float
632
+ description: Geolocation longitude.
633
+ latitude:
634
+ type: number
635
+ format: float
636
+ description: Geolocation latitude.
637
+ scrolling_screenshot:
638
+ type: boolean
639
+ description: Scrolling mode.
640
+ scroll_speed:
641
+ type: string
642
+ enum:
643
+ - normal
644
+ - fast
645
+ - slow
646
+ description: Scroll speed.
647
+ duration:
648
+ type: number
649
+ description: Duration in seconds.
650
+ scroll_back:
651
+ type: boolean
652
+ description: Scroll back.
653
+ start_immediately:
654
+ type: boolean
655
+ description: Start immediately.
656
+ multiple_scrolling:
657
+ type: boolean
658
+ description: Multiple scrolling.
659
+ sizes:
660
+ type: array
661
+ items:
662
+ type: string
663
+ description: Viewport sizes.
664
+ video:
665
+ type: boolean
666
+ description: Video recording.
667
+ BulkScreenshotMetaData:
668
+ type: object
669
+ description: Metadata about the bulk screenshot request results.
670
+ required:
671
+ - total_urls
672
+ - successful_urls
673
+ - failed_urls
674
+ properties:
675
+ total_urls:
676
+ type: integer
677
+ description: Total number of URLs processed.
678
+ successful_urls:
679
+ type: integer
680
+ description: Number of URLs successfully processed.
681
+ failed_urls:
682
+ type: integer
683
+ description: Number of URLs that failed to process.
684
+ BulkScreenshotResponse:
685
+ type: object
686
+ description: Bulk screenshot response containing status, metadata, and per-URL results.
687
+ required:
688
+ - status
689
+ - meta_data
690
+ - results
691
+ properties:
692
+ status:
693
+ type: string
694
+ description: API request status indicator (success).
695
+ meta_data:
696
+ $ref: '#/components/schemas/BulkScreenshotMetaData'
697
+ results:
698
+ $ref: '#/components/schemas/BulkScreenshotResults'
699
+ BulkScreenshotResults:
700
+ type: array
701
+ description: Array of per-URL results, one entry per requested URL, in the same order as the request. Each entry's `url` field holds either screenshot data or an error object.
702
+ items:
703
+ $ref: '#/components/schemas/BulkScreenshotSuccessItem'
704
+ ErrorResponse:
705
+ type: object
706
+ description: Standard error envelope returned by the API on failed requests.
707
+ required:
708
+ - message
709
+ properties:
710
+ error:
711
+ type: string
712
+ description: Short error category or exception type.
713
+ message:
714
+ type: string
715
+ description: Human-readable error message describing the failure.
716
+ path:
717
+ type: string
718
+ description: API endpoint path that produced the error.
719
+ status:
720
+ type: integer
721
+ description: HTTP status code returned with the error.
722
+ timestamp:
723
+ type: string
724
+ format: date-time
725
+ description: Timestamp when the error occurred (ISO 8601).
726
+ security:
727
+ - ApiKeyAuthHeader: []
728
+ - ApiKeyAuthQuery: []