diff --git a/src/tracking/tracking.controller.ts b/src/tracking/tracking.controller.ts
index 8049173b8cb8b5147a306965d9fb3836a9fae619..0ccbb85315bcc9d36e08c3e6e5517fcf4b028595 100644
--- a/src/tracking/tracking.controller.ts
+++ b/src/tracking/tracking.controller.ts
@@ -6,6 +6,8 @@ import {
   UsePipes,
   Body,
   Get,
+  UseInterceptors,
+  ClassSerializerInterceptor,
 } from '@nestjs/common';
 
 import { TrackingService } from './tracking.service';
@@ -38,4 +40,12 @@ export class TrackingController {
   async getPlayerLocations(@User('id') userId, @Param('id') gameId) {
     return this.trackingservice.getPlayers(userId, gameId);
   }
+
+  @Get('player/:id')
+  @Roles('admin', 'factionleader')
+  @GameStates('STARTED', 'PAUSED')
+  @UseInterceptors(ClassSerializerInterceptor)
+  async getPlayerData(@User('id') userId, @Param('id') gameid, @Body() person) {
+    return this.trackingservice.getPlayerData(person);
+  }
 }
diff --git a/src/tracking/tracking.module.ts b/src/tracking/tracking.module.ts
index 45b167fc526ab41addbb87575518c9acae884482..fe31de3704dcd39113f8a46f6f718555a0528b2b 100644
--- a/src/tracking/tracking.module.ts
+++ b/src/tracking/tracking.module.ts
@@ -5,9 +5,12 @@ import { TrackingController } from './tracking.controller';
 import { TrackingService } from './tracking.service';
 import { TrackingEntity } from './tracking.entity';
 import { Game_PersonEntity } from '../game/game.entity';
+import { PersonEntity } from '../user/user.entity';
 
 @Module({
-  imports: [TypeOrmModule.forFeature([TrackingEntity, Game_PersonEntity])],
+  imports: [
+    TypeOrmModule.forFeature([TrackingEntity, Game_PersonEntity, PersonEntity]),
+  ],
   controllers: [TrackingController],
   providers: [TrackingService],
 })
diff --git a/src/tracking/tracking.service.ts b/src/tracking/tracking.service.ts
index fb4eab054b0a53d4fcc2481c21e28a1adcf257a0..3c6453406bf96a2817dd5d8e2c382fb3f5741eb3 100644
--- a/src/tracking/tracking.service.ts
+++ b/src/tracking/tracking.service.ts
@@ -6,6 +6,7 @@ import { Game_PersonEntity } from '../game/game.entity';
 import { TrackingEntity } from './tracking.entity';
 import { TrackingDTO } from './tracking.dto';
 import { FactionEntity } from '../faction/faction.entity';
+import { PersonEntity } from '../user/user.entity';
 
 @Injectable()
 export class TrackingService {
@@ -14,6 +15,8 @@ export class TrackingService {
     private trackingrepository: Repository<TrackingEntity>,
     @InjectRepository(Game_PersonEntity)
     private gamepersonrepository: Repository<Game_PersonEntity>,
+    @InjectRepository(PersonEntity)
+    private personrepository: Repository<PersonEntity>,
   ) {}
 
   async trackLocation(personId, gameId, trackdata: TrackingDTO) {
@@ -95,6 +98,25 @@ export class TrackingService {
     return currentdata;
   }
 
+  // get selected player data
+  async getPlayerData(person) {
+    const gameperson = await this.gamepersonrepository.findOne({
+      where: { gamepersonId: person.gamepersonId },
+      relations: ['person', 'leaderGroup', 'group', 'faction'],
+    });
+    if (!gameperson) {
+      throw new HttpException('No player found!', HttpStatus.BAD_REQUEST);
+    }
+
+    return {
+      gamepersonId: gameperson.gamepersonId,
+      name: gameperson.person.name,
+      role: gameperson.role,
+      group: gameperson.group,
+      faction: gameperson.faction.factionName,
+    };
+  }
+
   private async mapFunction(data): Promise<Number> {
     return await data.map(type => {
       return type;