Jobs API

FREEMIUM
By Patrick | Updated 6 days ago | Jobs
Popularity

9.7 / 10

Latency

614ms

Service Level

100%

Health Check

100%

Followers: 5
API Creator:
Rapid account: Patrick
Patrick
Pat92
Log In to Rate API
Rating: 4.7 - Votes: 3

README

Table of content

  • 1 Introduction
  • 2 Job search
    • 2.1 Request
      • 2.1.1 Request-Parameter Table
      • 2.1.2 Basic request
      • 2.1.3 Advanced request
    • 2.2 Response
      • 2.2.1 Response-Body Table
      • 2.2.2 Example responses
      • 2.2.3 Successful example response
      • 2.2.4 Failed example response
  • 3 Get job titles
    • 3.1 Request
      • 3.1.1 Request-Parameter Table
      • 3.1.2 Example request
    • 3.2 Response
      • 3.2.1 Response-Body Table
      • 3.2.2 Successful example response
      • 3.2.3 Failed example response
  • 4 Get salary range
    • 4.1 Request
      • 4.1 Request-Parameter Table
      • 4.2 Example request
    • 4.2 Response
      • 4.2.1 Response-Body Table
      • 4.2.2 Successful example response
      • 4.2.3 Failed example response

1 Introduction

This API allows you to discover employment opportunities from various providers, including but not limited to LinkedIn, Indeed, Jooble, ZipRecruiter, Glassdoor, and many other sources.

With this Google Jobs web scraping API, you can retrieve a list of employment opportunities worldwide from an array of providers.

2 Job search

2.1 Request

While only query and location are required, you can use multiple parameters to get responses more specified to your search.

2.1.1 Request-Parameter Table

Key Type Allowed values Default value Description Is required Example
query String - - Keywords, job title, Company name or any other relevant search query. Yes query=developer
location String - - City, country, or any other location. Yes location=switzerland
distance Number - -1.0 Distance to the location in kilometers, if empty -1.0 is set, and all jobs within the country will be returned. No distance=-1.0
language String - en_GB Sets the language of the following return fields (location, employmentType, datePosted and salaryRange), but does not filter by language. Important: If you want the values in English, either don’t use this field or use ‘en_GB’, other variants will not work. No language=de
remoteOnly Boolean - false Filter by only remote job postings. No remoteOnly=true
datePosted String month, week, today, 3days Empty String (Returns all values no matter when they are posted). Only receive job postings that are newer than the date given, takes all job postings if not set. No datePosted=month
employmentTypes Strings, separated by a semicolon contractor, fulltime, parttime, intern Empty String (Returns all values no matter the employment type). Only receive job postings with the specific employment types. You can use multiple types and separate them with semicolons (parttime;internship). No employmentTypes=fulltime;parttime;intern;contractor
allowedJobProviders Strings, separated by a semicolon - Empty String (Returns all values no matter the job provider). Only receive job postings from specific job providers. You can use multiple providers and separate them with semicolons (ziprecruiter;indeed;linkedin). Note: It currently works only with bigger providers like Indeed, LinkedIn, etc. No allowedJobProviders=ziprecruiter;indeed;linkedin
index Number - 0 Index of the search, per request you will get a maximum of 10 jobs. If you have received a total of 10 jobs, you can increase the index by 1 to get the next results. No index=1

2.1.2 Basic request

https://jobs-api14.p.rapidapi.com/list?query=developer&location=switzerland

query=developer Jobs with the developer keyword will be returned.

location=switzerland Jobs within Switzerland will be returned.

This request will return the first 10 results of developer jobs in Switzerland.
The results will be in English, all employment types and job providers will be returned.

2.1.2 Advanced request

https://jobs-api14.p.rapidapi.com/list?query=developer&location=zurich&datePosted=month&allowedJobProviders=ziprecruiter;indeed;linkedin&remoteOnly=true&distance=2&employmentTypes=fulltime;parttime&language=de&index=1

