finding the right ad agency is difficult, because not all have clients in my niche
Wheel, I strongly suspect you already know all I'm about to state, but ... And, this is more difficult because of the lack of specifics, but ...
Is the product business to business or business to consumer?
Can you identify most of the companies in your niche? If not, I would suggest doing that first. With that data, finding the agencies can be relatively painless. (Wading through the agencies to find an account fit is just not efficient, unless the niche is so specialized that there are only a handful of agencies serving it).
At what level are you trying to play? National, regional or local? Big bucks, or whatever you can get? (Analogy to unsold airplane seats here: when the plane takes off with empty seats, that is unrealized profit. Do you really care about the size of the person in the seat, as long as the seat is sold? Arguably, full at whatever price is still full, and, presuming performance delivering the audience, you can always raise the rates or get new advertisers at a higher rate later).
One easy and cost-efficient way to identify the agency is to ask the client. The client person who handles marketing / advertising, etc. might be willing to share that, and you are going to want to pitch that person, at some point in time, anyway. All for the price of a telephone call.
After that, there are several national advertising / media trade pubs (print and digital versions) that can be mined for account data. Also, a very famous directory that has both agency (provides edited list of clients) and client (states the agencies of record) versions. Pricey, but valuable.
Mining news releases specific to identified companies and products can many times yield the Advertising Agency or PR Agency names.