They said rising cases meant domestic demand was expected to pick up in the coming weeks, and so the doses were needed for India’s own rollout.
The move – described as a “temporary squeeze” by officials – is expected to affect supplies until the end of April.
Some 190 countries under the Covax scheme are likely to be affected.
The scheme, which is led by the World Health Organization (WHO), aims to ensure vaccines are shared fairly among all nations.
India’s largest vaccine manufacturer, the Serum Institute of India (SII), has delayed shipments of the AstraZeneca jab to several countries in recent days, including the UK and Brazil.
India has exported more than 60 million vaccine doses to 76 countries so far, with the majority of these being the Oxford-AstraZeneca jab.
Why has India taken this step?
The decision comes as India faces a surge in coronavirus cases. On Wednesday it recorded its sharpest daily rise this year, with more than 47,000 new cases and 275 deaths.
It is opening up vaccinations for those over the age of 45 from 1 April, and officials expect demand for vaccinations to increase.
“[The export hold] is a temporary measure. Domestic demand will have to take precedence,” one foreign ministry source told the BBC’s Soutik Biswas.
They said there was likely to be a squeeze on vaccine supplies until April, but the situation could ease come May when at least one additional vaccine is expected to be given emergency approval.
There have been no exports from India since Thursday, according to the foreign ministry’s website.
“Everything else has taken a backseat, for the time being at least,” one source at the ministry told Reuters news agency. “No exports, nothing [until] the India situation stabilises.”
There has been no official comment from the government or the SII on the decision.
What’s the background?
The SII – the world’s largest vaccine manufacturer – has already delayed shipments of the AstraZeneca jab to the UK, Brazil, Saudi Arabia and Morocco.
Last week, the BBC reported that a delivery of five million doses had been held up by four weeks.
“We will try to supply more later, based on the current situation and the requirement for the government immunisation programme in India,” an SII spokesperson said at the time.
The SII has said it will produce one billion doses this year for low- and middle-income countries.
And in January, it said it could turn out between 60 and 70 million vaccine doses a month. This figure included the AstraZeneca vaccine as well as the US-developed Novavax jab, which is not yet licensed for use in India.
That month, the SII also told the BBC that it was aiming to boost its monthly production to 100 million doses from March. However, a recent check revealed production was still at 60 to 70 million doses and had not increased.
The Indian government began its vaccination programme on 16 January, and so far has inoculated over 47 million people amid fears of a possible second wave.
The authorities are hoping to administer 600 million doses within seven months – about 85 million doses a month.