The most comprehensive resource I know of is The Foundation Center (http://foundationcenter.org/). Major foundations in your city likely subscribe to their very extensive funder researching tools. These foundations typically also have a library of local funding resources as well as directories to a wide range of other regional and national sources.
Over the years I was very well served taking some seminars on how to research using these tools. Key things to remember:
If the funder does not accept unsolicited applications don't contact them - unless they clearly state they accept such contact. As an alternative, after researching them closely, you may find ways to get yourself in front of their board members, major donors, partners etc. They can then 'discover' you and take your project back and through their internalized opportunity process.
Drill down to the highest potential funder targets and create a single calendar with the various funding cycle dates. Don't allocate your time working hard (i.e. researching and grant writing) on one funder who's deadline is 90 days away, even if they are a high probability - if you're going to miss the deadline for a mid-probability opportunity that's 30 days away.
Research the heck out of the foundation before approaching them. Especially search for past grantees, look for annual reports that describe their relationships and deliverables etc. Find connections - they're everywhere.
Ditto #3 - Learn who is the primary contact and research them as well. Find out how they tick, what interests them and what successes they've had.
Take 'development' seminars or courses to learn how major non-profits and foundations research their funding targets (donors). You'll likely be fascinated with the wide range of tools they use, many which can apply to your (our) situation.
Partner Up! If you can connect your program along with another NPO's all the better. They like collaborations. Of special interest to the funders is your partnering with their other (successful) grantees.
Attend your local Meetups that focus on non-profits. You'll be surprised how many there are. When networking with other NPO's look for the development people and ask them for advice and help. You'll likely be in non-competitive markets and most love to help.
Thanks!