"I'm happy to confirm Serena is expecting a baby this Fall," Los Angeles-based publicist Kelly Bush Novak said in a statement emailed to AFP yesterday.
While Williams won't play again this year, "she looks forward to returning in 2018," Bush Novak said.
Williams' Snapchat post, quickly highlighted in US media, showed the 35-year-old in a yellow swimsuit that revealed an apparent baby bump.
But the post was quickly taken down, lending an air of mystery to its meaning.
"The GOAT herself @serenawilliams took to Snapchat to announce she's 20 weeks pregnant! Congratulations Serena!" the US Tennis Association, organisers of the US Open which Williams has won six times tweeted, using the acronym for "Greatest Of All Time".
But the Women's Tennis Association deleted a congratulatory tweet and acknowledged in a statement they had no confirmation of the news.
It was hours before they could tweet: "It's official! @SerenaWilliams and @AlexisOhanian are expecting a baby this fall."
In December, Williams announced her engagement to Reddit co-founder Alexis Ohanian, first sharing that news on the Reddit social media site.
If Williams is 20 weeks into her pregnancy, that means she was already expecting when she won her record-setting 23rd Grand Slam title at the Australian Open in January -- where she beat her elder sister Venus in the final.
For fans the announcement underscored Williams' superwoman status.
Williams hasn't played since her Australian Open triumph, which saw her surpass Steffi Graf for the most Grand Slam singles titles in the Open Era.
Only Australian Margaret Court has won more, capturing 24. The last of those came in 1973 -- the year after Court gave birth to a son.
Williams cited a knee injury in pulling out of tournaments in Indian Wells and Miami in March.
Her inactivity saw her drop to second in the world rankings. But she is set to regain the top spot from Germany's Angelique Kerber on Monday when the latest standings are published.
Williams wouldn't be the first top women's player to return to competition after having a baby, but she would be the oldest.
Belgium's Kim Clijsters came out of retirement at the age of 26 after having a child and won three Grand Slam titles.
Former world number one Victoria Azarenka of Belarus, 27, won the Indian Wells and Miami titles in March of last year before missing the rest of the season as she awaited the birth of her first child in December.
Since the birth of son Leo, Azarenka has returned to training and plans to return to competition at the WTA tournament in Stanford, California, in July.
But Williams has proved herself capable of returning to top form after long absences from competition.
She was sidelined for almost 12 months after her 2010 Wimbledon victory, returning from a potentially life threatening pulmonary embolism.
Over the past year Williams' schedule has included few tournaments outside the Grand Slams.
Her appearance at the Australian Open tuneup event in Auckland, New Zealand, marked her first tournament since a semi-final exit at Flushing Meadows last September.