Harlot is an old-fashioned word for a prostitute — a woman who has sex for money.
These days, calling a woman a harlot is usually done humorously. This word is too old-sounding and unusual to be very insulting. Still, you shouldn't call anyone a harlot, because it's a term — just like "whore," "strumpet," and "lady of the night" — for a woman who has sex for money. That's never been a compliment, even though today the world's oldest profession has a much nicer term: sex worker.