Hundreds of people poured on the streets of Afghanistan's capital on Sunday to protest at the deaths of nine children killed in a NATO air raid on a remote rebel stronghold.

The protesters chanted "death to America, death to the invaders" while marching through central Kabul.

The protest follows similar demonstrations in the north-east province of Kunar following the deaths on Tuesday of the nine children who were killed while collecting firewood.

President Hamid Karzai angrily condemned the killings and US president Barack Obama and General David Petraeus, the commander of the US-led troops in Afghanistan, apologised for the incident.

"We don't want the invading forces," chanted one demonstrator carrying posters of the dead children.

Another shouted: "Death to the government of president Hamid Karzai."

Two of Nasim's sons were among the nine boys who went into the hills to collect firewood last week but never returned.

"The Americans are wild," said the boys' father, who uses only one name and whose sons were aged 11 and 12, crying as he spoke.

"They don't value humanity and don't care about our children.

"The men who carried out the air strike and the ones who ordered it should be brought to court."

Civilian casualties are a sensitive issue in Afghanistan where US-led forces, currently numbering around 140,000 troops, are deployed against the Taliban who are waging an increasingly deadly insurgency.

Mr Karzai says the deaths of civilians in military operations turn people against his pro-US administration. Civilian casualties have been a key source of tension between Kabul and its Western backers, the US and NATO.

The killing of the nine children in a helicopter raid had followed an insurgent rocket attack on a US-led military outpost in the mountainous region.

One survivor of the attack, an 11-year-old boy, is reported as saying the helicopters hovered over the boys, rose up, fired rockets and then shot the boys one after the other using their canons.

NATO's International Security Assistance Force said the children were mistaken for rebels responsible for the attack on the base.

A week earlier, Mr Karzai said the troops had killed 65 non-combatants during operations in Kunar province's Ghaziabad district.

That was followed by another incident in which Afghan authorities said troops killed six civilians in neighbouring Nangarhar province, also in an air raid.

The force said it was investigating the allegations.

The Afghan army and police are due to take control of security in their own country from 2014.

Human rights watchdog the Afghanistan Rights Monitor said last month that 2010 was the deadliest year for Afghan civilians since the US-led invasion in 2001 ousted the Taliban.

At least 2,421 civilians were killed last year, it said, blaming the Taliban and other insurgents for more than 60 per cent of the dead.

At least 217 died in air strikes by international forces, it added.

- AFP