Recruiters always ask this up front and INSIST that they must know. I have NEVER been denied the opportunity to interview for refusing to give a number upfront.
If you're applying at a company, it means you've done at least a little research on what they should be expected to pay and you see somewhere around that range as acceptable. You don't have to tell them that you've researched their rates and find them acceptable, because that too would be like giving them a range, instead the research is simply to avoid wasting your time. You wouldn't want to interview for a job that pays the position with compensation worth at most $60k when you're already making at least $100k.
This way, you have an advantage: you know roughly how much they pay but they have almost no idea how much (i.e. how little) you will accept as compensation. Best case scenario, they offer you MORE than what your research said they would, and you negotiate a little more on top of it and accept, assuming you actually like the job. Even if they say no to your counter offer, you're still ahead. Worst case scenario, they offer you less, they say no to your counter offers, and you have to decline. Either your research was wrong or they were lowballing you, either way you've got multiple other interviews in process (right?) so move on. If you find your research is repeatedly off the mark, find better sources.
No matter what, don't give them a number. Make them give you a number first and negotiate from there.