In this paper, we first study the classification problem of positive solutions to the nonlocal Choquard equation \(\begin{aligned} (-\Delta )^{\alpha }u=\left( \textrm{I}_{\beta }*\left| u\right| ^{p}\right) \left| u\right| ^{p-2}u, \qquad u\in {\mathcal {D}}^{\alpha ,2}\left( {\mathbb {R}}^N\right) \cap L^{\frac{2Np}{N+\beta }}\left( {\mathbb {R}}^N\right) , \end{aligned}\) where \(\alpha \in \left( 0,\frac{N}{2}\right) \) with \(N\ge 1\) , \(\textrm{I}_{\beta }(x)\) is the standard Riesz potential with \(\beta \in \left( 0,N\right) \) if \(N\le 4\alpha \) , or \(\beta \in \left[ N-4\alpha ,N\right) \) if \(N>4\alpha \) , and \(p\in [2, 2^*_{\alpha ,\beta }]\) with \(2^*_{\alpha ,\beta }:=\frac{N+\beta }{N-2\alpha }\) which denotes the corresponding Hardy–Littlewood–Sobolev critical exponent. By applying the method of moving planes, we prove that the above Choquard equation has no positive solution in the subcritical case \(p\in [2, 2^*_{\alpha ,\beta })\) , and any positive solution must be of the form \(\begin{aligned} U_{\lambda , x_0}(x)=C_{\alpha ,\beta ,N}\left( \frac{\lambda }{\lambda ^2 +\left| x-x^0\right| ^2}\right) ^{\frac{N-2\alpha }{2}} \end{aligned}\) in the critical case \(p=2^*_{\alpha ,\beta }\) , where \(x^0\in {\mathbb {R}}^N\) , \(\lambda >0\) and the constant \(C_{\alpha ,\beta ,N}>0\) only depends on \(\alpha \) , \(\beta \) and N. Moreover, we prove that this solution \(U_{\lambda , x^0}(x)\) is non-degenerate. Based on the non-degeneracy result, we study the existence of solutions to the following Choquard equation with potential: \(\begin{aligned} -\Delta u+V(\left| x\right| )u=\left( \textrm{I}_{\beta }*u^{2_{1, \beta }^*}\right) u^{2_{1,\beta }^*-1},\qquad u\in {\mathcal {D}}^{1,2}({\mathbb {R}}^N), \end{aligned}\) where \(\beta \in [N-4,N-2)\) , \(N\ge 5\) , and \(V(\cdot )\) is a bounded non-negative function. We show that this Choquard equation possesses infinitely many non-radial solutions provided that \(r^{2}V(r)\) has an isolated local maximum point, or isolated local minimum point \(r_0>0\) satisfying \(V(r_0)>0\) .