Hacker News new | ask | show | jobs
by hoop 5712 days ago
This is actually something I've been doing as a side project but it's not something I can give you access to right now. There are other "rank tracker" services, but none of them are instant. SEOmoz has one, which will allow you to enter up to 5 search terms, but you'll need to dish out some $$ to lift that limit - http://www.seomoz.org/rank-tracker

Basically, because the search engines don't provide this data through a public API, you end up having to use the different search APIs and crawl each one's results for your target domain.

2 comments

I checked out SEOmoz, but I didn't know they offered an ad-hoc rank checker until you pointed it out. PRO members can check 100 ad-hoc rankings per day, which isn't quite enough for us on a busy day (a 3,000/mo quota would likely be plenty, but 100/day would leave us short some days).

Plus, I don't see an API for that particular tool (they have an API for other tools), which makes it tough to integrate into our internal toolkit.

If you do release your tool to the public, please let me know. I'd be interested in it as a subscription service or installable server-side software.

I've taken note of your email address and I'll certainly let you know. I'm not far off from being able to provide testing access to the data through a RESTful API, so you should hear from me within a couple of weeks.
Does this mean that (in your opinion) the rankings aren't particularly accurate?
It's not that I think that the rankings aren't accurate, but I do think that they vary (slightly) in the ways you mentioned in your previous comment (locale, language, etc).

I should qualify that and say that based on the rank tracking I've been doing, so far every time I've manually checked my results they've been spot on but, as you point out, Google's own documentation suggests that this may not always be the case.

What I was getting at, but wasn't very clear about, is that these results are far from instant due to the fact that you're looking at potentially 27+ API requests per search term. (3 search engine APIs, up to 9 pages of results for each -- Google's API maxes out at 72 results)

I currently do this every hour while in testing and store the results in my datastore. Then I in the web-app I pass this data to the Google charts API. The result is presently something that looks like this - http://imgur.com/PidBG.png

I think that's actually a pretty reasonable way of doing things. That said, I probably wouldn't worry too much about getting 9 pages of rankings -- once you're past 1 or 2, does it really matter (except as "boy I need to work on that one")?

The only thing I would suggest is in your testing, make sure you're using a clean browser (e.g. not logged into your google account, no cookies set for google, etc.) Otherwise, since you're running your API requests (assuming you're using the JS interface) from your browser (thus your google account) and checking the results from your google account/browser, then the results will be the same. Because the variance is tied to history, preferences, locale, etc. So I'd double check from a clean browser (preferably in a different location if you can) because otherwise you're supplying the same input as from the API calls.