Any cheap topsoil will work. Here's a trick I learned recently. Buy 1 bag and put about 2 handfuls in a mason jar (or a clean spaghetti sauce jar). Next fill about 3/4 with water and add just a tiny drop of dish soap. Shake real good and let it sit. The sand will fall to the bottom in about 30 seconds, silt takes 2-3 minutes and the clay could take hours or overnight. You should see about 1/2 sand, 1/2 silt and clay. If the clay is really fine, it could stay suspended in the water for days or weeks. As long as it's close, you're ok. You just don't want to see lots of sand and not much else. If you like what you see, go back and buy enough bags to complete your project. Screen out the large organics, mineralize and you're good to go.
A lot of people (including me) use pool filter sand to cap, but you could use any inert substrate like Flourite, Turface or Black Diamond blasting sand. The idea of fine gravels on the bottom and larger on top is this-if you mix the two, or put the smaller sand on top of larger gravel, over time the smaller particles settle to the bottom and the larger pieces move to the top. The sand particles in the topsoil are much smaller than the pool filter sand used to cap it so there won't be any issues.