diff --git a/CHANGELOG.md b/CHANGELOG.md
index 588d496..fa81ef3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -116,14 +116,14 @@
   Version 1.7.7
 
     Bugfix release
-    - Change xrange to range ([#601](https://github.com/google/google-api-python-client/pull/601))
-    - Typo in http.py exception message. ([#602](https://github.com/google/google-api-python-client/pull/602))
+    - Change xrange to range ([#601](https://github.com/googleapis/google-api-python-client/pull/601))
+    - Typo in http.py exception message. ([#602](https://github.com/googleapis/google-api-python-client/pull/602))
 
-    - Announce deprecation of Python 2.7 ([#603](https://github.com/google/google-api-python-client/pull/603))
-    - Updates documentation for stopping channel subscriptions ([#598](https://github.com/google/google-api-python-client/pull/598))
-    - Adding example for searchAppearance ([#414](https://github.com/google/google-api-python-client/pull/414))
+    - Announce deprecation of Python 2.7 ([#603](https://github.com/googleapis/google-api-python-client/pull/603))
+    - Updates documentation for stopping channel subscriptions ([#598](https://github.com/googleapis/google-api-python-client/pull/598))
+    - Adding example for searchAppearance ([#414](https://github.com/googleapis/google-api-python-client/pull/414))
 
-    - Add badges ([#455](https://github.com/google/google-api-python-client/pull/455))
+    - Add badges ([#455](https://github.com/googleapis/google-api-python-client/pull/455))
 
 ### v1.7.6
   Version 1.7.6
diff --git a/docs/epy/googleapiclient.http-pysrc.html b/docs/epy/googleapiclient.http-pysrc.html
index 85aad42..f214d69 100644
--- a/docs/epy/googleapiclient.http-pysrc.html
+++ b/docs/epy/googleapiclient.http-pysrc.html
@@ -1513,7 +1513,7 @@
 <a name="L1249"></a><tt class="py-lineno">1249</tt>  <tt class="py-line"> </tt>
 <a name="L1250"></a><tt class="py-lineno">1250</tt>  <tt class="py-line">        <tt class="py-comment"># NB: we intentionally leave whitespace between base/id and '+', so RFC2822</tt> </tt>
 <a name="L1251"></a><tt class="py-lineno">1251</tt>  <tt class="py-line">        <tt class="py-comment"># line folding works properly on Python 3; see</tt> </tt>
-<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">        <tt class="py-comment"># https://github.com/google/google-api-python-client/issues/164</tt> </tt>
+<a name="L1252"></a><tt class="py-lineno">1252</tt>  <tt class="py-line">        <tt class="py-comment"># https://github.com/googleapis/google-api-python-client/issues/164</tt> </tt>
 <a name="L1253"></a><tt class="py-lineno">1253</tt>  <tt class="py-line">        <tt class="py-keyword">return</tt> <tt class="py-string">"&lt;%s + %s&gt;"</tt> <tt class="py-op">%</tt> <tt class="py-op">(</tt><tt class="py-name">self</tt><tt class="py-op">.</tt><tt class="py-name">_base_id</tt><tt class="py-op">,</tt> <tt class="py-name">quote</tt><tt class="py-op">(</tt><tt class="py-name">id_</tt><tt class="py-op">)</tt><tt class="py-op">)</tt> </tt>
 </div><a name="L1254"></a><tt class="py-lineno">1254</tt>  <tt class="py-line"> </tt>
 <a name="BatchHttpRequest._header_to_id"></a><div id="BatchHttpRequest._header_to_id-def"><a name="L1255"></a><tt class="py-lineno">1255</tt> <a class="py-toggle" href="#" id="BatchHttpRequest._header_to_id-toggle" onclick="return toggle('BatchHttpRequest._header_to_id');">-</a><tt class="py-line">    <tt class="py-keyword">def</tt> <a class="py-def-name" href="googleapiclient.http.BatchHttpRequest-class.html#_header_to_id">_header_to_id</a><tt class="py-op">(</tt><tt class="py-param">self</tt><tt class="py-op">,</tt> <tt class="py-param">header</tt><tt class="py-op">)</tt><tt class="py-op">:</tt> </tt>
diff --git a/docs/mocks.md b/docs/mocks.md
index d3d6ae4..72256ac 100644
--- a/docs/mocks.md
+++ b/docs/mocks.md
@@ -1,8 +1,8 @@
 # Mocks
 
-The use of [Mock objects](http://en.wikipedia.org/wiki/Mock_object) is a standard testing methodology for Python and other object-oriented languages. This library defines Mock classes that simulate responses to API calls. You can use them to test how your code handles basic interactions with Google APIs.
+The use of [Mock objects](https://en.wikipedia.org/wiki/Mock_object) is a standard testing methodology for Python and other object-oriented languages. This library defines Mock classes that simulate responses to API calls. You can use them to test how your code handles basic interactions with Google APIs.
 
-> **Note:** Many of the [Python Client Library test scripts](https://github.com/google/google-api-python-client/tree/master/tests) use these classes.
+> **Note:** Many of the [Python Client Library test scripts](https://github.com/googleapis/google-api-python-client/tree/master/tests) use these classes.
 
 ## HttpMock
 
@@ -103,4 +103,4 @@
                 developerKey=your_api_key)
 request = service.volumes().list(source='public', q='android')
 response = request.execute()
-```
\ No newline at end of file
+```
diff --git a/googleapiclient/http.py b/googleapiclient/http.py
index cacd74f..2b35fde 100644
--- a/googleapiclient/http.py
+++ b/googleapiclient/http.py
@@ -1249,7 +1249,7 @@
 
         # NB: we intentionally leave whitespace between base/id and '+', so RFC2822
         # line folding works properly on Python 3; see
-        # https://github.com/google/google-api-python-client/issues/164
+        # https://github.com/googleapis/google-api-python-client/issues/164
         return "<%s + %s>" % (self._base_id, quote(id_))
 
     def _header_to_id(self, header):
diff --git a/setup.py b/setup.py
index e5f6202..e2a487f 100644
--- a/setup.py
+++ b/setup.py
@@ -62,7 +62,7 @@
     long_description_content_type='text/markdown',
     author="Google LLC",
     author_email="googleapis-packages@google.com",
-    url="http://github.com/google/google-api-python-client/",
+    url="https://github.com/googleapis/google-api-python-client/",
     install_requires=install_requires,
     python_requires=">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*",
     packages=packages,
