With the new v2 of LinkedIn API, how do we apply for r_1st_connections scope to be added to our apps? Or any scopes other than the barest minimum?
(Background: There have been some other attempts to get LinkedIn to respond to this, but so far no luck. Having attempted through their website to find the correct person to contact, I have been consistently diverted here, being told to tag my requests with #LinkedIn and they will be read by the appropriate persons! The API promises a lot, but delivers way short of anything that would appear useful to a developer.)
Related
I want to create a webpage where users can access their education records from LinkedIn (which are then plotted on a timeline).
Using OAuth, I was only able to access my Name and Profile picture. It seems like LinkedIn heavily restricts access, even if users give their explicit consent. I don't see any way to request the scopes needed to request the education section of my profile. A similar experience is also outlined in this medium article:
The frustrations of dealing with the LinkedIn API
Alternatively, people have suggested using Selenium to scrape the public profiles of users. However, LinkedIn has taken up multiple legal fights against scrapers, so obviously they are not ok with it.
Considering that I want to build a service that benefits LinkedIn users and that I only want to access information of users that give their explicit consent to do so, it seems odd to me that this should not be possible on LinkedIn. Is there any way of doing this in 2023? I know similar questions have been asked before, but LinkedIn changed their policy quite a few times as far as I'm aware and previous questions date back many years.
Years ago, someone asked on Stack Overflow if it were possible to retrieve a list of all employees who work at a company. I can do this through the LinkedIn UI, but I cannot seem to find any mechanism for this using the v2 API. The SO response mentions this used to be possible on the v1 API, but you had to request access through LinkedIn's "Vetted API Access Program." Unfortunately, the link on this response is now obsolete and does not send users to any such program.
How could I apply for this program nowadays? This is a specific situation to me and my company, so I would very much like to discuss this with someone at LinkedIn if some form of this Vetted API Access Program still exists. I do not wish to disclose the details of this request to the open internet.
I have confirmed through contacts inside LinkedIn that this API functionality has been removed. No further information has been provided, and LinkedIn tech support refuses to comment any more on this issue. Furthermore, no LinkedIn engineers will comment on this thread here.
This is bizarre since any regular user can do this functionality through the web front-end, but for some reason LinkedIn believes this would be a violation of privacy/security if we could do this programmatically.
Therefore, the only way to obtain this data would be through screen scraping. I wish I had better news, and I wish that LinkedIn would provide some reasoning for their changes, but alas this is where we are.
I just posted a very similar question because I ran into the same problem as you.
The application forms for Linkedin's current partner programs seem to be located here, however I can't tell you which one of those programs comes with the necessary API access rights and I am in general not sure if this API request is still allowed.
Edit: The Linkedin Help page states that applications for partner programs are currently unavailable?
In general, you can get a list of employees of a company if you scrape Linkedin profiles exhaustively, or if you have an exhaustive dataset of Linkedin profiles.
Each Linkedin profile contains a list of experiences that links to the company profile URL.
Thereafter, you will filter the dataset into profiles currently working at X company to get a list of employees currently working in a company. The same technique can also be used to retrieve a list of past employees.
And that is what we did. We scraped all public Linkedin profiles based in the US and made an alternative API known as Proxycurl Employee Listing API to Linkedin API to provide employee listing functionality.
Proxycurl's Employee Listing API will never be as exhaustive as Linkedin's dataset because not all profiles are made public, but most are. But will suffice to meet your needs.
I've pored over the LinkedIn developer documentation for api v2, and can't find any endpoints or documentation which provides me with a given company's list of jobs. Does anyone know if this is still possible using API v2, and if so, can anyone point me at documentation for this specific use case of their API or give me an example URI for requesting this data?
Thank you!
p.s. This SO post seems to be the most relevant, but it doesn't provide me with a solid answer as it is rather old and refers to api v1 endpoints and functionality: Retrieve job postings for a specific company using LinkedIn's API
Apparently this is not yet possible with v2. But what I could suggest is that you look at how LinkedIn carries out the job search on their own website. They use Voyager service which pretty much having the endpoints you'll ever need to get your work done.
Have a look: https://linkedin.api-docs.io/v1.0/search/yKaMAGcbmsJBswTCb
Press F12 and inspect the XHR requests flowing out to LinkedIn website when you do a job search. It will give you a lot of hints ;)
I inherited a program that was written with the old LinkedIn API, and I'm trying to migrate it to the new API. When I try to get the r_basicprofile permission, my oauth token works. However, when I try r_network or rw_nus, I get a response
invalid scope -- your application has not been authorized for
r_network.
Yet, when I go to www.linkedin.com/developer/apps/xxxx/auth, the boxes for r_network and rw_nus are checked.
I.e., A request to
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=xxxxxx&scope=r_basicprofile&state=yyyy&redirect_uri=http%3A%2F%2Fkalatublog.com%2Fwp-content%2Fmu-plugins%2Fimb-en%2Fhelpers%2Fsocial-connect%2Fapi%2Ffinalize.php%3Fapi%3Dlinkedin%26ch%zzzzz
works, but a request to
https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=xxxxxx&scope=r_network&state=yyyy&redirect_uri=http%3A%2F%2Fkalatublog.com%2Fwp-content%2Fmu-plugins%2Fimb-en%2Fhelpers%2Fsocial-connect%2Fapi%2Ffinalize.php%3Fapi%3Dlinkedin%26ch%zzzzz
gives that error. What am I doing wrong?
As of May 15,
After the grace period expires, several REST API endpoints will no longer be available for general use. The following endpoints are the only ones that will remain available for use:
Profile API — /v1/people/~ `
Share API — /v1/people/~/shares
Companies API — /v1/companies/{id}
If your application is currently using any other API services (e.g. Connections, Groups, People Search, Invitation, Job Search, etc.) you will have to apply to become a member of a relevant Partner Program that provides the necessary API access to continue to leverage any of the endpoints that are not listed above.
It looks like linkedin no longer wants to share anything with their API. Creating a new app indicates that the only possible options are r_basicprofile, r_emailaddress, rw_company_admin, and w_share:
TLDR: they have locked down the API and restricted the usage to an extremely limited set of access points.
I did some more digging. The linkedin website is misleading. On my app linkedin page, it says that I'm approved for rw_nus and r_network, but on this page
https://developer.linkedin.com/support/developer-program-transition
it says those are no longer approved.
So the app home page in linkedin incorrectly said I had those permissions.
Heres the link if you want to Apply for Linkedin
https://help.linkedin.com/app/ask/path/api-dvr
I am trying to get latest 3 public activities of our company from linkedin (ex: http://www.linkedin.com/company/4043/activity) and present it on our website but unfortunately I dont see a clear explanation to do so in the API documentations. I registered an API Key but I am confused if I need to do OAuth if so against what and then what API to call to get publicly available info?
Is OAuth really needed for something that is available?
Can I store an OAuth token for an internal user and keep fetching data on that? I would really do not want to authenticated the site visitors with oauth to get free linkedin content.
This question is on the lines of this one, but I still wanted to ask and see if I could get a better response/answer.
To get the company updates from the LinkedIn API, you will need to reference the following document:
https://developer.linkedin.com/reading-company-updates
The API is currently in preview mode, but the above document addresses your question re: OAuth as well as shows the specific calls as well as sample output. If you have any questions after reviewing the docs, please feel free to visit our developer forums at:
https://developer.linkedin.com/forums/rest
And one of someone from our team would be more than happy to help you further.
Enjoy!
-Jeremy