PowerShell Method

In case it helps anyone I have used PowerShell to bring search data back.
All you need to do is put your API Key in place of the one below which is not usable.

Please let me know any improvements or suggestions.

#sample Powershell to pull company info back. Please test improve and share any similar scripts

#Change this for company name info required
$company = "test"

#Change this. Enter the API key given after registration on the website
$apikey = "d4F4J73S4d1Auh3d55fgt5ewqyu8I-f5dek63l-h6"

#Colon is added to end of key
$apikeyedit = $apikey + ":"

#This converts the apikey into a readable format
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($apikeyedit))
$basicAuthValue = "Basic $encodedCreds"
$Headers = @{Authorization = $basicAuthValue}

#Pulls the data from the site expands content and converts from json
$results = Invoke-WebRequest -Uri "https://api.companieshouse.gov.uk/search/companies?q=$company" -Headers $Headers | select -ExpandProperty content | ConvertFrom-Json

#Filter objects from items and display
$results.items | select company_number,title,company_status,address_snippet

I would love to hear from anyone who is currently working on integrations at a local council.

Thank you,

Tom Cox

I too have done some PowerShell’ing with this API. This version should return all records from all pages. My code can be found an GitHub here.