The bus was travelling through Dahyan market in Saada province at the time.
The health ministry run by the rebel Houthi movement said at least 43 people were killed. The Red Cross said most of the victims were under 10 years old.
The coalition, which is backing Yemen’s government in a war with the Houthis, said its actions were “legitimate”.
“[The air strike] conformed to international and humanitarian laws,” spokesman Col Turki al-Malki said in a statement.
He added that the coalition had responded to ballistic missile launches by the rebels, which he said had targeted civilians in the southern Saudi city of Jizan.
The coalition has insisted it never deliberately targets civilians but human rights groups have accused it of bombing markets, schools, hospitals and residential areas over the past three years.
In a message on Twitter, the International Committee of the Red Cross (ICRC) in Yemen said a hospital it supports in Saada had received dozens of casualties on Thursday.
The head of the ICRC’s delegation in the country later said “scores” had been killed, with many casualties under the age of 10. He added that the organisation was sending additional supplies to hospitals in the area.
The ICRC’s communication co-ordinator in Yemen confirmed the reports to the BBC but did not offer any further details.
Almost 10,000 people – two-thirds of them civilians – have been killed since the Houthi movement took control of much of the north of the country, including the capital Sanaa, in 2014, forcing President Abdrabbuh Mansour Hadi into exile in neighbouring Saudi Arabia.
The following year, a coalition of Arab states led by Saudi Arabia intervened in the conflict.
Earlier this year, the UN children’s agency UNICEF said that more than 5,000 children had been killed or injured during the conflict, with “nearly every child in Yemen” in need of humanitarian assistance.
Speaking to the BBC last month, Mr Hadi said that military intervention by the Saudi-led coalition had gone on longer than expected but the alternative, he added, was far worse.