Gringo is a word used by Mexicans that refer to Americans coming from the US.
On Urban Dictionary it is explained as follows: "If you know any Mexican people then you'll know this is a non-derogatory term used to refer to US citizens. Mostly because the term "American" does not make sense to the rest of the Americans (all those people who live in the continent named "America", which is every body from Alaska to Argentina), and the word "Estadounidense" (UnitedStatean) is too long. Folklore says it was generated when the US invaded mexico, wearing green uniforms, and the people shouted at them "Green Go Home". With time it lost all derogatory status and was turned into the most common word to refer to any US citizen." (source: http://www.urbandictionary.com/define.php?term=gringo)