A simple library that allows you to access the biggest database of job offers in Spain through the Infojobs RESTful API.
$ npm install infojobs
In order to be able to use this library you must first go to the Infojobs developer site and create an account.
Basic usage:
const infojobs = require('infojobs')
const search = infojobs({
id: 'api_id',
secret: 'api_secret'
}) // => these credentials are obtained on https://developer.infojobs.net/
search()
.offer()
.run()
.then( response => {
console.log(response) // => by default you will receive 20 results.
}).catch(console.log)
You can narrow the search by passing a literal object containing a query:
search()
.offer({
q: 'Java developer',
province: 'Madrid',
companyName: 'Santander Group'
})
.run()
.then( response => {
console.log(response) // => by default you receive 20 results.
}).catch(console.log)
Some properties accept multiple options, in that case you can pass a property array like so:
search()
.offer({
q: ['Java developer', 'Analista'],
province: ['Madrid', 'Barcelona'],
companyName: 'Santander Group'
})
.run()
.then( response => {
console.log(response) //
}).catch(console.log)
You can retrieve a specific job offer by specifying its id using the id method:
search()
.offer()
.id('jobOfferId234234234414')
.run()
.then( reponse => {
console.log(response)
}).catch(console.log)
Unless specified, the Infojobs API will return 20 results per query. If you want to loop through all the results you can use the pages() function like so:
const search = infojobs(credentials)
const javaJobsInMadrid = search().offer({q: 'java', province: "Madrid"})
for await (const page of javaJobsInMadrid.pages()) {
console.log("Page => ", page) //
}
Initializes the library and performs the authentication.
You can find the list of available query fields here.
Specifies a job id.
Executes the query against the Infojobs RESTful API.
Returns an Async Iterator that allows you to iterate through the pages.
Node.js version >=10.0.0.
All contributions are welcome.
MIT © Alvaro Bernal