diff --git a/src/logic/databaseNew/Crud.py b/src/logic/databaseNew/Crud.py
index f2bcd6ae4546382cf7cf761352f4087be96e3afc..9dca2e4ff0fa757eec005529cc3381a18ed4e503 100644
--- a/src/logic/databaseNew/Crud.py
+++ b/src/logic/databaseNew/Crud.py
@@ -74,6 +74,15 @@ def get_measurements(db: Session, startDateTime: str, endDateTime: str):
     return db.query(Models.Measurement).all()
 
 
+def get_measurements_for_sensor(db: Session, startDateTime: str, endDateTime: str, sensorId: int):
+    if startDateTime and endDateTime:
+        return db.query(Models.Measurement).filter(and_(startDateTime <= Models.Measurement.timestamp,
+                                                        endDateTime >= Models.Measurement.timestamp,
+                                                        Models.Measurement.sensorId == sensorId)).all()
+
+    return db.query(Models.Measurement).filter(Models.Measurement.sensorId == sensorId).all()
+
+
 def get_measurement(db: Session, measurementId: int):
     return db.query(Models.Measurement).filter(Models.Measurement.id == measurementId).first()
 
diff --git a/src/routers/SensorRouter.py b/src/routers/SensorRouter.py
index 0ba15e2b0b5e0c74079349a76bac458ba4953dd9..272c3056972f75445c75ae79aee69932821b0d58 100644
--- a/src/routers/SensorRouter.py
+++ b/src/routers/SensorRouter.py
@@ -3,7 +3,7 @@ from typing import List
 from fastapi import APIRouter, HTTPException, Depends
 from sqlalchemy.orm import Session
 
-from Dependencies import get_database, check_api_key
+from Dependencies import get_database, check_api_key, START_DATE_TIME, END_DATE_TIME
 from logic.databaseNew import Schemas, Crud
 from logic.databaseNew.Schemas import Status
 
@@ -61,3 +61,17 @@ async def delete_sensor(sensorId: int, db: Session = Depends(get_database)):
 
     Crud.delete_sensor(db, sensor)
     return Status(message=f'Deleted sensor {sensor.id}')
+
+
+@router.get('/{sensorId}/measurements', response_model=List[Schemas.Measurement],
+            summary='Gets all measurements for a specific sensor',
+            description='Number of results can be limited by specifying a date range',
+            responses={404: {'description': 'Sensor not found'}})
+async def get_sensor_measurements(sensorId: int,
+                                  startDateTime: str = START_DATE_TIME,
+                                  endDateTime: str = END_DATE_TIME,
+                                  db: Session = Depends(get_database)):
+    sensor = Crud.get_sensor(db, sensorId=sensorId)
+    if sensor is None:
+        raise HTTPException(status_code=404, detail='Sensor not found')
+    return Crud.get_measurements_for_sensor(db, startDateTime, endDateTime, sensorId)