Web Browser as a Service

PhantomJsCloud is a crash proof and problem free cloud of Headless Browser instances. Simple to use, no-install required.
What is PhantomJsCloud?
A web-browser hosted as a service, using Chrome (via Puppeteer or PhantomJs) to render your javascript heavy webpages as HTML, PDF, JPEG, PNG, or JSON.
A high performance Cloud of Puppeteer and PhantomJS instances capable of processing more than 1 million requests per hour.
A Simple and well documented HTTP based API allowing you to request and obtain your pages from any programming language.
A complete browser automation platform allowing clicking, typing and navigation. Useful for filling online forms, test websites, extract data.
A Headless Browser Software-as-a-Service (SaaS) that's free for light use, and cheap for heavy use.
What can you do with it?
Generate ScreenShots of WebSites or HTML you upload.
Example
Render a thumbnail of a website.
This example creates a thumbnail of the BBC News front page
Example
Inject external script that modifies the page.
This example highlights the word "Example". More details here.
Example
Generate and render PDF reports from HTML.
Example
Automate Page Logins
This example logs in, then snapshots the final page as jpeg, returning data in JSON format.
Example
... And More!
Read the Docs

See the "Advanced Scenario Samples" section for Page Automation, AutoLogin, etc.


What are the Features?

Puppeteer without the problems It just works!

How many times have you struggled to get Puppeteer or PhantomJs to render your page properly? PhantomJsCloud manages all that complexity, giving you the right results the first time. No crashing from memory leaks, and no blank pages from missing Fonts or AJAX requests.

Results just like what you see in your browser

Most website scraping tools do not load resources or execute JavaScript the way browsers do. Because of this, the results of data extraction is usually sub-par. PhantomJsCloud solves this by acting just like a browser (because it is a browser!) loading and executing resources in exactly the same way as a normal web user.

Total control of the page and it's output

Because PhantomJsCloud is a Browser as an API you are provided with total control of the input and resources loaded.

  • Resource Modification: Control all resources loaded by the page (js, images, fonts, trackers, etc). This allows to deny resources, replace them, or inject additional scripts for execution. See the ResourceModifier API Doc section for more details.

Low Price

Each request is billed at $0.15/Hour and $0.25/GB Output. This is around $0.000095/Page, or about $1.00 for every 10,500 pages. Subscribers get a volume discount, making it even cheaper. See Pricing for details.

Built-in Proxy System

Using a proxy allows you to control the IP Address that your browser requests use. While you can use a custom proxy, we also have a built in proxy to handle common needs. Docs for the builtin proxy solution can be found here.

Built-in Proxy Choices:

  • Random IP Address: Use a random IP Address from around the world, or pick a specific country. Here's an example.
  • Static IP (35.188.112.61) from the USA: Allows whitelisting the PhantomJS Cloud service in your firewall. Here's an example.
Fast Performance, Parallel Processing Don't block waiting on your slow local instance.

Our service adds about 200ms to the overhead of a normal browser request. As PhantomJsCloud is geographically distributed (East Asia, USA, and Western Europe), this means that you'll always get fast results no matter where you or your target page are located. If you have a high number of pages to render (millions), PhantomJsCloud will automatically spin-up backend workers when demand increases. Please see the API Docs "Testing and Performance Optimization" Section for more details.

Enterprise Ready

PhantomJsCloud has proven reliability: greater than 99.999% uptime (View Uptime Report). If you need additional Enterprise-grade features like a Private Cloud + SLA or a Premium Support Plan, please see our Enterprise Features Page.



Want Technical Details?

Executes all JavaScript (AJAX) Prior to Rendering

Scraping the raw HTML source of a page is fast, but if you want to execute the page's JavaScript, you need to use a browser to ensure it's executed the same way a user would see it. PhantomJsCloud uses PhantomJS WebKit instances to fully load resources and execute scripts prior to scraping it's contents.

Capture formats to meet your needs

We support many different output formats to meet your needs:

  • PLAINTEXT

    For Web Content Scraping.

    If you need a page's fully rendered DOM, simplly saving the HTML source won't cut it. Use our REST API with this output format (the default) and scrape the resulting HTML as usual. The page's JavaScript will be fully executed, and all DOM transformations completed.

  • JPEG / PNG

    For visual inspection.

    If you need to generate page previews, archive screenshots, or create thumbnails, this renders the page sends the result as JPEG or PNG.

  • PDF

    For Archiving and Reports.

    Create a PDF of the page or uploaded HTML, including all images, svg graphics, headers and footers.

  • HTML / RAW

    Returns the target page in it's "native" form, including all response headers intact.

    Useful for generating static versions of your Single-Page-App / AJAX Data, or for proxied requests. Very useful for SEO of Facebook / Twitter / Yahoo / Bing web bots.

  • JSON

    For access to page Metadata and greatest flexibility

    When outputting in JSON, you not only get your HTML, PDF, IMAGE, or RAW result, but are also sent full details about sub-resource load times, page response codes, and even the exact settings you used to make the request.

  • AUTOMATION

    A special JSON output for advanced users, allowing unparalleled control over the browser:

    • Simulate Human Input: Keyboard, Mouse, Touchscreen
    • Multi-page Navigation: Login, follow dynamic links, etc.
    • Multiple Renders:Screenshot, pdf, html/text extraction. when and how many you want.
    • Puppeteer Support: Most Pptr API's are implemented in a secure ES2018 sandbox
Robust features that work.

If you have ever tried to use open-source headless browsers like Slimer.js or Phantom.js, You'll know that simple things like "Did the page finish loading?" are difficult problems to solve. PhantomJsCloud solves these problems for you so you can focus on other things.

With PhantomJsCloud, here's just a few of the things we take care of for you:

  • Get the all the page contents as soon as it's finished loading: not before, not after.
  • Follow page redirects automatically.
  • Extract the contents of IFrames regardless of cross-site security
  • High quality fonts for image rendering
  • Script Injection to process the page before rendering.
  • Generate and render dynamic content, no URL required.
  • Rich page metadata is returned to you.
  • Detailed error logs if your page fails for any reason
  • High quality API Documentation
Configurable settings for each page requested

Most PhantomJS settings and rendering options are exposed through our REST API, and are configurable per page-request.

Export IFrame Content: Choose to Capture your page as JSON to get the contents of every IFrame, regardless of cross-site security restrictions. Read the PageRequest.renderSettings.renderIFrame docs for more details.

Blacklist or replace sub-resources of the page like .css files or ad network scripts.

CORS and JSONP is supported, allowing you to use the PhantomJs Cloud service directly in your web application.