All nationalities traveling to Iran, except for seven countries, need to arrange a visa in advance or take a risk on getting a 15-day visa on arrival at an airport.
US, Canadian and British citizens need to pre-arrange a tour or private guide, or be sponsored by a friend or relative in Iran who will take legal responsibility for them. Israeli passport holders, and anyone with an Israeli stamp in their passport, will not get a visa.
Passport-holders of seven countries (Syria, Lebanon, Turkey, the Republic of Azerbaijan, Bolivia, Egypt and Georgia) get a limited time tourist visa on arrival. Syrians get 90 days visa, Georgians 45 days visa, Bolivians 30 days visa, Egyptians 20 days visa and the Lebanese and Azerbaijanis get 15 days visa on arrival without needing any authorization letter.