diff --git a/samples/README.md b/samples/README.md
new file mode 100644
index 0000000..b2fbcbc
--- /dev/null
+++ b/samples/README.md
@@ -0,0 +1,402 @@
+# Samples by API
+
+## ![](http://www.google.com/images/icons/product/doubleclick-32.gif) Ad Exchange Buyer API
+
+Lets you manage your Ad Exchange Buyer account.
+
+Documentation for the Ad Exchange Buyer API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/adexchangebuyer/v1.3/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="adexchangebuyer">samples/adexchangebuyer</a></td>
+    <td>Samples for working with the Ad Exchange Buyer API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/adsense-32.png) AdSense Management API
+
+Gives AdSense publishers access to their inventory and the ability to generate
+reports.
+
+Documentation for the AdSense Management API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/adsense/v1.3/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="adsense">samples/adsense</a></td>
+    <td>Collection of command-line samples for the AdSense Management API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/analytics-32.png) Google Analytics API
+
+View and manage your Google Analytics data.
+
+Documentation for the Google Analytics API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/analytics/v3/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="analytics">samples/analytics</a></td>
+    <td>Command-line samples for producing reports with the Analytics API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) Enterprise Audit API
+
+Lets you access user activities in your enterprise made through various
+applications.
+
+Documentation for the Enterprise Audit API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/audit/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="audit">samples/audit</a></td>
+    <td>Prints the activities for a domain using the Audit API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/blogger-32.png) Blogger API
+
+API for access to the data within Blogger.
+
+Documentation for the Blogger API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/blogger/v3/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="blogger">samples/blogger</a></td>
+    <td>Retrieve the list of blogs and their posts for a user</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) Google Maps Coordinate API
+
+Lets you view and manage jobs in a Coordinate team.
+
+Documentation for the Google Maps Coordinate API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/coordinate/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="coordinate">samples/coordinate</a></td>
+    <td>Demonstrates how to use the Google Coordinate API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) CustomSearch API
+
+Lets you search over a website or collection of websites.
+
+Documentation for the CustomSearch API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/customsearch/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="customsearch">samples/customsearch</a></td>
+    <td>Search from the command-line</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/feature/filing_cabinet_search-g32.png) APIs Discovery Service
+
+Lets you discover information about other Google APIs, such as what APIs are
+available, the resource and method details for each API.
+
+Documentation for the APIs Discovery Service in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/discovery/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="api-python-client-doc">samples/api-python-client-doc</a></td>
+    <td>
+    Application serving up the Python help documentation for each API
+    (see <a href="http://api-python-client-doc.appspot.com/">here</a>)
+    </td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) Groups Settings API
+
+Lets you manage permission levels and related settings of a group.
+
+Documentation for the Groups Settings API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/groupssettings/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="groupsettings">samples/groupsettings</a></td>
+    <td>Sample for the Groups Settings API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/gplus-32.png) Google+ API
+
+The Google+ API enables developers to build on top of the Google+ platform.
+
+Documentation for the Google+ API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/plus/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="appengine">samples/appengine</a></td>
+    <td>Demonstrates the people API and OAuth 2.0 decorator for Google App
+    Engine applications</td>
+  </tr>
+  <tr>
+    <td><a href="plus">samples/plus</a></td>
+    <td>Loop over all a user's activities and print a short snippet</td>
+  </tr>
+  <tr>
+    <td><a href="django_sample">samples/django_sample</a></td>
+    <td>Demonstrates oauth2client and the Google+ API from Django</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/feature/predictionapi-32.png) Prediction API
+
+Lets you access a cloud hosted machine learning service that makes it easy to
+build smart apps
+
+Documentation for the Prediction API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/prediction/v1.6/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="prediction">samples/prediction</a></td>
+    <td>Command-line application that trains on your input data</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) Search API For Shopping
+
+Lets you search over product data.
+
+Documentation for the Search API For Shopping in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/shopping/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="searchforshopping">samples/searchforshopping</a></td>
+    <td>Demonstrates the query capabilities for the Search API for Shopping</td>
+  </tr>
+</table>
+
+## ![](https://www.google.com/images/icons/product/cloud_storage-32.png) Cloud Storage API
+
+Lets you store and retrieve potentially-large, immutable data objects.
+
+Documentation for the Cloud Storage API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/storage/v1beta2/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="storage">samples/storage</a></td>
+    <td>Uploads and downloads files between Google Cloud Storage and the local
+    filesystem using the Google APIs Python Client Library</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/tasks-32.png) Tasks API
+
+Lets you manage your tasks and task lists.
+
+Documentation for the Tasks API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/tasks/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="tasks_appengine">samples/tasks_appengine</a></td>
+    <td>Sample code for the guide
+    <a href="https://cloud.google.com/appengine/articles/python/getting_started_with_tasks_api">
+    Getting Started with Google Tasks API</a></td>
+  </tr>
+  <tr>
+    <td><a href="service_account">samples/service_account</a></td>
+    <td>Demonstrates working with service accounts</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/translate-32.png) Translate API
+
+Lets you translate text from one language to another.
+
+Documentation for the Translate API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/translate/v2/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="translate">samples/translate</a></td>
+    <td>Demonstrates the Translate API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/search-32.gif) URL Shortener API
+
+Lets you create, inspect, and manage `goo.gl` short URLs.
+
+Documentation for the URL Shortener API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/urlshortener/v1/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="urlshortener">samples/urlshortener</a></td>
+    <td>Shortens a URL with the URL Shortener API</td>
+  </tr>
+</table>
+
+## ![](http://www.google.com/images/icons/product/youtube-32.png) YouTube Data API
+
+Programmatic access to YouTube features.
+
+Documentation for the YouTube Data API in
+[PyDoc](https://google-api-client-libraries.appspot.com/documentation/youtube/v3/python/latest/).
+
+<table>
+  <tr>
+    <td><a href="youtube">samples/youtube</a></td>
+    <td>Demonstrates YouTube APIs</td>
+  </tr>
+</table>
+
+# Pagination Samples
+
+<table>
+  <tr>
+    <td><a href="plus">samples/plus</a></td>
+    <td>Loop over all a user's activities and print a short snippet</td>
+  </tr>
+</table>
+
+# OAuth 2.0 Samples
+
+<table>
+  <tr>
+    <td><a href="appengine">samples/appengine</a></td>
+    <td>Demonstrates the people API and OAuth 2.0 decorator for Google App
+    Engine applications</td>
+  </tr>
+  <tr>
+    <td><a href="django_sample">samples/django_sample</a></td>
+    <td>Demonstrates oauth2client and the Google+ API from Django</td>
+  </tr>
+  <tr>
+    <td><a href="service_account">samples/service_account</a></td>
+    <td>Demonstrates working with service accounts</td>
+  </tr>
+</table>
+
+# Media Upload and Download Samples
+
+<table>
+  <tr>
+    <td><a href="storage">samples/storage</a></td>
+    <td>Uploads and downloads files between Google Cloud Storage and the local
+    filesystem using the Google APIs Python Client Library</td>
+  </tr>
+  <tr>
+    <td><a href="youtube">samples/youtube</a></td>
+    <td>Demonstrates YouTube APIs</td>
+  </tr>
+</table>
+
+# Django Samples
+
+<table>
+  <tr>
+    <td><a href="django_sample">samples/django_sample</a></td>
+    <td>Demonstrates oauth2client and the Google+ API from Django</td>
+  </tr>
+</table>
+
+# Command-line Samples
+
+<table>
+  <tr>
+    <td><a href="adexchangebuyer">samples/adexchangebuyer</a></td>
+    <td>Samples for working with the Ad Exchange Buyer API</td>
+  </tr>
+  <tr>
+    <td><a href="adsense">samples/adsense</a></td>
+    <td>Collection of command-line samples for the AdSense Management API</td>
+  </tr>
+  <tr>
+    <td><a href="analytics">samples/analytics</a></td>
+    <td>Command-line samples for producing reports with the Analytics API</td>
+  </tr>
+  <tr>
+    <td><a href="audit">samples/audit</a></td>
+    <td>Prints the activities for a domain using the Audit API</td>
+  </tr>
+  <tr>
+    <td><a href="blogger">samples/blogger</a></td>
+    <td>Retrieve the list of blogs and their posts for a user</td>
+  </tr>
+  <tr>
+    <td><a href="coordinate">samples/coordinate</a></td>
+    <td>Demonstrates how to use the Google Coordinate API</td>
+  </tr>
+  <tr>
+    <td><a href="customsearch">samples/customsearch</a></td>
+    <td>Search from the command-line</td>
+  </tr>
+  <tr>
+    <td><a href="groupsettings">samples/groupsettings</a></td>
+    <td>Sample for the Groups Settings API</td>
+  </tr>
+  <tr>
+    <td><a href="plus">samples/plus</a></td>
+    <td>Loop over all a user's activities and print a short snippet</td>
+  </tr>
+  <tr>
+    <td><a href="prediction">samples/prediction</a></td>
+    <td>Command-line application that trains on your input data</td>
+  </tr>
+  <tr>
+    <td><a href="searchforshopping">samples/searchforshopping</a></td>
+    <td>Demonstrates the query capabilities for the Search API for Shopping</td>
+  </tr>
+  <tr>
+    <td><a href="storage">samples/storage</a></td>
+    <td>Uploads and downloads files between Google Cloud Storage and the local
+    filesystem using the Google APIs Python Client Library</td>
+  </tr>
+  <tr>
+    <td><a href="translate">samples/translate</a></td>
+    <td>Demonstrates the Translate API</td>
+  </tr>
+  <tr>
+    <td><a href="urlshortener">samples/urlshortener</a></td>
+    <td>Shortens a URL with the URL Shortener API</td>
+  </tr>
+  <tr>
+    <td><a href="youtube">samples/youtube</a></td>
+    <td>Demonstrates YouTube APIs</td>
+  </tr>
+</table>
+
+# Google App Engine Samples
+
+<table>
+  <tr>
+    <td><a href="api-python-client-doc">samples/api-python-client-doc</a></td>
+    <td>
+    Application serving up the Python help documentation for each API
+    (see <a href="http://api-python-client-doc.appspot.com/">here</a>)
+    </td>
+  </tr>
+  <tr>
+    <td><a href="appengine">samples/appengine</a></td>
+    <td>Demonstrates the people API and OAuth 2.0 decorator for Google App
+    Engine applications</td>
+  </tr>
+  <tr>
+    <td><a href="tasks_appengine">samples/tasks_appengine</a></td>
+    <td>Sample code for the guide
+    <a href="https://cloud.google.com/appengine/articles/python/getting_started_with_tasks_api">
+    Getting Started with Google Tasks API</a></td>
+  </tr>
+</table>
+
diff --git a/samples/adsense/README b/samples/adsense/README
deleted file mode 100644
index 84c604a..0000000
--- a/samples/adsense/README
+++ /dev/null
@@ -1,5 +0,0 @@
-A collection of command-line samples for the AdSense Management API.
-
-api: adsense
-keywords: cmdline
-uri: https://github.com/googleads/googleads-adsense-examples
diff --git a/samples/adsense/README.md b/samples/adsense/README.md
new file mode 100644
index 0000000..193380a
--- /dev/null
+++ b/samples/adsense/README.md
@@ -0,0 +1,5 @@
+# Where are the samples?
+
+The AdSense Management API samples are now hosted separately from the client
+library project. You can find them
+[here](https://github.com/googleads/googleads-adsense-examples).
diff --git a/samples/adsensehost/README b/samples/adsensehost/README
deleted file mode 100644
index ef374f2..0000000
--- a/samples/adsensehost/README
+++ /dev/null
@@ -1,5 +0,0 @@
-A collection of command-line samples for the AdSense Host API.
-
-api: adsensehost
-keywords: cmdline
-uri: https://github.com/googleads/googleads-adsensehost-examples
diff --git a/samples/adsensehost/README.md b/samples/adsensehost/README.md
new file mode 100644
index 0000000..a8c685e
--- /dev/null
+++ b/samples/adsensehost/README.md
@@ -0,0 +1,5 @@
+# Where are the samples?
+
+The AdSense Host API samples are now hosted separately from the client library
+project. You can find them
+[here](https://github.com/googleads/googleads-adsensehost-examples).
diff --git a/samples/storage/README b/samples/storage/README
deleted file mode 100644
index ff61bee..0000000
--- a/samples/storage/README
+++ /dev/null
@@ -1,7 +0,0 @@
-Uploads and downloads files between Google Cloud Storage and the local
-filesystem using the Google APIs Python Client Library.
-
-api: storage
-keywords: cmdline media
-uri: http://code.google.com/p/google-cloud-platform-samples/source/browse?repo=storage#git%252Ffile-transfer-json
-
diff --git a/samples/storage/README.md b/samples/storage/README.md
new file mode 100644
index 0000000..030bdda
--- /dev/null
+++ b/samples/storage/README.md
@@ -0,0 +1,6 @@
+# Where are the samples?
+
+The Google Cloud Storage API samples are now hosted separately
+from the client library project. You can find them
+[here](https://github.com/GoogleCloudPlatform/storage-file-transfer-json-python).
+
diff --git a/samples/youtube/README b/samples/youtube/README
deleted file mode 100644
index b67d3ba..0000000
--- a/samples/youtube/README
+++ /dev/null
@@ -1,5 +0,0 @@
-YouTube samples using the Google APIs Python Client Library.
-
-api: youtube
-keywords: cmdline media
-uri: https://code.google.com/p/youtube-api-samples/source/browse/#git%2Fsamples%2Fpython
diff --git a/samples/youtube/README.md b/samples/youtube/README.md
new file mode 100644
index 0000000..7c41f7a
--- /dev/null
+++ b/samples/youtube/README.md
@@ -0,0 +1,5 @@
+# Where are the samples?
+
+The YouTube API samples are now hosted separately
+from the client library project. You can find them
+[here](https://github.com/youtube/api-samples).
