All US-Mexico border traffic has been halted at the busy crossing between San Diego and Tijuana, the US Customs and Border Protection agency has said.

It comes as hundreds of Central American migrants massed at the border intending to apply for asylum in the United States.

Traffic in both directions has been suspended at the San Ysidro port of entry, the agency said on Twitter.

US President Donald Trump has raised alarms about the caravan of migrants as it approached the United States, and has deployed military forces to the border to support the Border Patrol.

Mr Trump tweeted on Saturday that migrants at the US-Mexico border would stay in Mexico until their asylum claims were individually approved in US courts, but Mexico's incoming government denied they had struck any deal.

US Customs and Border Patrol officers have gathered on the US side in a show of force.

Video clips posted on Twitter showed large numbers of migrants dashing across a shallow concrete waterway toward the border.

Several thousand migrants, most from Central America, have been gathering in Tijuana in hope of entering the US.

At least 500 migrants, including several women and children, had been taking part in a peaceful demonstration in Tijuana before dashing toward the border in an attempt to clamber over a first metal barrier there.

Several hundred made it over the first barrier and were trying to cross a second - topped with spikes - when US border officers began firing tear gas at the group, even as US Army helicopters flew low overhead, according to an AFP journalist on the scene.

The migrants tried to protect themselves - covering their faces, with mothers holding their children close.

Amid the stinging gas, several migrants turned back, even as others tried to forge ahead.

Mr Trump has repeatedly warned that the large group of migrants moving through Mexico toward the US included criminals and possibly terrorists, while providing no evidence to support that.

He has deployed some 9,000 US troops along the border in support of border patrol agents.

Around 5,000 migrants reached Tijuana over the past week, after an exhausting trip of up to 4,000km covered in just over a month.

Many were fleeing violence and poverty in Honduras in hopes of finding asylum in the US.

The San Ysidro border post is a busy one, with thousands of people passing through every day.