diff --git a/Annotation/ApiDoc.php b/Annotation/ApiDoc.php
index 5876601..28a8f24 100644
--- a/Annotation/ApiDoc.php
+++ b/Annotation/ApiDoc.php
@@ -105,6 +105,11 @@ class ApiDoc
      */
     private $authentication = false;
 
+    /**
+     * @var int
+     */
+    private $cache;
+
     /**
      * @var array
      */
@@ -147,6 +152,10 @@ class ApiDoc
             $this->setAuthentication((bool) $data['authentication']);
         }
 
+        if (isset($data['cache'])) {
+            $this->setCache($data['cache']);
+        }
+
         if (isset($data['section'])) {
             $this->section = $data['section'];
         }
@@ -328,6 +337,22 @@ class ApiDoc
         $this->authentication = $authentication;
     }
 
+    /**
+     * @return int
+     */
+    public function getCache()
+    {
+        return $this->cache;
+    }
+
+    /**
+     * @param int $cache
+     */
+    public function setCache($cache)
+    {
+        $this->cache = (int) $cache;
+    }
+
     /**
      * @return array
      */
@@ -370,6 +395,10 @@ class ApiDoc
             $data['section'] = $section;
         }
 
+        if ($cache = $this->cache) {
+            $data['cache'] = $cache;
+        }
+
         $data['https'] = $this->https;
         $data['authentication'] = $this->authentication;
 
diff --git a/Extractor/ApiDocExtractor.php b/Extractor/ApiDocExtractor.php
index 690d8d5..3568ca5 100644
--- a/Extractor/ApiDocExtractor.php
+++ b/Extractor/ApiDocExtractor.php
@@ -22,14 +22,16 @@ use Nelmio\ApiDocBundle\Util\DocCommentExtractor;
 
 class ApiDocExtractor
 {
-    const ANNOTATION_CLASS              = 'Nelmio\\ApiDocBundle\\Annotation\\ApiDoc';
+    const ANNOTATION_CLASS                = 'Nelmio\\ApiDocBundle\\Annotation\\ApiDoc';
 
-    const FOS_REST_QUERY_PARAM_CLASS    = 'FOS\\RestBundle\\Controller\\Annotations\\QueryParam';
+    const FOS_REST_QUERY_PARAM_CLASS      = 'FOS\\RestBundle\\Controller\\Annotations\\QueryParam';
 
-    const FOS_REST_REQUEST_PARAM_CLASS  = 'FOS\\RestBundle\\Controller\\Annotations\\RequestParam';
+    const FOS_REST_REQUEST_PARAM_CLASS    = 'FOS\\RestBundle\\Controller\\Annotations\\RequestParam';
 
     const JMS_SECURITY_EXTRA_SECURE_CLASS = 'JMS\\SecurityExtraBundle\\Annotation\\Secure';
 
+    const CACHE_ANNOTATION_CLASS          = 'Sensio\\Bundle\\FrameworkExtraBundle\\Configuration\\Cache';
+
     /**
      * @var ContainerInterface
      */
@@ -382,6 +384,8 @@ class ApiDocExtractor
                 ));
             } elseif (is_a($annot, self::JMS_SECURITY_EXTRA_SECURE_CLASS)) {
                 $annotation->setAuthentication(true);
+            }  elseif (is_a($annot, self::CACHE_ANNOTATION_CLASS)) {
+                $annotation->setCache($annot->getMaxAge());
             }
         }
     }
diff --git a/Resources/views/method.html.twig b/Resources/views/method.html.twig
index 49272f3..f6fdba5 100644
--- a/Resources/views/method.html.twig
+++ b/Resources/views/method.html.twig
@@ -165,6 +165,11 @@
                 </table>
             {% endif %}
 
+            {% if data.cache is defined and data.cache is not empty %}
+                <h4>Cache</h4>
+                <div>{{ data.cache }}s</div>
+            {% endif %}
+
             </div>
 
             {% if enableSandbox %}
diff --git a/Tests/Annotation/ApiDocTest.php b/Tests/Annotation/ApiDocTest.php
index f1fece7..6a7750a 100644
--- a/Tests/Annotation/ApiDocTest.php
+++ b/Tests/Annotation/ApiDocTest.php
@@ -210,4 +210,16 @@ class ApiDocTest extends TestCase
 
         $this->assertTrue($array['authentication']);
     }
+
+    public function testConstructWithCache()
+    {
+        $data = array(
+            'cache' => '60'
+        );
+
+        $annot = new ApiDoc($data);
+        $array = $annot->toArray();
+
+        $this->assertEquals($data['cache'], $array['cache']);
+    }
 }
diff --git a/Tests/Extractor/ApiDocExtratorTest.php b/Tests/Extractor/ApiDocExtratorTest.php
index b4217fa..eee99dd 100644
--- a/Tests/Extractor/ApiDocExtratorTest.php
+++ b/Tests/Extractor/ApiDocExtratorTest.php
@@ -166,4 +166,17 @@ class ApiDocExtractorTest extends WebTestCase
             $annotation->getAuthentication()
         );
     }
+
+    public function testGetWithCache()
+    {
+        $container  = $this->getContainer();
+        $extractor  = $container->get('nelmio_api_doc.extractor.api_doc_extractor');
+        $annotation = $extractor->get('Nelmio\ApiDocBundle\Tests\Fixtures\Controller\TestController::CachedAction', 'test_route_14');
+
+        $this->assertNotNull($annotation);
+        $this->assertEquals(
+            60,
+            $annotation->getCache()
+        );
+    }
 }
diff --git a/Tests/Fixtures/Controller/TestController.php b/Tests/Fixtures/Controller/TestController.php
index 1c33286..4c42042 100644
--- a/Tests/Fixtures/Controller/TestController.php
+++ b/Tests/Fixtures/Controller/TestController.php
@@ -15,6 +15,7 @@ use FOS\RestBundle\Controller\Annotations\QueryParam;
 use FOS\RestBundle\Controller\Annotations\RequestParam;
 use Nelmio\ApiDocBundle\Annotation\ApiDoc;
 use Symfony\Component\HttpFoundation\Response;
+use Sensio\Bundle\FrameworkExtraBundle\Configuration\Cache;
 
 class TestController
 {
@@ -145,4 +146,12 @@ class TestController
     public function authenticatedAction()
     {
     }
+
+    /**
+     * @ApiDoc()
+     * @Cache(maxage=60, public=1)
+     */
+    public function cachedAction()
+    {
+    }
 }
diff --git a/composer.json b/composer.json
index 408ba0c..83ed958 100644
--- a/composer.json
+++ b/composer.json
@@ -29,7 +29,8 @@
         "symfony/validator": "~2.1",
         "symfony/yaml": "~2.1",
         "friendsofsymfony/rest-bundle": "dev-master",
-        "jms/serializer-bundle": ">=0.11"
+        "jms/serializer-bundle": ">=0.11",
+        "sensio/framework-extra-bundle": "dev-master"
     },
     "minimum-stability": "dev",
     "autoload": {