When you click on links to various merchants on this site and make a purchase, this can result in this site earning a commission. Affiliate programs and affiliations include, but are not limited to, the eBay Partner Network.
With no real codes, I say the starter solenoid is worn out. You can whack it with a stick when it is acting up and see if it starts up.
The starter sits really close to the headers and the heat kills the starter solenoid. Take a long screwdriver and use it to tap on the starter to see if that fixes it. If it works after that your starter solenoid needs to be replaced. The solenoid itself is a little hard to find sometimes so you may have to replace the whole starter. If you do; I'd highly recommend wrapping the new starter in heat wrap.