The only free ways I can think of, is checking social media sites(search for any messages that say "Happy Birthday"), social engineering them(consider horoscope in conversations or even one of those stupid little questionnaires), possibly public records(arrest records and booking information especially).
If you can get a general date range, you may be able to test each day in that range, individually, on certain online applications. Then when the application is finally accepted, you'll have the DOB. You would have to search for these types of applications for your area though. I personal know of a dozen in my area that work wonders(for DOB and drives license number).
Sometimes you can find an online info page that'll have their current age, and if you check it everyday throughout the year, when the age increases, you'll have the DOB that they entered in. It doesn't mean that it's correct though. A lot of people, including myself, enter in false DOB on online profiles.
Good luck.