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

urlbox

v2.2.0

Published

Generate website screenshots, PDFs and other renders from URLs or HTML using the urlbox website screenshot API

Downloads

28,053

Readme

urlbox-node

Quickly generate screenshots, PDFs and other renders using the urlbox screenshot as a service API.

Signup at Urlbox to get an API key and secret.

Installation

npm install urlbox --save

Example

import Urlbox from "urlbox";

// Get your API key and secret from urlbox.com
const urlbox = Urlbox(YOUR_API_KEY, YOUR_API_SECRET);

// See all urlbox screenshot options at urlbox.com/docs
const options = {
  url: "github.com",
  thumb_width: 600,
  format: "jpg",
  quality: 80,
};

const imgUrl = urlbox.generateRenderLink(options);
// https://api.urlbox.io/v1/YOUR_API_KEY/TOKEN/jpg?url=github.com&thumb_width=600&quality=80

Now stick that url in an img tag to render the screenshot!

Urlbox Screenshot of github.com

Available options:

| Option | Default | Description | | --------------- | ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | url | - | The URL of the website you want to screenshot | | width | 1280 | Viewport width of the browser in pixels | | height | 1024 | Viewport height of the browser in pixels | | selector | - | Take a screenshot of the element that matches this selector | | thumb_width | - | Width in pixels of the generated thumbnail, leave off for full-size screenshot | | format | png | Format of the resulting screenshot image (png or jpg) | | user_agent | - | User-Agent string used to emulate a particular client. | | cookie | - | Set a cookie value before taking a screenshot. E.g. OptIn=true. Can be set multiple times to set more than one cookie. | | delay | - | Amount of time to wait in milliseconds before urlbox takes the screenshot | | wait_for | - | Waits for the element specified by this selector to be visible on the page before taking a screenshot | | timeout | 30000 | Amount of time to wait in milliseconds for the website at url to respond | | full_page | false | Specify whether to capture the full-length of the website | | flash | false | Enable the flash plugin for flash using websites | | force | false | Take a fresh screenshot instead of getting a cached version | | ttl | 2592000 (30 days) | Short for 'time to live'. Number of seconds to keep a screenshot in the cache. Note the default is also the maximum value for this option. | | quality | 80 | JPEG only - image quality of resulting screenshot (0-100) | | disable_js | false | Turn off javascript on target url to prevent popups | | retina | false | Take a 'retina' or high definition screenshot equivalent to setting a device pixel ratio of 2.0 or @2x. Please note that retina screenshots will be double the normal dimensions and will normally take slightly longer to process due to the much bigger image size. | | click | - | Element selector that is clicked before taking a screenshot e.g. #clickme would click the element with id="clickme" | | hover | - | Element selector that is hovered before taking a screenshot e.g. #hoverme would hover over the element with id="clickme" | | bg_color | - | Hex code or css color string. Some websites don't set a body background colour, and will show up as transparent backgrounds with PNG or black when using JPG. Use this setting to set a background colour. If the website explicitly sets a transparent background on the html or body elements, this setting will be overridden. | | crop_width | - | Crop the width of the screenshot to this size in pixels | | hide_selector | - | Hides all elements that match the element selector by setting their style to display:none !important;. Useful for hiding popups. | | highlight | - | Word to highlight on the page before capturing a screenshot | | highlightfg | white | Text color of the highlighted word | | highlightbg | red | Background color of the highlighted word | | use_s3 | false | Save the screenshot directly to the S3 bucket configured on your account |