Senators, on a voice vote, approved an amendment requiring the Buy American provisions be "applied in a manner consistent with US obligations under international agreements."
The change gives Canada, Mexico, the European Union and certain other major trading partners some comfort they would be exempted from a strict requirement in the bill that all public works projects funded by the stimulus package use only U.S.-made iron, steel and manufactured goods.
The House of Representatives has passed a nearly identical Buy America provision without such a guarantee.
Senator John McCain, an Arizona Republican, urged the Senate to go further and specifically bar any Buy American provision as part of the stimulus package. But senators rejected his amendment by a vote of 65-31.
"The Buy American provisions ... have echoes of the disastrous Smoot-Hawley tariff act," McCain said, referring to 1930s legislation often blamed for prolonging the Great Depression. "It sends a message to the world that the United States is going back to protectionism."
The Emergency Committee for American Trade, an organization of U.S.-based corporations, and a coalition of more than 125 businesses and trade associations have warned the Buy American plan could trigger a string of trade restrictive measures around the world. They urged senators to kill it.
But Sen. Byron Dorgan, a North Dakota Democrat, said all supporters of the Buy American plan were trying to do was to ensure American workers benefit the most from public works projects funded by the stimulus plan.
"Twenty thousand people a day are losing their jobs. ... We're going to shovel a lot of money out the door of this Congress in support of economic recovery. The question is are we going to try to put people back to work," Dorgan said.
The United States has made commitments under the North American Free Trade Agreement and the World Trade Organization to provide trading partners such as Canada, Mexico, Japan and the EU with access to its government procurement market and has received similar commitments in exchange.
But other countries such as China, Russia, India and Brazil are not party to those pacts so would not have any protection from the language passed by the Senate on Wednesday.
Obama, asked about the Buy American provisions in television interviews on Tuesday, said the United States had to be careful not to include any provisions in the stimulus bill that could "trigger a trade war."
"I think it would be a mistake ... at a time when worldwide trade is declining, for us to start sending a message that somehow we're just looking after ourselves and not concerned with world trade," Obama said on the Fox network.
US steel companies and workers who have seen demand plummet as result of the recession have pressed hard for a Buy American provision, arguing U.S. tax dollars to fund public works projects should be used to create American jobs.
The House included a Buy American provision for U.S.-made iron and steel in its $825 billion stimulus package last week, triggering an intense effort by other business groups to have it removed before the final bill reaches Obama's desk.
John Bruton, the EU ambassador to the United States, told Reuters in an interview this week that approval of the measure would damage Obama's global leadership.
Canada's ambassador to the United States, Michael Wilson, also has urged Congress to drop the provision.
White House spokesman Robert Gibbs said Obama supported Buy American provisions already in US law that give preferences to domestic manufacturers in public works projects, but wanted to avoid an expansion that violates trade commitments.
Lawmakers from steel-producing states insisted on Wednesday that the "Buy American" plan approved in the House remain part of the huge US economic stimulus bill.
"If it's not in, I'm not supporting this package and I'll bring a lot of votes with me," House of Representatives Transportation Committee Chairman James Oberstar, a Minnesota Democrat, said after a Congressional Steel Caucus hearing.