I rarely hear благодарю, so I was wondering under which circumstances would one use that word? Are благодарю and спасибо interchangeable?
They are interchangeable to a certain degree.
Благодарю is much more formal. In some cases, it might also be considered more polite. This being said,
Спасибо is absolutely "safe" and polite in any situation. When in doubt, I would suggest using
Благодарю may sound a bit awkward, outdated or even sarcastic (in certain contexts).
Спасибо could be translated as both
Thank you and
Благодарю only as
Благодарю is still widely used in some fixed phrases like
"Благодарю за внимание" (
Thank you for your attention)
Благодарю it is almost like
спасибо but a bit you are wearing a top hat and a walking stick. Person considered to have a unique style(if he always use this word), be a bit fancy, or just formal.
"Благодарю" means "I express thanks" while "спасибо" means "I am glad".
The thing is one can express thanks even if he is not really glad or for somebody else. This makes благодарю more formal and impersonal. "Okay, I do not really feel glad, but you did it for me so I express thanks because of etiquette or whatever".
So, one can use благодарю but not спасибо in a situation when
Somebody did for you something you think you had right to anyway.
Somebody gave you a gift which you do not like.
You express thanks for another person or a group. A head of state can thank for a gift or service to his country with благодарю but not with спасибо.
Literally "благодарю" ~ "благо дарю" means "[I am] giving blessing [to you]" or "sharing good"
Whereas "Спасибо" ~ "спаси [тебя] Бог" means "[May] God save [you]"
Actually the truth behind these two words are pretty interesting. Благодарю in general is a high vibrational word and is used everywhere where спасибо is used and now people are using it more often, because спасибо actually means спаси бог in shortened which translation is god help, save me god etc. there is also an answer to it , нe за что.
Благодарюsounds a bit more formal than
спасибо. Also see the other comment from @DK