Between August 2017 and August 2018, Scarlett earned $40 million between salaries and endorsements. That was enough to make her the #1 highest-paid actress on the planet. The previous year she earned $10 million. Between June 2018 and June 2019, she earned $55 million.
She earned just $400,000 for her role in Iron Man 2. She earned low single-digit millions for the next few Marvel movies. It took six Marvel appearances for her to finally earn $15 million for a standalone Black Widow movie. She earned $15 million for Avengers: Infinity War and Avengers: Endgame.
In total, Scarlett Johansson likely has earned $60-75 million for her role in the various Marvel movies. She typically earns around $10 million upfront per movie. Her career high for a single movie salary (before backend) is the $17.5 million that she received for 2017’s “Ghost in the Shell”. She easily can earn $10-20 million per year from endorsements alone.