Linear programming (polynomial) techniques are used to obtain lower and upper bounds for the potential energy of spherical designs. This approach gives unified bounds that are valid for a large class of potential functions. Our lower bounds are optimal for absolutely monotone potentials in the sense that for the linear programming technique they cannot be improved by using polynomials of the same or lower degree. When additional information about the structure (upper and lower bounds for the inner products) of the designs is known, improvements on the bounds are obtained. Furthermore, we provide `test functions' for determining when the linear programming lower bounds for energy can be improved utilizing higher degree polynomials. We also provide some asymptotic results for these energy bounds.