My bro-in-law had a 4Runner that did that when he got it. He changed the starter & battery & still had the same problem. I found that the guy that rebuilt the engine had put the ground cable on the frame side of the motor mount. I moved the ground to the block where it belongs & now it starts everytime.
![Fingers Crossed :crossed:](https://board.marlincrawler.com/Smileys/marlin/crossed.gif)