Around 250 million people are infected with hepatitis B virus (HBV) worldwide1, and 15 million may also carry the satellite virus hepatitis D virus (HDV), which confers even greater risk of severe liver disease2. The HBV receptor has been identified as sodium taurocholate co-transporting polypeptide (NTCP), which interacts directly with the first 48 amino acid residues of the N-myristoylated N-terminal preS1 domain of the viral large protein3. Despite the pressing need for therapeutic agents to counter HBV, the structure of NTCP remains unsolved. This 349-residue protein is closely related to human apical sodium-dependent bile acid transporter (ASBT), another member of the solute carrier family SLC10. Crystal structures have been reported of similar bile acid transporters from bacteria4,5, and these models are believed to resemble closely both NTCP and ASBT. Here we have used cryo-electron microscopy to solve the structure of NTCP bound to an antibody, clearly showing that the transporter has no equivalent of the first transmembrane helix found in other SLC10 proteins, and that the N terminus is exposed on the extracellular face. Comparison of our structure with those of related proteins indicates a common mechanism of bile acid transport, but the NTCP structure displays an additional pocket formed by residues that are known to interact with preS1, presenting new opportunities for structure-based drug design.