The Third Party Resources Checker is a tool to detect and non-whitelisted resources in a Web page.

Usage no npm install needed!

<script type="module">
  import thirdPartyResourcesChecker from '';


npm version License Build Status Coverage Status Dependency Status devDependency Status

Third Party Resources Checker

This PhantomJS-based tool loads a given URL and logs on the standard output any URL (one per line) the page requests while loading that is not a nor a whitelisted URL (as defined in the whitelisted_domains variable).

It is a component of the W3C automated publication workflow, orchestrated by Echidna.


Install the dependencies by running npm install.



The checker can be run standalone via the command line:

  Usage: third-party-resources-checker [options] URI


    -h, --help                  output usage information
    -V, --version               output the version number
    -w, --whitelist <filename>  optional JSON file containing URIs and domains that are deemed OK


    $ third-party-resources-checker
    $ third-party-resources-checker -w whitelist.json

As a module

The checker can also be run as a module. require('third-party-resources-checker') exposes a single check function:

check(uri, [whitelist]);

It returns a Promise of a tuple (as a JavaScript Array):

  • The first element is the exit code
  • The second element is an Array of String, each of them being an external resource

Whitelist format

When used standalone, the whitelist must be written in a JSON file. When used as a module, it must be given to the check() function as a JavaScript object literal. In both cases, its format is the following:

    "domains": [
    "urls": [