Google have the biggest data set, but it's geared towards advertisers, and includes things like ad impressions, which skews the results rather heavily.
You can only obtain really accurate data with real-world stats, e.g. via Adwords advertising or web analytics for a site that already ranks. That said, the numbers are usually in proportion so if you pick the highest volume relevant keyword you're not likely to be far off.
It really depends on what degree of accuracy you're comfortable with.