diff --git a/gathercontent.module b/gathercontent.module
index be8ee92..9657d42 100644
--- a/gathercontent.module
+++ b/gathercontent.module
@@ -306,7 +306,7 @@ function gathercontent_get_command($command = '', $postfields = array(), $accoun
   if ($api_key == '') {
     $api_key = variable_get('gathercontent_api_key');
   }
-  $api_url = 'https://' . $account_name . '.gathercontent.com/api/0.2/' . $command;
+  $api_url = 'https://' . $account_name . '.gathercontent.com/api/0.3/' . $command;
   $postfields = http_build_query($postfields);
   // Using cURL, since GatherContent's API requires Digest authentication,
   // and drupal_http_request() doesn't support that
diff --git a/gathercontent_pages.inc b/gathercontent_pages.inc
index d2af633..ef5eeca 100644
--- a/gathercontent_pages.inc
+++ b/gathercontent_pages.inc
@@ -22,12 +22,15 @@ class GatherContentPages {
       $gc_page = gathercontent_get_command('get_page', array('id' => $gc_page_id));
       // Get the actual page.
       // @GC: Why is this an array inside an object, and not just an array?
-      $gc_page = $gc_page->page[0];
+      $gc_page = $gc_page->page;
 
       $body_content = '';
       // Get all the content fields.
-      foreach ($gc_page->custom_field_values as $field_name => $field_value) {
-        $body_content .= $field_value;
+      $page_content = json_decode(base64_decode($gc_page->config));
+      foreach ($page_content as $page_elements) {
+        foreach ($page_elements->elements as $element) {
+          $body_content .= $element->value;
+        }
       }
 
       // Prepare creation date.
