TEHRAN—One month after the Trump administration said it would tighten its ban on Iran’s oil sales, the country’s direct crude buyers have all but vanished, traders and executives in the Islamic Republic say.

Secretary of State Mike Pompeo announced in late April the end of exemptions to eight countries that had been allowed to buy crude despite a U.S. ban on Iran’s exports. Since then, China, India, Turkey, South Korea and Japan have ended all direct purchases of Iranian crude and condensates, they said. Three others—Taiwan, Greece and Italy—had been unable to use the waiver due to banking and insurance issues.

The exempted buyers bought up to 1.6 million barrels a day of Iranian crude in March combined, Rahim Zare, a member of the economic commission at Iran’s parliament, told The Wall Street Journal.

Mr. Pompeo’s move took oil markets by surprise but Iran’s oil buyers appear to have pre-empted the decision. Japan and South Korea received their last cargoes of Iranian oil at least a month before the U.S. ended waivers, while China, Turkey and India received them during the last three weeks before Mr. Pompeo’s announcement, one Iranian oil-industry executive said.

“They are really abiding by the sanctions,” he said. The executive’s account was confirmed by tanker movements between Iran’s Kharg Island terminal and Asian ports, using satellite and radio data from German tracking website FleetMon.