npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@webseite-herunterladen/screenshot-capture-api

v1.0.29

Published

screenshot-capture-api.com Screenshot Capture is a very simple but powerful screenshot API that anyone can easily use to create pixel-perfect website screenshots. It always uses a recent version of Chrome to ensure that all modern web features are fully s

Downloads

4

Readme

screenshot-capture-api.com Screenshot Capture API

screenshot-capture-api.com Screenshot Capture API is a very simple but powerful screenshot API that anyone can easily use to create pixel-perfect website screenshots. It always uses a recent version of Chrome to ensure that all modern web features are fully supported and rendering is exactly as your customers would expect.

This SDK is automatically generated by the OpenAPI Generator project:

API Token

This interface requires prior registration at: screenshot-capture-api.de Then you can get the access token in the self-service backoffice. At the start of the account you currently receive 150 credits free of charge. So you can start right away.

Happy Coding!

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install screenshot_capture_api --save

git

If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var ScreenshotCaptureApi = require('screenshot_capture_api');

var api = new ScreenshotCaptureApi.ScreenshotApi()
var token = "token_example"; // {String} A valid token is needed to make paid API calls. Tokens can be managed from your account.
var hash = "hash_example"; // {String} The hash value is for authenticated requests. If you want to publish this URL, you should use the authenticated requests.
var url = "url_example"; // {String} The URL of the website you want to capture. Please include the protocol (http:// or https://).
var opts = { 
  'fileType': "png", // {String} The image file format of the captured screenshot. Either png, jpeg, webp or PDF with 72 dpi.
  'ttl': 789, // {Number} Number of seconds the capture file is cached by our CDN. An API request that is loaded through the cache does not count as a paid request. You can set a number of seconds from 0 seconds up to 2592000 seconds. This is a maximum of 30 days.
  'invalidate': true, // {Boolean} Force the API to invalidate the cache and capture a new screenshot. This call costs you additional money, because a call of a cache hit is not charged.
  'full': true, // {Boolean} Set this parameter to true if you want to screenshot the whole web page in full size.
  'lazyloadScroll': false, // {Boolean} Set this parameter to true to scroll down through the entire page before taking a screenshot. This is useful for triggering animations or lazy load elements in full screen.
  'delay': 789, // {Number} The delay in milliseconds to wait after the page loads before taking the screenshot. This is in milliseconds. One second is 1000 milliseconds. From 0 milliseconds to a maximum of 10,000 milliseconds.
  'width': 1920, // {Number} The width, in pixels, of the browser viewport to use.
  'height': 1080, // {Number} The height, in pixels, of the browser viewport to use. Ignored if you set full to true.
  'quality': 90, // {Number} The quality of the image between 0 and 100. This works only for the jpeg format, for PNG images the parameter is applied only during compression.
  'scale': 1.0, // {Number} The scale factor of the device to use when taking the screenshot. For example, a scale factor of 2 produces a high-resolution screenshot suitable for viewing on Retina devices. The larger the scale factor, the larger the screenshot produced.
  'x': 0, // {Number} The starting point of a section screenshot on the X axis.
  'y': 0, // {Number} The starting point of a section screenshot on the Y axis.
  'redirect': false, // {Boolean} If you set Redirect, the response will be a 302 redirect to the screenshot file in our CDN.
  'language': "language_example", // {String} Sets the Accept-Language header on requests to the target URL so that you can take screenshots from a website with a specific language.
  'randomUserAgent': false, // {Boolean} Sets a random user agent header to emulate a different devices when taking screenshots.
  'userAgent': "userAgent_example", // {String} Sets the user agent header to emulate a specific device when taking screenshots.
  'headers': "headers_example", // {String} A semicolon-separated list of header parameters to be used when capturing the screenshot. Each header should be passed as a key-value pair and multiple pairs should be separated by a semicolon.
  'cookies': "cookies_example", // {String} A semicolon-separated list of cookies to be used when capturing the screenshot. Each cookies should be passed as a key-value pair and multiple pairs should be separated by a semicolon.
  'css': "css_example", // {String} Inject your custom CSS.
  'js': "js_example", // {String} Inject your custom Javascript.
  'wait': "wait_example", // {String} Wait until the specified CSS selector matches an element present in the page before taking a screenshot. The process is canceled after 60 seconds.
  'element': "element_example", // {String} Takes a screenshot of the first element matched by the specified CSS selector. This is ignored if full is true. (This option cannot be used with the PDF export format.)
  'timezone': "Europe/Berlin", // {String} The IANA time zone identifier used for this capture.
  'device': "device_example", // {String} The device used in the emulation.
  'latitude': 0.0, // {Number} The latitude used in the emulation of the geo-location.
  'longitude': 0.0, // {Number} The longitude used in the emulation of the geo-location.
  'accuracy': 2.0, // {Number} The accuracy in meters used in the emulation of the geo-location.
  'proxy': "proxy_example", // {String} Use an address of a proxy server through which the screenshot should be taken. The proxy address should be formatted as http://username:[email protected]:31280
  'adblock': false, // {Boolean} Prevent ads from being displayed. Block requests from popular ad networks and hide frequent ads.
  'hideCookieBanners': false // {Boolean} Prevent cookie banners and pop-ups from being displayed. The best possible result is tried.
};
var callback = function(error, data, response) {
  if (error) {
    console.error(error);
  } else {
    console.log('API called successfully. Returned data: ' + data);
  }
};
api.captureScreenshotAuthenticated(token, hash, url, opts, callback);

Documentation for API Endpoints

All URIs are relative to https://api.screenshot-capture-api.com/v1

Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- ScreenshotCaptureApi.ScreenshotApi | captureScreenshotAuthenticated | GET /capture/{token}/{hash} | ScreenshotCaptureApi.ScreenshotApi | captureScreenshotUnauthenticated | GET /capture/{token} |

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.