diff --git a/src/Entities/Tag.php b/src/Entities/Tag.php
new file mode 100644
index 0000000..0a53926
--- /dev/null
+++ b/src/Entities/Tag.php
@@ -0,0 +1,23 @@
+<?php
+
+namespace D3\KlicktippPhpClient\Entities;
+
+use Doctrine\Common\Collections\ArrayCollection;
+
+class Tag extends ArrayCollection
+{
+    public function getId(): string
+    {
+        return $this->get('tagid');
+    }
+
+    public function getName(): string
+    {
+        return $this->get('name');
+    }
+
+    public function getText(): string
+    {
+        return $this->get('text');
+    }
+}
\ No newline at end of file
diff --git a/src/Resources/Tag.php b/src/Resources/Tag.php
new file mode 100644
index 0000000..d4d1d1a
--- /dev/null
+++ b/src/Resources/Tag.php
@@ -0,0 +1,40 @@
+<?php
+
+namespace D3\KlicktippPhpClient\Resources;
+
+use D3\KlicktippPhpClient\Entities\Tag as TagEntity;
+use D3\KlicktippPhpClient\Exceptions\BaseException;
+use GuzzleHttp\Exception\GuzzleException;
+
+class Tag extends Model
+{
+    /**
+     * @throws BaseException|GuzzleException
+     */
+    public function index(): array
+    {
+        return $this->connection->requestAndParse(
+            'GET',
+            'tag',
+            [
+                'query' => $this->getQuery()
+            ]
+        );
+    }
+
+    /**
+     * @throws BaseException|GuzzleException
+     */
+    public function get(string $tagId): TagEntity
+    {
+        $data = $this->connection->requestAndParse(
+            'GET',
+            'tag/'.urlencode(trim($tagId)),
+            [
+                'query' => $this->getQuery()
+            ]
+        );
+
+        return new TagEntity($data);
+    }
+}