diff --git a/django/website/transport/taxonomies.py b/django/website/transport/taxonomies.py
index 358f11bb071cc2b23d18a9898e8c935dce26075e..b42bc76d647674e8068569e4cafc7e8954e3b997 100644
--- a/django/website/transport/taxonomies.py
+++ b/django/website/transport/taxonomies.py
@@ -3,7 +3,6 @@ from django.core.urlresolvers import reverse
 from rest_api.views import TaxonomyViewSet
 from rest_framework.test import APIRequestFactory
 
-actions = {'get': 'list'}
 request_factory = APIRequestFactory()
 
 
@@ -11,7 +10,11 @@ def list_url():
     return reverse('taxonomy-list')
 
 
-def get_view():
+def itemcount_url(slug):
+    return reverse('taxonomy-itemcount', kwargs={'slug': slug})
+
+
+def get_view(actions):
     return TaxonomyViewSet.as_view(actions)
 
 
@@ -22,6 +25,12 @@ def list(**kwargs):
     to filter the Taxonomies.
     """
 
-    view = get_view()
+    view = get_view(actions={'get': 'list'})
     request = request_factory.get(list_url(), kwargs)
     return view(request).data
+
+
+def term_itemcount(slug):
+    view = get_view(actions={'get': 'itemcount'})
+    request = request_factory.get(itemcount_url(slug))
+    return view(request, slug=slug).data
diff --git a/django/website/transport/tests/taxonomy_term_itemcount_tests.py b/django/website/transport/tests/taxonomy_term_itemcount_tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..38dba5f535d176dfb0cc8ace28a9639f4000bae0
--- /dev/null
+++ b/django/website/transport/tests/taxonomy_term_itemcount_tests.py
@@ -0,0 +1,43 @@
+from __future__ import unicode_literals, absolute_import
+import pytest
+
+from taxonomies.tests.factories import (
+    TaxonomyFactory,
+    TermFactory,
+)
+
+import transport
+
+
+@pytest.fixture
+def item_data():
+    item = {'body': "What is the cuse of ebola?"}
+    return transport.items.create(item)
+
+
+@pytest.fixture
+def questions_category():
+    # TODO: Replace with transport call when we have one
+    return TaxonomyFactory(name="Ebola Questions")
+
+
+@pytest.fixture
+def questions_term(questions_category):
+    # TODO: Replace with transport call when we have one
+    return TermFactory(taxonomy=questions_category)
+
+
+@pytest.mark.django_db
+def test_term_itemcount_returns_terms_and_counts(item_data,
+                                                 questions_category,
+                                                 questions_term):
+
+    # This is tested more comprehensively in the API tests
+    transport.items.add_term(item_data['id'],
+                             questions_category.slug,
+                             questions_term.name)
+
+    terms = transport.taxonomies.term_itemcount(slug=questions_category.slug)
+    counts = {term['name']: term['count'] for term in terms}
+
+    assert counts[questions_term.name] == 1