diff --git a/appengine/headless-chrome/README.md b/appengine/headless-chrome/README.md
deleted file mode 100644
index 36ebb7fc99..0000000000
--- a/appengine/headless-chrome/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Headless Chrome on Google App Engine
-
-This sample application demonstrates how to use Headless Chrome via the [Puppeteer](https://developers.google.com/web/tools/puppeteer/) module to take screenshots of webpages on [Google App Engine](https://cloud.google.com/appengine) Node.js [standard environment](https://cloud.google.com/appengine/docs/standard/nodejs).
-
-## Running and deploying
-
-Refer to the [appengine/README.md](../README.md) file for instructions on running and deploying.
diff --git a/appengine/headless-chrome/app.js b/appengine/headless-chrome/app.js
deleted file mode 100644
index ef19b94db4..0000000000
--- a/appengine/headless-chrome/app.js
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2018 Google LLC
-
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-*/
-'use strict';
-
-// [START gae_std_headless_chrome_full_sample]
-const express = require('express');
-const puppeteer = require('puppeteer');
-const app = express();
-
-async function main() {
- // [START gae_std_headless_chrome_full_sample_browser]
- const browser = await puppeteer.launch({
- args: ['--no-sandbox'],
- });
- // [END gae_std_headless_chrome_full_sample_browser]
-
- app.use(async (req, res) => {
- const {url} = req.query;
-
- if (!url) {
- return res.send(
- 'Please provide URL as GET parameter, for example: ?url=https://example.com'
- );
- }
-
- const page = await browser.newPage();
- await page.goto(url);
- const imageBuffer = await page.screenshot();
-
- res.set('Content-Type', 'image/png');
- res.send(imageBuffer);
- });
-
- const server = app.listen(process.env.PORT || 8080, err => {
- if (err) {
- return console.error(err);
- }
- const {port} = server.address();
- console.info(`App listening on port ${port}`);
- });
- // [END gae_std_headless_chrome_full_sample]
-}
-
-main();
-
-module.exports = app;
diff --git a/appengine/headless-chrome/app.yaml b/appengine/headless-chrome/app.yaml
deleted file mode 100644
index 7e8eecf6da..0000000000
--- a/appengine/headless-chrome/app.yaml
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2018, Google LLC
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License
-
-# [START gae_std_headless_chrome_app_yaml]
-runtime: nodejs10
-instance_class: F4_1G
-# [END gae_std_headless_chrome_app_yaml]
diff --git a/appengine/headless-chrome/package.json b/appengine/headless-chrome/package.json
deleted file mode 100644
index 984b9fcb10..0000000000
--- a/appengine/headless-chrome/package.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "name": "headless-chrome-sample",
- "engines": {
- "node": ">=8.0.0"
- },
- "version": "1.0.0",
- "description": "An example of taking screenshot with Puppeteer (Headless Chrome) in Node.js on Google App Engine.",
- "scripts": {
- "start": "node app.js",
- "system-test": "repo-tools test app",
- "unit-test": "mocha test/*.test.js --timeout=30000",
- "test": "npm run unit-test && npm run system-test"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git"
- },
- "author": {
- "name": "Google LLC"
- },
- "license": "Apache-2.0",
- "dependencies": {
- "express": "^4.16.3",
- "puppeteer": "^1.2.0"
- },
- "devDependencies": {
- "@google-cloud/nodejs-repo-tools": "^3.3.0",
- "mocha": "^6.0.0"
- },
- "cloud-repo-tools": {
- "test": {
- "app": {
- "msg": "Please provide URL"
- }
- },
- "requiresKeyFile": true,
- "requiresProjectId": true
- }
-}
diff --git a/appengine/headless-chrome/test/app.test.js b/appengine/headless-chrome/test/app.test.js
deleted file mode 100644
index 70fea3cf0a..0000000000
--- a/appengine/headless-chrome/test/app.test.js
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2017, Google, Inc.
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-'use strict';
-
-const assert = require('assert');
-const path = require('path');
-const utils = require('@google-cloud/nodejs-repo-tools');
-
-const cwd = path.join(__dirname, '../');
-const requestObj = utils.getRequest({cwd: cwd});
-
-it('should return a screenshot', async () => {
- await requestObj
- .get('/?url=https://example.com')
- .send()
- .expect(200)
- .expect(response => {
- assert.strictEqual(response.type, 'image/png');
- assert.strictEqual(response.body instanceof Buffer, true);
- assert.strictEqual(response.body.length > 0, true);
- });
-});
diff --git a/functions/headless-chrome/index.js b/functions/headless-chrome/index.js
deleted file mode 100644
index 50110ebf64..0000000000
--- a/functions/headless-chrome/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/**
- * Copyright 2018, Google, Inc.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-'use strict';
-
-// [START functions_headless_chrome]
-const puppeteer = require('puppeteer');
-
-let page;
-
-async function getBrowserPage() {
- // [START start_browser]
- const browser = await puppeteer.launch({args: ['--no-sandbox']});
- // [END start_browser]
- return browser.newPage();
-}
-
-async function main() {
- page = await getBrowserPage();
-}
-
-main();
-
-exports.screenshot = async (req, res) => {
- const {url} = req.query;
-
- if (!url) {
- return res.send(
- 'Please provide URL as GET parameter, for example: ?url=https://example.com'
- );
- }
-
- await page.goto(url);
- const imageBuffer = await page.screenshot();
- res.set('Content-Type', 'image/png');
- res.send(imageBuffer);
-};
-// [END functions_headless_chrome]
diff --git a/functions/headless-chrome/package.json b/functions/headless-chrome/package.json
deleted file mode 100644
index 4616a9cc28..0000000000
--- a/functions/headless-chrome/package.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "name": "nodejs-docs-samples-functions-headless-chrome",
- "version": "0.0.1",
- "private": true,
- "license": "Apache-2.0",
- "author": "Google Inc.",
- "repository": {
- "type": "git",
- "url": "https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git"
- },
- "engines": {
- "node": ">=8.0.0"
- },
- "scripts": {
- "e2e-test": "export FUNCTIONS_CMD='gcloud beta functions' && sh test/updateFunctions.sh && BASE_URL=\"https://$GCF_REGION-$GCLOUD_PROJECT.cloudfunctions.net/\" && npm run test",
- "test": "mocha test/*.test.js --timeout=60000"
- },
- "dependencies": {
- "puppeteer": "^1.6.2"
- },
- "devDependencies": {
- "@google-cloud/nodejs-repo-tools": "^3.3.0",
- "mocha": "^6.0.0",
- "supertest": "^4.0.0"
- },
- "cloud-repo-tools": {
- "requiresKeyFile": true,
- "requiresProjectId": true,
- "requiredEnvVars": [
- "BASE_URL",
- "GCF_REGION",
- "FUNCTIONS_CMD"
- ]
- }
-}
diff --git a/functions/headless-chrome/test/index.test.js b/functions/headless-chrome/test/index.test.js
deleted file mode 100644
index 587995c475..0000000000
--- a/functions/headless-chrome/test/index.test.js
+++ /dev/null
@@ -1,37 +0,0 @@
-/**
- * Copyright 2017, Google, Inc.
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-const assert = require('assert');
-const tools = require('@google-cloud/nodejs-repo-tools');
-const supertest = require('supertest');
-
-const {BASE_URL} = process.env;
-
-before('Must specify BASE_URL', () => {
- assert.ok(BASE_URL);
- tools.checkCredentials();
-});
-
-it('screenshot: should return a screenshot', async () => {
- await supertest(BASE_URL)
- .get('/screenshot?url=https://example.com')
- .send()
- .expect(200)
- .expect(response => {
- assert.strictEqual(response.type, 'image/png');
- assert.strictEqual(response.body instanceof Buffer, true);
- assert.strictEqual(response.body.length > 0, true);
- });
-});
diff --git a/functions/headless-chrome/test/updateFunctions.sh b/functions/headless-chrome/test/updateFunctions.sh
deleted file mode 100644
index 508aa29139..0000000000
--- a/functions/headless-chrome/test/updateFunctions.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-# Shell script to emulate/deploy all Cloud Functions in the file
-
-${FUNCTIONS_CMD} deploy screenshot --trigger-http --runtime nodejs8 --memory 1024MB
\ No newline at end of file