diff --git a/mapping_provider/api/map.py b/mapping_provider/api/map.py
index af7fe275a1cab6dcb18ca141ed3ca56adc3d00bf..ae4638c14edb246826bb98c04f2b9f6a092c90af 100644
--- a/mapping_provider/api/map.py
+++ b/mapping_provider/api/map.py
@@ -1,6 +1,7 @@
-
 import jsonschema
 import requests
+from typing import Any
+
 from fastapi import APIRouter
 from pydantic import BaseModel
 
@@ -13,7 +14,7 @@ class Site(BaseModel):
     name: str
 
     @classmethod
-    def from_inprov_site(cls, site: dict) -> 'Site':
+    def from_inprov_site(cls, site: dict[str, Any]) -> 'Site':
         return cls(
             latitude=site['latitude'],
             longitude=site['longitude'],
@@ -28,7 +29,7 @@ class Router(BaseModel):
     site: str
 
     @classmethod
-    def from_inprov_router(cls, router: dict) -> 'Router':
+    def from_inprov_router(cls, router: dict[str, Any]) -> 'Router':
         return cls(
             fqdn = router['fqdn'],
             site = router['site']
@@ -43,7 +44,7 @@ class Endpoint(BaseModel):
     interface: str
 
     @classmethod
-    def from_inprov_endpoint(cls, endpoint: dict) -> 'Endpoint':
+    def from_inprov_endpoint(cls, endpoint: dict[str, Any]) -> 'Endpoint':
         return cls(
             hostname = endpoint['hostname'],
             interface = endpoint['interface'],
@@ -53,7 +54,7 @@ class Overlays(BaseModel):
     speed: int
 
     @classmethod
-    def from_inprov_overlays(cls, overlays: dict) -> 'Overlays':
+    def from_inprov_overlays(cls, overlays: dict[str, Any]) -> 'Overlays':
         return cls(
             speed = overlays['speed'],
         )
@@ -66,7 +67,7 @@ class Service(BaseModel):
     overlays: Overlays
 
     @classmethod
-    def from_inprov_service(cls, service: dict) -> 'Service':
+    def from_inprov_service(cls, service: dict[str, Any]) -> 'Service':
         return cls(
             sid = service['sid'],
             name = service['name'],
@@ -170,7 +171,8 @@ def get_sites() -> SiteList:
     site_list_json = rv.json()
     jsonschema.validate(site_list_json, INPROV_SITE_LIST_SCHEMA)
 
-    return SiteList(sites=map(Site.from_inprov_site, site_list_json))
+    rsp_sites = map(Site.from_inprov_site, site_list_json)
+    return SiteList(sites=list(rsp_sites))
 
 
 @router.get("/routers")
@@ -188,7 +190,8 @@ def get_routers() -> RouterList:
     router_list_json = rv.json()
     jsonschema.validate(router_list_json, INPROV_ROUTER_LIST_SCHEMA)
 
-    return RouterList(routers=map(Router.from_inprov_router, router_list_json))
+    rsp_routers = map(Router.from_inprov_router, router_list_json)
+    return RouterList(routers=list(rsp_routers))
 
 
 @router.get("/trunks")
@@ -206,5 +209,6 @@ def get_trunks() -> ServiceList:
     service_list_json = rv.json()
     jsonschema.validate(service_list_json, INPROV_SERVICE_LIST_SCHEMA)
 
-    return ServiceList(services=map(Service.from_inprov_service, service_list_json))
+    rsp_services = map(Service.from_inprov_service, service_list_json)
+    return ServiceList(services=list(rsp_services))
 
diff --git a/tox.ini b/tox.ini
index 2c5490b62d71b883ec7ecac55f03248c6012d07d..2a820fee2d3f0b473e8ae995c0be5289a8fff683 100644
--- a/tox.ini
+++ b/tox.ini
@@ -8,7 +8,10 @@ commands = ruff check mapping_provider test
 
 [testenv:typecheck]
 description = Type-check code with mypy
-deps = mypy types-jsonschema types-requests
+deps =
+   mypy
+   types-jsonschema
+   types-requests
 commands = mypy mapping_provider
 
 [testenv:docs]