“In terms of the historical record, I should also point out that there is no account in any ancient source whatsoever about King Herod slaughtering children in or around Bethlehem, or anyplace else. No other author, biblical or otherwise, mentions this event. Is it, like John's account of Jesus' death, a detail made up by Matthew in order to make some kind of theological point?”
― Bart D. Ehrman, Jesus, Interrupted: Revealing the Hidden Contradictions in the Bible & Why We Don't Know About Them
I'm curious what Ehrman considers an "ancient source," and I mean that in all sincerity. No sarcasm. While it is true that no contemporary of Matthew, Biblical or otherwise, commented on it, we do have some quotes from only a short time later.
First is the 2nd-century apocryphal Protoevangelium of James of c.150 AD:
"And when Herod knew that he had been mocked by the Magi, in a rage he sent murderers, saying to them: Slay the children from two years old and under. And Mary, having heard that the children were being killed, was afraid, and took the infant and swaddled Him, and put Him into an ox-stall. And Elizabeth, having heard that they were searching for John, took him and went up into the hill-country, and kept looking where to conceal him. And there was no place of concealment. And Elizabeth, groaning with a loud voice, says: O mountain of God, receive mother and child. And immediately the mountain was cleft, and received her. And a light shone about them, for an angel of the Lord was with them, watching over them."
The first non-Christian reference to the massacre is recorded four centuries later by Macrobius (c. 395-423), who writes in his Saturnalia:
"When he [emperor Augustus] heard that among the boys in Syria under two years old whom Herod, king of the Jews, had ordered to kill, his own son was also killed, he said: it is better to be Herod's pig, than his son."
Some skeptics view the story as being apocryphal or symbolic because it is not even mentioned by Josephus, but many scholars argue for its historicity. R. T. France argues for plausibility since “the murder of a few infants in a small village [is] not on a scale to match the more spectacular assassinations recorded by Josephus” and Gordon Franz points out that Josephus also fails to mention other important first century events, such as "the episode of the golden Roman shields in Jerusalem which was the cause of the bad blood between Herod Antipas and Pontus (sic) Pilate".
Also, Barclay finds Josephus' silence not relevant, comparing him to John Evelyn, who failed to mention the masscre at Glencoe. Paul L. Maier argues that skeptics and Biblical scholars alike have tended to "regard opinion as fact, and have largely avoided a careful historical search into the parameters of the problem". After analyzing the arguments against the historicity of the infant massacre Maier concludes they all "have very serious flaws". Maier follows Jerry Knoblet in arguing for historicity based on the "identical personality profiles that emerge of Herod" in both Matthew and Josephus.
While it may be true that no contemporary of Matthew mentions the massacre, and that certain parts of the Bible, even in the life of Jesus, are the product of later Christian interpolation, the jury is still out of the massacre of the infants. Scholars are divided and there are reasonable grounds to believe it happened, while arguments against its historicity "have very serious flaws." But despite what Ehrman thinks, the incident is mentioned by ancient authors, depending on his definition of "ancient," with the oldest reliable source being c.400 AD.