There are a lot of different Poison Pokemon in Pokemon GO, and finding certain rare ones, such as Muk, can be quite difficult. This is especially true since a lot of Poison types overlap with others such as Water or Ground, which can make their appearances wildly scattered. Ones such as Zubat or Nidoran are quite common in almost every area, but others like Koffing appear to be quite choosy in where they appear.
When hunting for Poison Pokemon, always check to see if there is another sub-type that could help increase your chances of finding one. Certain Pokemon, like Tentacool, are both Water and Poison so checking areas by rivers and the ocean will yield better chances. This same idea goes for any other Pokemon that is made up of more than just one type, as Pokemon GO seems to always place the non-poison sub-type as a priority.
However, looking for strictly Poison Pokemon is a bit trickier, as they seem to appear in several distinct areas. One of which is city or urban environments, as they show up on a more frequent basis much like Electric types. Our various trainers have reported seeing Grimers and Koffings mainly in urban areas or even in big retail stores, though what you make of Poison type frequenting your local grocery store is up to you.
Certain Pokemon like Ekans and Venonat favor forests or parks along with other Bug type Pokemon. Bulbasaur gravitates towards grassy areas, such as forests and parks. Gastly and Haunter will appear more often at night. There’s a large variety to choose from, which means more locations to find them in.