When to Go
High Season: Mid-October to March
The weather during these months is cool and nice, but hotels tend to charge premium rates. December and January are the best times to visit, but it can get relatively cold, with temperatures dropping to 40 degrees Fahrenheit. Remember to pack some warm clothes. While it’s the best time of year for outdoor sightseeing, you're trading the sun for much higher prices and unbelievable amounts of foot traffic. The weather from early February to mid-March is wonderfully temperate.
Low Season: April to August
If you decide to go to Agra from April to early July, even Indians might look at you as if you're crazy. There's no denying that this region is at its hottest then, making sightseeing in Agra and Khajuraho, which involves hours in the sun, borderline unbearable, especially while looking at the red sandstone monuments, which radiate heat. Temperatures will be well above 100 degrees Fahrenheit, with monsoon showers picking up toward the end of July and continuing through August. Temperatures during this period will be in the 80s, rain is intermittent, and hotel rates go down, so this is a good time to get a deal.
Shoulder Season: September to mid-October
During this period the weather just begins to cool, and while you might still be unlucky enough to catch a shower or two, is a great time to visit. Some hotels still give discounts for off-peak season.