query=developer Jobs with the developer keyword will be returned.

location=zurich Jobs within Zurich will be returned.

datePosted=month Jobs posted within the last month will be returned.

allowedJobProviders=ziprecruiter;indeed;linkedin Jobs that have been posted on at least one of the selected providers will be returned.

remoteOnly=true Only remote jobs will be returned.

distance=2 Jobs within a 2km radius around the location (Zurich) will be returned.

employmentTypes=fulltime;parttime Only full- and part-time jobs will be returned.

language=de The results will be in German (de), meaning, employmentType, datePosted and salaryRange are translated.

index=1 The second batch of results will be returned, you can use this parameter if the previous index returned a total of 10 results.

2.2 Response

You will receive a list of jobs in the JSON-Format, the maximum amount of jobs per request is 10.
In case of an error, the boolean hasError will be true and the array errors will contain the error messages.

2.2.1 Response-Body Table

Key Type Description Example
jobs Array A list of returned jobs. -
jobs.id String Base64 ID of the job-listing. SSxOLEYsTyxSLE0sQSxULE8sUixNLE8sUixHLEEsTiwgLFMsUixMLDEsUixlLGcsZyxpLG8sICxDLGE=
jobs.title String Job title. WEB API DEVELOPER
jobs.company String Company name. Cymertek
jobs.description String Job description. Are you looking to make an immediate impact where you can help our clients solve their business challenges? …
jobs.image String URL of the company image/logo. https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSbop_lf6kXe-57QmM6hiXKfivG8wHVyXNspllG&s=0
jobs.location String Location of the job/company. Rose Hill, VA
jobs.employmentType String Types of employment for the job listing. Full-time and Contractor
jobs.datePosted String Date when the job listing was posted. 5 days ago
jobs.salaryRange String The salary range for the job posting. CHF 160K–CHF 220K a year
jobs.jobProviders Array An array of job boards, including their name and the URL. -
jobs.jobProviders.jobProvider String Name of the job provider. LinkedIn
jobs.jobProviders.url String URL to the job provider, for applying. https://ch.linkedin.com/jobs/view/tools-engineers-software-developers-at-experis-switzerland
index Number The current index of the job search. 0
jobCount Number The amount of returned jobs, the maximum amount per request is 10. 10
hasError Boolean Boolean to check for errors. false
errors Array An array of error messages. [ “Query must be set”, “Location must be set” ]

2.2.2 Example response

2.2.3 Successful example response

