linkedin-jobs-api
Version:
advanced node.js package for getting job listings from LinkedIn
131 lines (105 loc) • 5.99 kB
Markdown
<div align="center">
<h1> <img src="https://www.freepnglogos.com/uploads/linkedin-logo-design-30.png" width="80px"><br/>LinkedIn Jobs API</h1>
<a href="https://itsvg.in" target="_blank"><img src="https://img.shields.io/badge/Creator-Vishwa%20Gaurav-blue"/></a>
<img src="https://img.shields.io/npm/v/linkedin-jobs-api?label=%20"/>
<img src="https://img.shields.io/npm/dt/linkedin-jobs-api">
<img src="https://img.shields.io/snyk/vulnerabilities/github/VishwaGauravIn/linkedin-jobs-api"/>
<img src="https://img.shields.io/badge/License-GPL%20v3-brightgreen"/>
<img src="https://img.shields.io/github/languages/code-size/VishwaGauravIn/linkedin-jobs-api?logo=github">
</div>
## Features
- ⚡ Lightening Fast
- ✨ Minimal
- 🪶 Lightweight
- 🔥 Advanced Filters
- 🤩 Support all Frameworks
## How to Install ?
Use npm or yarn to install this npm package
```
npm i linkedin-jobs-api
```
or
```
yarn add linkedin-jobs-api
```
Include the package
```
const linkedIn = require('linkedin-jobs-api');
```
Basic Example:
```
const linkedIn = require('linkedin-jobs-api');
const queryOptions = {
keyword: 'software engineer',
location: 'India',
dateSincePosted: 'past Week',
jobType: 'full time',
remoteFilter: 'remote',
salary: '100000',
experienceLevel: 'entry level',
limit: '10',
page: "0",
has_verification: false,
under_10_applicants: false,
};
linkedIn.query(queryOptions).then(response => {
console.log(response); // An array of Job objects
});
```
## Query Object Parameters
query() accepts a _queryOptions_ object and returns an array of _Job_ objects.
| Parameter | LinkedIn Default value | Description |
| :-------------: | :--------------------: | :-------------------------------------------------------------------------------------------------------: |
| keyword | "" | _string_ - The text to search: (i.e. Software Developer) |
| location | "" | _string_ - The name of the city: (i.e. Los Angeles) |
| dateSincePosted | "" | _string_ - Max range of jobs: `past month`, `past week`, `24hr` |
| jobType | "" | _string_ - Type of position: `full time`, `part time`, `contract`, `temporary`, `volunteer`, `internship` |
| remoteFilter | "" | _string_ - Filter telecommuting: `on site`, `remote`, `hybrid` |
| salary | "" | _string_ - Minimum Salary: `40000`, `60000`, `80000`, `100000`, `120000` |
| experienceLevel | "" | _string_ - `internship`, `entry level`, `associate`, `senior`, `director`, `executive` |
| limit | "" | _string_ - Number of jobs returned: (i.e. '1', '10', '100', etc) |
| sortBy | "" | _string_ - `recent`, `relevant` |
| page | "0" | _string_ - `0`, `1`, `2` .... |
|has_verification | `false` | _boolean_ - `true` / `false` |
| under_10_applicants | `false` | _boolean_ `true` / `false` |
## Job Objects
| Paramter | Description (Default: null) |
| :---------: | :---------------------------------: |
| position | _string_ - Position title |
| company | _string_ - Company name |
| companyLogo | _string_ - Company Logo |
| location | _string_ - Location of the job |
| date | _string_ - Date the job was posted |
| agoTime | _string_ - time since it was posted |
| salary | _string_ - Salary range |
| jobUrl | _string_ - URL of the job page |
## Example Response
```json
[
{
"position": "Human Resources Administrator",
"company": "The Hub",
"companyLogo": "https://static.licdn.com/aero-v1/sc/h/9a9u41thxt325ucfh5z8ga4m8",
"location": "India",
"date": "2023-11-20",
"agoTime": "2 days ago",
"salary": "",
"jobUrl": "https://in.linkedin.com/jobs/view/human-resources-administrator-at-the-hub-3765436573?refId=rWSjK9izzZ1ZNnUZYzqp8Q%3D%3D&trackingId=X6uox0Xk%2FRQmqkuHpO%2BdrQ%3D%3D&position=1&pageNum=0&trk=public_jobs_jserp-result_search-card"
}
]
```
## Our Sponsor
<a href="https://nubela.co/proxycurl?utm_campaign=influencer_marketing&utm_source=github&utm_medium=social&utm_content=vishwagauravin_linkedin-jobs-api" target="_blank"><img src="https://github.com/VishwaGauravIn/linkedin-jobs-api/assets/81325730/afe16626-f05e-421b-a054-6aef1d1aec10" width="200px"/></a>
Scrape public LinkedIn profile data at scale with [Proxycurl APIs](https://nubela.co/proxycurl?utm_campaign=influencer_marketing&utm_source=github&utm_medium=social&utm_content=vishwagauravin_linkedin-jobs-api).
• Scraping Public profiles are battle tested in court in HiQ VS LinkedIn case.<br/>
• GDPR, CCPA, SOC2 compliant<br/>
• High rate limit - 300 requests/minute<br/>
• Fast - APIs respond in ~2s<br/>
• Fresh data - 88% of data is scraped real-time, other 12% are not older than 29 days<br/>
• High accuracy<br/>
• Tons of data points returned per profile
## Contributing
Feel free to contribute!
1. Fork the repository
2. Make changes
3. Submit a pull request