Dim myKey myKey = "Enter your key here" Dim apigooglecom apigooglecom = "http://api.google.com/search/beta2" FUNCTION GoogleResults(gQuery, gKey, startpage) 'function returns array - URL, Title, Snippet, Desc If Trim(gQuery) = "" Then Exit Function If Trim(gKey) = "" Then Exit Function Dim Qry Set Qry = Server.CreateObject("MSXML2.DOMDocument") Qry.load Server.MapPath("doGoogleSearch.xml") Qry.selectSingleNode("//key").Text = trim(gKey) Qry.selectSingleNode("//q").Text = trim(gQuery) Qry.selectSingleNode("//start").Text = ((startpage-1)*10) Qry.selectSingleNode("//maxResults").Text = 10 ' Post the SOAP message. Dim soap Set soap = Server.CreateObject("MSXML2.ServerXMLHTTP") soap.open "post", apigooglecom, False soap.setRequestHeader "Content-Type", "text/xml" soap.setRequestHeader "SOAPAction", "doGoogleSearch" soap.send Qry ' Dump the results into an XML document. Dim Res Set Res = Server.CreateObject("MSXML2.DOMDocument") Res.loadXML (soap.responseText) ' Parse the XML document. Dim rURL Dim rTitle Dim rSnippet Dim rDesc Dim rsize Dim resArray ReDim resArray(10,4) Dim Nodes, Node, c c=0 Set Nodes = Res.selectNodes("//item") For Each Node In Nodes 'retrieve the values rURL="" on error resume next rURL = Node.selectSingleNode("URL").Text rTitle = Node.selectSingleNode("title").Text rSnippet = Node.selectSingleNode("snippet").Text rDesc = Node.selectSingleNode("summary").Text rsize = Node.selectSingleNode("cachedSize").Text on error goto 0 if Trim(res_URL)<>"" then 'its a result resArray(c, 0) = rURL resArray(c, 1) = rTitle resArray(c, 2) = rDesc resArray(c, 3) = rSnippet resArray(c, 4) = rsize c=c+1 End If Next 'return array GoogleResults = resArray End FUNCTION