  A (convex) polytope $P$ is said to be $2$-level if for every direction of
hyperplanes which is facet-defining for $P$, the vertices of $P$ can be covered
with two hyperplanes of that direction. The study of these polytopes is
motivated by questions in combinatorial optimization and communication
complexity, among others. In this paper, we present the first algorithm for
enumerating all combinatorial types of $2$-level polytopes of a given dimension
$d$, and provide complete experimental results for $d \leqslant 7$. Our
approach is inductive: for each fixed $(d-1)$-dimensional $2$-level polytope
$P_0$, we enumerate all $d$-dimensional $2$-level polytopes $P$ that have $P_0$
as a facet. This relies on the enumeration of the closed sets of a closure
operator over a finite ground set. By varying the prescribed facet $P_0$, we
obtain all $2$-level polytopes in dimension $d$.
