The only pay data that is current is the pay being advertised
A client asks what the role pays. You answer from memory, from the last three placements, or from a survey published long before this quarter. All three are defensible and none of them is today.
Job ads are today. Every live ad that states its pay is an employer saying, in public, what it is prepared to offer for this title in this place. Collected and cleaned, those ads give you a range you can put in front of a client with the evidence attached: this many ads, these employers, these links.
It is weaker evidence than it sounds, and the output says so. Most ads state no pay. The ones that do publish wide bands. The figure opens a negotiation and is not a payslip. The value is in holding the number and its limits together, which a range quoted from memory never does.
What you get back
A table with one row per ad that stated pay: employer, title as advertised, location, the pay in the advertiser's own words, the same figure on your chosen basis, whether an agency placed it, and the link.
Above it, a summary a client can read at a glance: the low, the high, the band where most ads sit, and the count behind each. Beside that, the number of ads found and the number that gave no figure. If the count is small, the summary says the range is too thin to quote.
Variations worth knowing
Contract desks. Run it on day rates or hourly rates. Keep contract and permanent ads apart, because converting one into the other invents a number no employer advertised.
A client's own ad against the market. If the client's advertised band sits at the bottom of the range, that explains a slow search better than anything about the candidates. It pairs with pitch the hiring managers whose roles have been open too long.
Pay next to supply. Run size a talent pool before you pitch for the role for the same role. How many people exist and what employers offer them is most of a fee conversation.
Where this goes wrong
Too few ads. A range built on a handful of ads is an anecdote. The count is printed beside every number so nobody mistakes it for more.
Mixed seniority. A title covers several levels. If the variants are loose, the range stretches until it says nothing. Tighten the title before widening the geography.
Agency ads repeated. One role advertised by several agencies looks like a market. They are marked and counted once where they can be matched.
Reading it as paid pay. Advertised bands leave out bonus and benefits and sit wide of the final offer. Say "advertised" every time you quote it.
Stale ads. An ad open for months is an offer the market has declined. Keep the posting window short.