Microorganisms modify their environment by excreting by-products of metabolism, which can create new ecological niches that can help microbial populations diversify. A striking example comes from experimental evolution of genetically identical Escherichia coli populations that are grown in a homogeneous environment with the single carbon source glucose. In such experiments, stable communities of genetically diverse cross-feeding E. coli cells readily emerge. Some cells that consume the primary carbon source glucose excrete a secondary carbon source, such as acetate, that sustains other community members. Few such cross-feeding polymorphisms are known experimentally, because they are difficult to screen for. We studied the potential of bacterial metabolism to create new ecological niches based on cross-feeding. To do so, we used genome scale models of the metabolism of E. coli and metabolisms of similar complexity, to identify unique pairs of primary and secondary carbon sources in these metabolisms. We then combined dynamic flux balance analysis with analytical calculations to identify which pair of carbon sources can sustain a polymorphic cross-feeding community. We identified almost 10,000 such pairs of carbon sources, each of them corresponding to a unique ecological niche. Bacterial metabolism shows an immense potential for the construction of new ecological niches through cross feeding.