diff --git a/arkindex/dataimport/api.py b/arkindex/dataimport/api.py
index ad5822ab9f2625429b84103119b81f6be638f1d9..52975d292ecfc2d3290368077c2a9878e1c5a38e 100644
--- a/arkindex/dataimport/api.py
+++ b/arkindex/dataimport/api.py
@@ -79,13 +79,25 @@ class DataImportsList(CorpusACLMixin, ListAPIView):
                 'schema': {
                     'type': 'string',
                 },
+            },
+            {
+                'name': 'with_workflow',
+                'in': 'query',
+                'description': 'Restrict to or exclude import with workflow',
+                'required': False,
+                'schema': {
+                    'type': 'boolean',
+                    'default': True
+                },
             }
         ]
     }
 
     def get_queryset(self):
+        with_workflow = self.request.query_params.get('with_workflow')
         filters = {
-            'corpus__in': Corpus.objects.readable(self.request.user)
+            'corpus__in': Corpus.objects.readable(self.request.user),
+            'workflow__isnull': bool(with_workflow and with_workflow.lower() in ('false', '0'))
         }
 
         if 'corpus' in self.request.query_params:
diff --git a/arkindex/dataimport/tests/test_imports.py b/arkindex/dataimport/tests/test_imports.py
index ff2c407a122cd027057a665ca2ea7cc9c0b7990c..8555c95789ac6e9c62078fafdcaa5e722f94469f 100644
--- a/arkindex/dataimport/tests/test_imports.py
+++ b/arkindex/dataimport/tests/test_imports.py
@@ -55,7 +55,7 @@ class TestImports(FixtureAPITestCase):
 
     def test_list(self):
         self.client.force_login(self.user)
-        response = self.client.get(reverse('api:import-list'))
+        response = self.client.get(reverse('api:import-list'), {'with_workflow': False})
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
         self.assertEqual(len(data['results']), 1)
@@ -81,15 +81,9 @@ class TestImports(FixtureAPITestCase):
         response = self.client.get(reverse('api:import-list'))
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
-        self.assertEqual(len(data['results']), 2)
+        self.assertEqual(len(data['results']), 1)
         results = data['results']
         self.assertListEqual(results, [{
-            'id': str(self.dataimport.id),
-            'state': State.Unscheduled.value,
-            'mode': DataImportMode.Images.value,
-            'corpus': str(self.corpus.id),
-            'workflow': None,
-        }, {
             'id': str(dataimport2.id),
             'state': State.Unscheduled.value,
             'mode': DataImportMode.Workers.value,
@@ -97,12 +91,25 @@ class TestImports(FixtureAPITestCase):
             'workflow': f"http://testserver/ponos/v1/workflow/{dataimport2.workflow.id}/",
         }])
 
+        response = self.client.get(reverse('api:import-list'), {'with_workflow': False})
+        self.assertEqual(response.status_code, status.HTTP_200_OK)
+        data = response.json()
+        self.assertEqual(len(data['results']), 1)
+        results = data['results']
+        self.assertListEqual(results, [{
+            'id': str(self.dataimport.id),
+            'state': State.Unscheduled.value,
+            'mode': DataImportMode.Images.value,
+            'corpus': str(self.corpus.id),
+            'workflow': None,
+        }])
+
     def test_list_filter_corpus(self):
         self.client.force_login(self.superuser)
         corpus2 = Corpus.objects.create(name='Another corpus', description='something')
         dataimport2 = corpus2.imports.create(creator=self.user, mode=DataImportMode.Images)
 
-        response = self.client.get(reverse('api:import-list'), {'corpus': str(corpus2.id)})
+        response = self.client.get(reverse('api:import-list'), {'corpus': str(corpus2.id), 'with_workflow': False})
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
         self.assertEqual(len(data['results']), 1)
@@ -120,7 +127,7 @@ class TestImports(FixtureAPITestCase):
             creator=self.user,
             mode=DataImportMode.PDF,
         )
-        response = self.client.get(reverse('api:import-list'), {'mode': DataImportMode.PDF.value})
+        response = self.client.get(reverse('api:import-list'), {'mode': DataImportMode.PDF.value, 'with_workflow': False})
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
         self.assertEqual(len(data['results']), 1)
@@ -145,7 +152,7 @@ class TestImports(FixtureAPITestCase):
             creator=self.user,
             mode=DataImportMode.Images,
         )
-        response = self.client.get(reverse('api:import-list'), {'id': dataimport_id[:10]})
+        response = self.client.get(reverse('api:import-list'), {'id': dataimport_id[:10], 'with_workflow': False})
         self.assertEqual(response.status_code, status.HTTP_200_OK)
         data = response.json()
         self.assertEqual(len(data['results']), 1)