Here is the last article version that described accessing the v2 API (obsolete after December 15, 2016 as Microsoft cancelled the service).
Here's the same example as text, for pasting, etc.:
PS C:\temp> $BingQuery = "bill gates"PS C:\temp> # $MyBingApiKey = 'your key here' # set earlier
PS C:\temp> $WebSearch = Invoke-RestMethod -Uri ` "https://api.cognitive.microsoft.com/bing/v5.0/search?q=$BingQuery&count=3&mkt=en-us" ` -Headers @{ "Ocp-Apim-Subscription-Key" = $MyBingApiKey }
PS C:\temp> $WebSearch.GetType().FullName System.Management.Automation.PSCustomObjectPS C:\temp> $WebSearch
_type : SearchResponse webPages : @{webSearchUrl=https://www.bing.com/cr?IG=027A6C7631D3475FBF447BB2CD2B87A9 &CID=05CE6A693AB46EAE0DDA63883B536F31&rd=1&h=W8hngOM84FSaRr8SkjXGZZHmLQ9nw PfNLzvKn-f8V2Q&v=1&r=https%3a%2f%2fwww.bing.com%2fsearch%3fq%3dbill%2bgate s&p=DevEx,5395.1; totalEstimatedMatches=12400000; value=System.Object[]} images : @{id=https://api.cognitive.microsoft.com/api/v5/#Images; readLink=https:// api.cognitive.microsoft.com/api/v5/images/search?q=bill+gates&qpvt=bill+ga tes&qpvt=bill+gates; webSearchUrl=https://www.bing.com/cr?..... more stuff news : @{id=https://api.cognitive.microsoft.com/api/v5/#News; readLink=https://ap i.cognitive.microsoft.com/api/v5/news/search?q=Bill+Gates; value=System.Object[]} relatedSearches : @{id=https://api.cognitive.microsoft.com/api/v5/#RelatedSearches; value=System.Object[]} videos : @{id=https://api.cognitive.microsoft.com/api/v5/#Videos; readLink=https:// api.cognitive.microsoft.com/api/v5/videos/search?q=bill+gates; webSearchUr l=https://www.bing.com/......... more stuff rankingResponse : @{mainline=; sidebar=}
It looks like the "webPages" property could be interesting, so I have a look at that.
PS C:\temp> $WebSearch.webPages
To avoid cluttering the article with needless information I won't paste the results of that output here, but rather mention that you get a "webSearchUrl", 'totalEstimatedMatches" and "value" back. The parts I'm after appear to be under "value", so I dig into that.
PS C:\temp> $WebSearch.webPages.value | select -first 1 id : https://api.cognitive.microsoft.com/api/v5/#WebPages.0 name : Bill Gates - Wikipedia url : https://www.bing.com/cr?IG=027A6C7631D3475FBF447BB2CD2B87A9&CID=05CE6A693A B47EAE0DCA63883B536F31&rd=1&h=sJ3MQUNecp3xt9gRahWs1jk3wBVjUYXg6DLuv5cGQMU& v=1&r=https%3a%2f%2fen.wikipedia.org%2fwiki%2fBill_Gates&p=DevEx,5093.1 about : {@{name=Bill Gates}} displayUrl : https://en.wikipedia.org/wiki/Bill_Gates snippet : William Henry "Bill" Gates III (born October 28, 1955) is an American business magnate, investor, author and philanthropist. In 1975, Gates and Paul Allen ... dateLastCrawled : 2016-12-02T15:50:00
Then we can get the parts we want out of that, for instance name/title and display URL ("real URL").
PS C:\temp> $WebSearch.webPages.value | select Name, DisplayUrl | ft -AutoSize name displayUrl ---- ---------- Bill Gates - Wikipedia https://en.wikipedia.org/wiki/Bill_Gates Bill Gates - Biography.com www.biography.com/people/bill-gates-9307520 Bill Gates | Facebook https://www.facebook.com/BillGatesPowershell Windows Bing Search All Categories
Minimum cookies is the standard setting. This website uses Google Analytics and Google Ads, and these products may set cookies. By continuing to use this website, you accept this.