David James holds the Premier League record for most appearances with 572 matches. The goalkeeper played for Liverpool, Aston Villa, West Ham, Manchester City, and Portsmouth in a long career spanning 1992-2010. Gary Speed (played 535), Gareth Barry (653+), and James Milner (634+) are other appearance leaders but James had the record at the time this question was written.