I am working on a project that needs to classify a company's industry. Is there any api/any programmatic way in any language that can be used to classify the industry a company belongs to? The companies are mainly in North America but world wide company's data would be great.
It..depends. Depends on who you ask. NAICS is good. TBRC (Thomson Reuters Business Classification) will offer a somewhat different view of what company is in what industry (and, to get more meta, what is an industry? What is a sector? What delineation do we want? etc).
If you're only after publicly traded companies, then stock exchange APIs would be an easy way to work back from as well. One I've used before is EODData. Their APIs aren't free (but cost a trivial amt) and are pretty poorly laid out, but they have a large amount of data for global companies found within most major stock exchanges.
But again.. it really just depends on your exact requirements. Most likely any data set should help get you 90% of the way there, even if you're not certain on requirements.
I have the feeling that you'll be better off getting the company's industry directly (preferably classified). Given the region, I can point you to the Unigraph's API, here is a query returning the sic code for Microsoft. Data is available on publicly traded companies as reported to SEC Edgar.
As @jan-doggen correctly pointed out it depends on the location.
And as @albert answered Canada and US are using NAICS, however public companies report to the SEC using SICs. More on the NAICS vs SIC can be found here.
Now for the location issue/ perspective:
For example, the US and the UK use SIC codes (Standard Industry Classification). An output of the Companies House API returns a company's industry like so:
"sic_codes": [ "62012", "62020", "63110", "63990"]
There is then a reference to what a code means what on the Companies House website.
Here is the classification (the US SIC codes) used by the US. Department of Labor.
Then, many European countries have adopted the NACE coding system: "Classification of Economic Activities in the European Community". Which has at least two versions: one of 2003 and one of 2008. Or use their own, somewhat close to the NACE, check Bulgaria's for example. Moldova and Romania run their own classification, Romania's can be found here.
So, we really need more context and a better use case / need description to answer your question.
You can use Relativity6 API service to classify business with NAICs, just using business name and address. The system will perform a real-time consulting with the help of an IA to classify the business.
Disclaimer: I work for Relativity6.