The only way I believe this can be achieved is through the bulk data, i.e you create your own database from the bulk data and then search that.
The reason is that SIC codes are not unique to a company, and a company can have multiple SIC codes. Saying that, there is a search API which you can try: Companies House Public Data API: Search All (company-information.service.gov.uk)