Firstly, he needs to be leaning foreward. When you run, you are essentially falling foreward, then catching yourself with alternating legs. Same with walking, just less of an angle. We use gravity to our advantage when moving.
Second, his legs need to show the force of the landing. Out of all the threads asking for help with their run animations, this seems to be the most common problem. The leg that the body is landing on needs to bend as the weight of the body is applied to it for the runner to look like he weighs anything. The best way to convey this is ha e one frame where the leg is extended, heel touching the ground, but no weight is yet on it. Then in the very next frame, the foot is flat on the ground, and the knee is bent. This makes it look like his weight was actually put onto that leg. In your animation now, the angle of his knees never changes from the extension to the next push-off.
The arms are a little wonky. When running, people usually keep their elbows bent at a constant angle, and the arm moves like a pendulum at the shoulder joint. The elbow angle may increase and decrease as the weight bobs around, but it stays more or less at a constant angle.
Keep up the good work