diff --git a/.gitignore b/.gitignore
index f7c5815..042245b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,4 @@
 test.php
 build_docs.sh
 .DS_Store
-
+/nbproject/
diff --git a/README.md b/README.md
index eaba01f..700a748 100644
--- a/README.md
+++ b/README.md
@@ -84,6 +84,7 @@ $zencoder->jobs->progress($job_id);
 $zencoder->inputs->details($input_id);
 $zencoder->outputs->details($output_id);
 $zencoder->notifications->parseIncoming();
+$zencoder->reports->details($report_type, $optional_params);
 ```
 
 Any errors will throw a Services_Zencoder_Exception. You can call getErrors() on an exception
@@ -249,6 +250,45 @@ Modify the above script to meet your needs.
 
 Your [notifications page](https://app.zencoder.com/notifications) will come in handy.
 
+REPORTS
+----------------------
+The ZencoderReports class is used to get reports over the zencoder api.
+See [reports api doc](https://app.zencoder.com/docs/api/reports) for required/optional parameters.
+
+### Get usage for ALL reports
+Create a script to get reports for a specified date range
+
+#### Example
+```php
+
+    // Make sure this points to a copy of Zencoder.php on the same server as this script.
+    require_once('Services/Zencoder.php');
+
+    // Initialize the Services_Zencoder class
+    $zencoder = new Services_Zencoder('93h630j1dsyshjef620qlkavnmzui3');
+
+    // Get reports
+    $params = array(
+        'from' => '2014-02-01',
+        'to' => '2014-02-28',
+    )
+
+    // 'all' can be replaced by 'vod' or 'live' acccording to entry points in docs
+    $report = $zencoder->reports->details('all', $params);
+
+    // Each reports object should have a 'statistics' and 'total' base element
+    if ($report->statistics) {
+        foreach ($report->statistics as $statistic) {
+            print_r($statistic);
+        }
+        print_r($report->total);
+    } else {
+        echo "no statistics found";
+    }
+
+```
+
+
 VERSIONS
 ---------
 
diff --git a/Services/Zencoder.php b/Services/Zencoder.php
index 6e8447c..7fcf368 100644
--- a/Services/Zencoder.php
+++ b/Services/Zencoder.php
@@ -88,6 +88,14 @@ class Services_Zencoder extends Services_Zencoder_Base
     * @var Services_Zencoder_Outputs
     */
     public $outputs;
+    /**
+    * Provides access to the Zencoder Reports API
+    *
+    * Valid functions: vod, live, minutes, all
+    *
+    * @var Services_Zencoder_Reports
+    */
+    public $reports;
 
     /**
     * Initialize the Services_Zencoder class and sub-classes.
@@ -135,6 +143,7 @@ public function __construct(
         $this->jobs = new Services_Zencoder_Jobs($this);
         $this->notifications = new Services_Zencoder_Notifications($this);
         $this->outputs = new Services_Zencoder_Outputs($this);
+        $this->reports = new Services_Zencoder_Reports($this);
     }
 
     /**
diff --git a/Services/Zencoder/Report.php b/Services/Zencoder/Report.php
new file mode 100644
index 0000000..5bc5af8
--- /dev/null
+++ b/Services/Zencoder/Report.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Zencoder API client interface.
+ *
+ * @category Services
+ * @package  Services_Zencoder
+ * @author   Cyril Tata <cyril.tata@ekspressdigital.eu>
+ * @version  Release: 2.1.2
+ * @license  http://creativecommons.org/licenses/MIT/MIT
+ * @link     http://github.com/zencoder/zencoder-php
+ */
+class Services_Zencoder_Report extends Services_Zencoder_Object
+{
+    /**
+     * Statistics of a report
+     *
+     * @var object
+     */
+    public $statistics;
+
+    /**
+     * Totals of a of report
+     *
+     * @var object
+     */
+    public $total;
+
+    /**
+     * A copy of the raw API response for debug purposes
+     *
+     * @var mixed
+     */
+    protected $raw_response;
+
+    /**
+     * Create a new Services_Zencoder_Report object.
+     * For attributes of the various kinds of reports, see
+     * @link https://app.zencoder.com/docs/api/reports/vod
+     * @link https://app.zencoder.com/docs/api/reports/live
+     * @link https://app.zencoder.com/docs/api/reports/all
+     *
+     * @param mixed $params API response
+     * @param string $type The type of statistic we are fetching
+     */
+    public function __construct($params)
+    {
+        $this->raw_response = $params;
+        parent::__construct($params);
+    }
+}
diff --git a/Services/Zencoder/Reports.php b/Services/Zencoder/Reports.php
new file mode 100644
index 0000000..95b5696
--- /dev/null
+++ b/Services/Zencoder/Reports.php
@@ -0,0 +1,33 @@
+<?php
+
+/**
+ * Zencoder API client interface.
+ *
+ * @category Services
+ * @package  Services_Zencoder
+ * @author   Cyril Tata <cyril.tata@ekspressdigital.eu>
+ * @version  Release: 2.1.2
+ * @license  http://creativecommons.org/licenses/MIT/MIT
+ * @link     http://github.com/zencoder/zencoder-php
+ */
+class Services_Zencoder_Reports extends Services_Zencoder_Base
+{
+    /**
+     * Get details about different types of reports
+     *
+     * @link https://app.zencoder.com/docs/api/reports
+     *
+     * @param string $report_type The type of report to get. The following are currently supported over the api
+     *                              - 'all' : Returns all reports, both VOD and LIVE
+     *                              - 'vod' : Returns VOD reports
+     *                              - 'live': Return LIVE reports
+     * @param array $params An associated array of optional query parameters per requested report type
+     * @param array $opts Optional overrides
+     *
+     * @return Services_Zencoder_Report The object representation of the resource
+     */
+    public function details($report_type = 'all', $params = array(), $opts = array())
+    {
+        return new Services_Zencoder_Report($this->proxy->retrieveData("reports/$report_type", $params, $opts));
+    }
+}