I recently updated Tom Anthony‘s original tool to get SEOmoz data into Google Docs. My update includes a simpler setup and fewer rate limit errors.
- SEOmoz API for Google Docs Quick Start Template
- Source code (on GitHub)
- Signup for a free SEOmoz API key
SEOmoz’s API has gotten very popular recently. Last month they updated their API limits to make sure that their popularity isn’t going to bring down their servers. With the new limits, Tom’s original tool would cause rate limit errors and with Google Docs’s 1 hour caching, you would have to wait an hour before you can start again.
I simplified the setup. Everything you need to setup is now in a “Settings” sheet. All you have to do is:
1. Get your SEOmoz API member ID and secret key
2. Paste your member ID and secret key into the “Settings” sheet
Using batch mode means you will get fewer rate limit errors if you need to get metrics for multiple URLs. This works by making calls to the API in batches of 10.
Don’t worry. Sending in batches is recommended by SEOmoz so you’re not breaking any rules (see: SEOmoz’s API documentation).
You might get still get errors with > 40-50 URLs because Google Docs might timeout. It’s not SEOmoz’s fault. It’s a Google Doc limitation. You should actually be writing your own code if you need that many metrics anyway.
1. Create a column with URLs you want to get metrics for.
2. Then use the function
=getLinkscape( ... ) and select all the URLs you need metrics for.
The easy way is to type out
=getLinkscape( — up to the left parenthesis, then highlight all your URLs with your mouse. In my example, I selected all three cells.
If you select more than 10 the function will automatically get metrics from SEOmoz’s API in batches of 10. You can select as few or as many as you want but selecting in multiples of 10 will be is most efficient for the API.
3. Press enter, and the rest of the cells will fill themselves in. Magic!
Actually, not so much magic. Just code.
The function will give you all nine decimal places for the metrics (in case you actually need them). In the above example, I formated the numbers to two decimal places and made things look nice for the screenshot. From this point forward, I’m sure you can make it look great.
Copy and paste values: After getting the data you want, select everything and paste the values back in the same place. This way, the sheet won’t need to call the API again, it will already have the data.
Select URLs in multiples of 10: For example, select 30 URLs at once. This is most efficient for the API.
Thanks and I hope this helps speed things up for you. I’m usually found on Twitter @djchrisle