The surface engineering of the apoferritin shell by means of traditional chemical modifications usually suffers from site inaccuracy and insufficient conjugation. This report describes a non-covalent method for precise modulation of the apoferritin surface without alteration of amino acid residues. A bifunctional macromolecule, structured as azide-poly(ethylene glycol)-porphyrin (termed TPA), was synthesized. TPA was observed to be able to recognize and bind apoferritin in a 12 : 1 stoichiometry with a higher binding affinity than arachidonate, thanks to the specific host-guest interaction between the pocket of each two-fold channel and the porphyrin moiety. This method allows for site-specific engineering of the apoferritin surface with on demand functionalities and optimization of drug encapsulation.