Exciting News! Enpose and its powerful screenshot API service is now becoming part of screenshotlayer.com, the industry-leading website screenshot API platform.
To continue using our free or paid API service, please set up your screenshotlayer account now.
Get Free API Access

Learn how to use Enpose

Getting started

Welcome to Enpose! Here you can find out exactly how to use Enpose to capture screenshots. If you don't yet have an account, you can start a free trial now!

Enpose doesn't require you to make typical API requests to capture screenshots. You simply add a special URL to your website wherever you want the screenshot to be displayed, and we'll put one there

Registering sites

In order to prevent other people using your Enpose account, we need you to add any sites you wish to screenshot to your Dashboard. This means that even if somebody were to run off with your API key and start taking screenshots, they'd only be able to screenshot your site.

Here's how to add a site:

  1. Go to your Dashboard
  2. Under "My sites", click the "Add a site" button
  3. Enter a website and hit enter!

Capturing/displaying screenshots

All you need to do to capture a screenshot is enter the link wherever you want it displayed on your website, like this...

<img src="http://e.enpose.co/?key=your key&url=page to screenshot" />

You could display it with CSS...

.myElement {
    background-image: url(http://e.enpose.co/?key=your key&url=page to screenshot);

Or try using it as an Open Graph image...

<meta property="og:image" content="http://e.enpose.co/?key=your key&url=page to screenshot" />

The possibilities are virtually endless .

Understanding caching

Enpose automatically stores the screenshots you capture, then reuses them whenever it can. If possible, Enpose will always display a cached screenshot, but if it detects it's more than a certain age, it'll refresh the image for next time (you can prevent this if you want —┬áread about disabling auto refresh).

All plans have unlimited requests meaning you can fetch as many screenshots from the cache as you like. You're only limited on how many new captures you make.

If you want to force a screenshot to be updated, you can use the force capture option, but use it carefully as overuse could result in your app running slowly and will also use more of the screenshots available on your plan.

On the Basic plan, screenshots will be automatically refreshed after 24 hours. On the Professional plan, they refresh after 6 hours. See more about the differences between Enpose's plans on the Pricing page.

Screenshot options

Controlling your screenshot is done entirely with URL parameters. All the available options are listed below.

All options

Option Parameter Default Info
URL url None This is required for all screenshots. Use this to set the page you want to capture. We recommend putting this last in your screenshot link to ensure it doesn't mess with any other options.
Key key None This is required for all screenshots. This sets your unique API key.
Dimensions w, h w=1280, h=800 Set the width and height of the screenshot Enpose gives you.
Viewport vpWidth, vpHeight vpWidth=1280, vpHeight=800 Adjusting the viewport essentially does the same things as adjusting the window size in your browser. If not set, it will just use the w and h values that are set for the screenshot dimensions.
Margins marginTop, marginLeft marginTop=0, marginLeft=0 By combining margin adjustment with width, height and viewport sizing you can screenshot almost any part of a webpage if you know where it is.
Wait for page to load wait false Set this option to true, and Enpose will wait until the page has loaded completely before it captures it. This is handy for webpages with lots of images. We recommend not using this wherever possible as it will slow down the screenshot request significantly.
Timed capture delay 0 This is similar to the wait option, however you get to set the delay before Enpose takes the screenshot. This accepts a seconds value up to 10. Again, we recommend not using this excessively as it could make taking a screenshot very slow.
Force capture force false Enpose stores all the screenshots you take so that if you request the same one again, it'll be able to almost instantly deliver an image making things heaps faster. If you want to force Enpose to capture a new screenshot and not fetch the stored one, use this option. Read more about caching
Auto refresh autoRefresh true If Enpose detects a screenshot is old when one is requested, it'll display the old shot but refresh it for next time. If you use autoRefresh=false in your screenshot URL, the screenshot will not be refreshed. Read more about caching
Background bg ffffff This sets the background colour of the webpage you're screenshotting. It accepts a HEX colour (do not include the #).

Have an option you'd like added? Let us know


Screenshot any site

If you'd prefer not to have to register every site you wish to screenshot beforehand, you can use your secret key to authorise screenshots. Here's an example...

This is your public key
&secret=<?php echo md5('
This is your secret key
'.'page to screenshot'); ?>&url=page to screenshot

When Enpose detects you've used the MD5 of your secret key and the URL it will allow you to screenshot ANY website, regardless of whether you have it registered in the dashboard or not.

In the code above is your account's secret key. Never share your secret key with anyone, or display it publically. If your secret key is found to be being used inappropriately your account may be disabled.

You must always use the MD5 of your secret key and the site you wish to screenshot. See how to do this in PHP

Checking your usage

If you want to check your usage via the API, head to the following URL...


Open link

The page will return some JSON with details on how much of your available screenshots you've used and when your allowance will reset.

You can always check your usage on your dashboard if you prefer a more human-friendly interface.

Tech specs

Enpose's screenshot engine uses PhantomJS. It's currently hosted on a DreamHost VPS (we're migrating to AWS soon). The majority of the application is built with PHP.

Have a question or suggestion? We'd love to hear from you!

Need some more help?

PLEASE don't hesitate to contact us. You can even call if you want.

Get in touch

Start your 14 day free trial

Use all features for 14 days, no credit card required.

Try it FREE
Enpose has delivered 0 screenshots to its customers