In sites like facebook, a user can add his work position by typing few words and selecting the company
How do they get that data and how can I get that data so our users can also add work position the same way ?
Open Data Stack Exchange is a question and answer site for developers and researchers interested in open data. It only takes a minute to sign up.Sign up to join this community
Open Corporates is the largest public database of corporations in the world; they have a slew of data/apis/etc.
I'm not 100% on how to use Open Corporates, but after a quick peek, it looks pretty easy/straight forward; I did a search for "bulk" and it returns results that you can peek at individually and/or download as Open Data (XML/JSON) or as an Enterprise User (CSV/XLS).
NOTE: I have no clue what the difference between the two user types are, and the differentiation between data formats for each, in this context. Very interested about this, I am.
1) A lot of data is kept secret and is not open. It will be from official sources and also user contributed 2) Many networks offer API access though so (within limits) you don't need the entire dataset, you just need to know how to construct an AJAX request in your form where people add work position
For Facebook the ATLAS API has a company object within the Organization endpoint:
Building on Mat's answer, proprietary information is available, but here are a few open source approaches:
Anything past this, go down to your local library and access the list of companies via InfoGroup's ReferenceUSA. The huge flag on this data approach is the proprietary nature of the database.