Abstract Polyurethane foam was modified by the addition of halogen atoms and amino groups into the foam matrix in order to increase its polarity for the sorption of ionic species. The halo-modified sorbents (X-PUFs, X = Cl, Br or I) were characterized using FTIR, UV/Vis and Raman spectroscopy, EA, XRD and SEM. The average values of pHZCP, maximum value of ∆pH (pH 9) and bulk DC conductivity for X-PUFs are 3.8, −1.9 and 2.6 × 10−5 Ω−1 cm−1, respectively. The activity of the surface functional groups of X-PUFs were evaluated by the extraction of Bi(III), Co(II), Fe(III) and Mo(III) ions and extraction conditions including pH, shaking time, flow rate, temperature and initial metal concentration were optimized. Maximum extraction of those ions was achieved as their thiocyanate complexes in acidic medium (pH 1–3, 5–6 and 1.5–2 mol L−1 H2SO4) within 1–30 min. A perfect isotherm curve with almost zero intercept (0.008), good correlation coefficient R2 (0.973) was obtained. The values of LOD, LOQ and RSD (n = 6) for the determination of Bi(III), Co(II), Fe(III) and Mo(III) ions are 2 ng L−1, 7 ng L−1 and 0.75%, respectively. The sorption capacities of the tested metal ions onto Cl-PUF, Br-PUF and I-PUF are 0.16, 0.14 and 0.14 mmol g−1, respectively. The accuracy of the procedure was verified by the analysis of food, ground water and pharmaceutical samples with recovery and average RSD values of 99–100% and 2.39%, respectively.