API library entry of the day: use builtwith.com to see how websites are built

I came across a great site, builtwith.com, that shows the technology being used in a given web site. You can also take a look and see the usage of various specific technologies over time. Now, this site has an API, so I thought I’d add it to the rest library. I’m going to break the usual rule of only adding entries that don’t need API developer keys. This one does, so if you want to use this, you’ll have to apply for your own API key, and tweak the testbuiltwith function in the  ‘restlibraryexamples’ module in cdataset.xlsm, which you can download from the Excel Liberation site.

Here’s the output for ‘msdn.com’. (Interesting that microsoft are using both google webmaster and bing webmaster).

Today I’m only publishing the Excel version. I will do a Google Apps Version at some point, but I’ll use it as an example of using scriptdb as a lockbox to hide your API keys., so look out for that in the next few days.

Here’s the code,

Public Sub testbuiltwith()
    Dim myKey As String
    ‘ set you api Key here
    myKey = “”
    If myKey = vbNullString Then
        MsgBox (” you need to get your own API key from builtwith.com to run this”)
        generalQuery “builtwith”, “builtwith”, _
         URLEncode(InputBox(“Enter web site name”)), , , myKey
    End If
End Sub

and the library entry,

        With .add(“builtwith”)
            .add “restType”, erRestType.erSingleQuery
            .add “url”, “http://api.builtwith.com/api.json?lookup=”
            .add “results”, “Technologies”
            .add “treeSearch”, False
            .add “ignore”, vbNullString
            .add “append”, “&key=”
        End With

(function() {
var po = document.createElement(‘script’); po.type = ‘text/javascript’; po.async = true;
po.src = ‘https://apis.google.com/js/plusone.js’;
var s = document.getElementsByTagName(‘script’)[0]; s.parentNode.insertBefore(po, s);

Author: brucemcp

Leave a Reply

Your email address will not be published. Required fields are marked *