Add the waitFor and waitTimeout parameters. waitFor is a string that will be evaluated periodically within the phantomjs browser; if specified, screenshot-as-a-service won't take the screenshot until waitFor evaluates to true. Example: "function() {return Config.get('loaded') == true}" -- note, you must URI encode it. waitForTimeout specifies a maximum time to wait before giving up and rendering the screenshot anyway.