I'm trying to download json data using curl in PHP from companies house API.
Here is the example they provide that I'm trying to use: https://developer.companieshouse.gov.uk/api/docs/company/company_number/readCompanyProfile.html#here
The example:
curl -uYOUR_APIKEY_FOLLOWED_BY_A_COLON: https://api.companieshouse.gov.uk/company/{company_number} My code
<?php $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, "https://api.companieshouse.gov.uk/company/01000000"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, array( 'curl -u8yUXrestOfmyApiKey:' )); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); $result = curl_exec($curl); if(false == $result){ echo curl_error($curl); } curl_close($curl); print($result); ?> Using header:
'-u my_api_key:8yUXGgcHznjaNWnKpuKIJ7yv7HDvU_slH273GuF1' I get 400 - bad request and with header in my code above I get nothing no errors blank page no data.
PS. There is a company with number 01000000 I've checked
-uis NOT a header. it's used to pass auser:passpair to curl. you wantCURLOPT_USERPWDinstead.curl -uis not a valid http header. you have use curlopt_userpwd. whether you provide an actual pw or not is up to you, but what you're doing is invalid.