We have our goldfish in a 37 gallon water tank. Every three weeks the tank gets very dirty. Is this normal? What is the best water for them?
You could install a water filter to help clean the water. Replace the filter when it is dirty. Should help reduce the time between cleaning the glass in the tank.
Make sure you have a filter set up. Don't overfeed them, as a lot of food particles do not get eaten and dissolve making the water cloudy. I would also get some algea eaters to make friends with your fishies, and they will keep your tank cleaner.
Because goldfish are so common, people think they're easy to care for and nothing could be farther from the truth. For their size, they produce an incredible amount of waste and need a large amount of water to thrive. The experts suggest allowing 10 gallons of tank capacity for each fish, and using double the capacity of filtration you would for other fish.
The advice about overfeeding is good, but it may not take care of your problem. I'd also suggest that if you have gravel in the bottom of your tank, you either accept that you'll have to vacuum it regularly or else remove it. Frequent partial water changes are also necessary--ideally you should change about 25% of the water each week. Regular tap water treated with a dechlorination product will be fine.
And I suggest you search around the internet for advice on caring for them--you might decide another type of fish is more practical.
It is normal but you should include in your question if the "dirt" is green or not. If it is greensih you should get a snail or two. If it is brownish, you either need to clean your tank more often or you need to get some shrimp to clean the bottom.
P.S. I have fish 2!