As mentioned before, sensors such as the Empatica provide some raw data (E.g. raw PPG), although the cost is very high (around $ 1700 US). Moreover, smartwatches such as the Moto360 or the LG G Watch R can be programmed to provide HR data. However, you should consider that this is preprocessed data (from manufacturers) and we just have access to the processed data (not the raw PPG). Therefore, if you wanted to make things such as Heart Rate Variability analysis, this approach is not highly accurate. I have been working with the Polar Chest Band (H7) and it seems that we can access both HR and RR-interval data with an Android app (currently working in an APK to extend it in our PhysioVR framework).
Thread on finding devices that provide raw data