Abstract: A computer implemented system and method and a computer program product for automatically determining a battery charging profile. Historical battery information about a battery from a battery data recorder associated with the battery and battery charging information about the battery from a battery charger associated with the battery may be used to select one of a plurality of battery charging profiles or to create a battery charging profile. Information about the selected or created battery charging profile may be outputted or transmitted to a battery charger via an application programming interface. Battery application information and battery environment information also may be used to select or create a battery charging profile for charging a battery.