diff --git a/buzz_gae_client.py b/buzz_gae_client.py
index f790e02..e4620c4 100644
--- a/buzz_gae_client.py
+++ b/buzz_gae_client.py
@@ -49,10 +49,11 @@
 
 # TODO(ade) This class is really a BuzzGaeBuilder. Rename it.
 class BuzzGaeClient(object):
-  def __init__(self, consumer_key='anonymous', consumer_secret='anonymous'):
+  def __init__(self, consumer_key='anonymous', consumer_secret='anonymous', api_key=None):
     self.consumer = oauth.Consumer(consumer_key, consumer_secret)
     self.consumer_key = consumer_key
     self.consumer_secret = consumer_secret
+    self.api_key = api_key
 
   def _make_post_request(self, client, url, parameters):
     resp, content = client.request(url, 'POST', headers=HEADERS,
@@ -111,6 +112,6 @@
   def build_api_client(self, oauth_params=None):
     if oauth_params is not None:
       http = oauth_wrap.get_authorised_http(oauth_params)
-      return apiclient.discovery.build('buzz', 'v1', http = http)
+      return apiclient.discovery.build('buzz', 'v1', http=http, developerKey=self.api_key)
     else:
-      return apiclient.discovery.build('buzz', 'v1')
+      return apiclient.discovery.build('buzz', 'v1', developerKey=self.api_key)
diff --git a/buzz_gae_client_tests.py b/buzz_gae_client_tests.py
index 487f57f..d55d4ba 100644
--- a/buzz_gae_client_tests.py
+++ b/buzz_gae_client_tests.py
@@ -67,7 +67,7 @@
       client = buzz_gae_client.BuzzGaeClient()
       api_client = client.build_api_client()
       count = 9
-      activities = api_client.activities().list(userId='googlebuzz', scope='@self', max_results=count)['items']
+      activities = api_client.activities().list(userId='googlebuzz', scope='@self', max_results=count).execute()['items']
       self.assertEquals(count, len(activities))
 
 if __name__ == '__main__':