{
    "jobs": [
        {
            "id": "VyxlLGIsICxELGUsdixlLGwsbyxwLGUscixELGUsbSxhLG4sdCxTLHkscixhLGMsdSxzLGUsLCwgLE4=",
            "title": "Web Developer",
            "company": "Demant",
            "description": "As a Web Developer at CQ Partners, you will be a leader in the structuring, maintaining, and facilitating of websites and web-based applications...",
            "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQAkPEjEwMeJizfsnGN-qUAEw8pmPdk357KIzsi&s=0",
            "location": "Syracuse, NY",
            "employmentType": "Full-time",
            "datePosted": "17 hours ago",
            "salaryRange": "",
            "jobProviders": [
                {
                    "jobProvider": "LinkedIn",
                    "url": "https://www.linkedin.com/jobs/view/web-developer-at-demant-3904417702?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                },
                {
                    "jobProvider": "ZipRecruiter",
                    "url": "https://www.ziprecruiter.com/c/Demant/Job/Web-Developer/-in-Syracuse,NY?jid=f9bf23bf36cdcfef&utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                }
            ]
        },
        {
            "id": "VyxlLGIsICxELGUsdixlLGwsbyxwLGUsciwsLCAsVSxYLC8sVSxJLCwsICxCLHIsYSxuLGQsaSxuLGc=",
            "title": "Web Developer, UX/UI, Branding, Graphics",
            "company": "ADG Creative",
            "description": "Degree required: Bachelor’s degree in relevant field...",
            "image": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSV7-v1EkEhWtAh8W8WaqPD6vMQG2uBi0GOOOmb&s=0",
            "location": "Columbia, MD",
            "employmentType": "Full-time",
            "datePosted": "1 day ago",
            "salaryRange": "",
            "jobProviders": [
                {
                    "jobProvider": "LinkedIn",
                    "url": "https://www.linkedin.com/jobs/view/web-developer-ux-ui-branding-graphics-at-adg-creative-3903771314?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                }
            ]
        },
        {
            "id": "VyxlLGIsICxELGUsdixlLGwsbyxwLGUscixNLHksICxCLHUscyxpLG4sZSxzLHMsICxSLGUscyxvLHU=",
            "title": "Web Developer",
            "company": "My Business Resource",
            "description": "About Us:\n\nFounded in 2010, Social Firm is a team of expert digital marketers and designers...",
            "image": "https://fonts.gstatic.com/s/i/googlematerialicons/event_available/v16/gm_grey-24dp/1x/gm_event_available_gm_grey_24dp.png",
            "location": "Columbus, OH",
            "employmentType": "Full-time",
            "datePosted": "1 day ago",
            "salaryRange": "",
            "jobProviders": [
                {
                    "jobProvider": "Indeed",
                    "url": "https://www.indeed.com/viewjob?jk=0c9c91e70ef724c7&utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                },
                {
                    "jobProvider": "Glassdoor",
                    "url": "https://www.glassdoor.com/job-listing/web-developer-my-business-resource-JV_IC1145845_KO0,13_KE14,34.htm?jl=1009241240100&utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                },
                {
                    "jobProvider": "ZipRecruiter",
                    "url": "https://www.ziprecruiter.com/c/My-Business-Resource/Job/Web-Developer/-in-Columbus,OH?jid=93f3642519fcbd86&utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                },
                {
                    "jobProvider": "Jooble",
                    "url": "https://jooble.org/jdp/4904332409982181233?utm_campaign=google_jobs_apply&utm_source=google_jobs_apply&utm_medium=organic"
                }
            ]
        }
    ],
    "index": 0,
    "jobCount": 3,
    "hasError": false,
    "errors": []
}

2.2.4 Failed example response

{
    "jobs": [],
    "index": 0,
    "jobCount": 0,
    "hasError": true,
    "errors": [
        "Query must be set",
        "Location must be set"
    ]
}

3 Get job titles

This endpoint gives you valid job titles for your query, you should use it before calling Get salary range,
you can for instance use it as a dropdown if you create an app or website.

3.1 Request

For the request two parameters can be set, those are both required.

3.1.1 Request-Parameter Table

Key Type Allowed values Default value Description Is required Example
query String - - Find job titles from your query to use in Get salary range. Yes query=developer
countryCode String - - Find job titles for a specific country. (for example: DE, US, CH) Yes countryCode=CH

3.1.2 Example request

https://jobs-api14.p.rapidapi.com/salary/getJobTitles?query=web developer&countryCode=CH

query=web developer Find valid job titles for web developer that you can use in the Get salary range endpoint as jobTitle

countryCode=CH Find job titles for a specific country, you should use the same country code in Get salary range.

3.2 Response

You will retrieve a list of valid job titles, to use in Get salary range.

3.2.1 Response-Body Table

Key Type Description Example
jobTitles Array A list of returned jobs titles. -
jobTitles.jobTitle String A job title you can use to get the salary range for. “jobTitle”: “software engineer”
jobTitles.count Number The amount of positions for the title. “count”: 1658
hasError Boolean Boolean to check for errors. false
errors Array An array of error messages. [ “Query must be set”, “countryCode must be set” ]

3.2.2 Successful example response

{
    "jobTitles": [
        {
            "jobTitle": "software engineer",
            "count": 1658
        },
        {
            "jobTitle": "full stack developer",
            "count": 1577
        },
        {
            "jobTitle": "front end developer",
            "count": 1396
        },
        ...
    ],
    "hasError": false,
    "errors": []
}

3.2.3 Failed example response

{
    "jobTitles": [],
    "hasError": true,
    "errors": [
        "Query (query) must be set.",
        "Country code (countryCode) must be set."
    ]
}

4 Get salary range

This endpoint will give you a salary range for a job title and a country.
You can get valid job titles with the Get job titles endpoint.

4.1 Request

For the request two parameters can be set, those are both required.

4.1.1 Request-Parameter Table

Key Type Allowed values Default value Description Is required Example
jobTitle String - - The job title you want the salary range from. use Get job titles for valid titles… Yes jobTitle=front end developer
countryCode String - - The country you want the salary range from. (for example: DE, US, CH) Yes countryCode=CH

4.1.2 Example request

https://jobs-api14.p.rapidapi.com/salary/getSalaryRange?jobTitle=front end developer&countryCode=CH

jobTitle=front end developer Get the salary range for front end developer, use Get job titles beforehand to get a range of valid titles.

countryCode=CH Get the salary range in the defined country, in this case, CH=Switzerland.

4.2 Response

Get a salary range for different timeframes.

4.2.1 Response-Body Table

Key Type Description Example
countryCode String Country code where the salary range is from. “countryCode”: “CH”
country String Country name of where the salary range is from. “country”: “Switzerland”
currency String Currency of the salaries. “currency”: “CHF”
lastUpdatedTimestamp Number Timestamp of when the range was last updated. “lastUpdatedTimestamp”: 1713329692000
[TIMEFRAME]Salary Object OR Null Object of the salary ranges, you have a total of five of those objects (hourlySalary, dailySalary, weeklySalary, monthlySalary, yearlySalary). -
[TIMEFRAME]Salary.median Number Median salary for the job title. “median”: 60.12896725481883
[TIMEFRAME]Salary.mean Number Mean salary for the job title. “mean”: 61.488705395676206
[TIMEFRAME]Salary.min Number Minimum salary for the job title. “min”: 45.854336981068094
[TIMEFRAME]Salary.max Number Maximum salary for the job title. “max”: 78.84734446435897
hasError Boolean Boolean to check for errors. false
errors Array An array of error messages. [ “jobTitle must be set”, “countryCode must be set” ]

4.2.2 Successful example response

{
    "countryCode": "CH",
    "country": "Switzerland",
    "currency": "CHF",
    "lastUpdatedTimestamp": 1713329692000,
    "hourlySalary": {
        "median": 60.12896725481883,
        "mean": 61.488705395676206,
        "min": 45.854336981068094,
        "max": 78.84734446435897
    },
    "dailySalary": {
        "median": 740.5648367685038,
        "mean": 757.3117442958612,
        "min": 564.7545788970989,
        "max": 971.1054995410452
    },
    "weeklySalary": {
        "median": 1839.3029613115204,
        "mean": 1880.8963979406312,
        "min": 1402.6520269478895,
        "max": 2411.8849996250765
    },
    "monthlySalary": {
        "median": 7117.464736962775,
        "mean": 7278.416915436787,
        "min": 5427.777016632606,
        "max": 9333.158699532745
    },
    "yearlySalary": {
        "median": 100526.71940349606,
        "mean": 102800,
        "min": 76661.65373495193,
        "max": 131821.07118336027
    },
    "hasError": false,
    "errors": []
}

4.2.3 Failed example response

{
    "countryCode": "",
    "country": "",
    "currency": "",
    "lastUpdatedTimestamp": -1,
    "hourlySalary": null,
    "dailySalary": null,
    "weeklySalary": null,
    "monthlySalary": null,
    "yearlySalary": null,
    "hasError": true,
    "errors": [
        "Job title (jobTitle) must be set.",
        "Country code (countryCode) must be set."
    ]
}