The ultimate guide to Proxycurl's LinkedIn Jobs API (with sample code)

Table of contents

Introduction

LinkedIn is the largest professional social network in the world. Over 49 million people use LinkedIn weekly to search for jobs, and at least six people are hired every minute.

For authorized third parties such as Applicant Tracking Systems (ATS), LinkedIn provides a Job Posting API, enabling developers to post job openings to LinkedIn directly from their apps or websites.

However, if you are building a job board website or working for an HR company, you will realize that LinkedIn does not have an official API for listing jobs directly from its platform.

To solve this challenge, Proxycurl by Nubela provides a suite of LinkedIn APIs that give you access to rich data available on LinkedIn.

In this article, you will learn how to use Proxycurl's LinkedIn Jobs API endpoints - Jobs Listing Endpoint and Job Profile Endpoint to get job data from LinkedIn.

What is Proxycurl API?

Proxycurl API is a collection of API endpoints designed to serve as plumbing for both new and existing data in your application. It is a fully-managed layer between your application and raw data, enabling you to concentrate on developing the application rather than worrying about data scraping and processing.

Moreso, Proxycurl is an enrichment API. Compared to other related APIs, it scrapes LinkedIn data in real time, providing its users with a freshness guarantee and contact information of people's profiles.

Why you should use Proxycurl API

If you are a job board or an HR tech company, Proxycurl API will power your product with the abilities such as:

  • Looking up people and companies
  • Enriching people and company (LinkedIn) profiles
  • Fetch work emails, personal emails and phone numbers of any LinkedIn profile

And more. You gain these capabilities without the hassle of building your web scraping and data science team.

Getting Started

This article will show you how to use ProxyCurl's job API to fetch job listings from a target company on LinkedIn using cURL, a command line tool that enables data transfer over various network protocols.

Below are the steps we will cover:

Prerequisites

Understanding this article requires the following:

  • A Proxycurl account. Create a free one here.
  • Basic knowledge of working with APIs.
  • Basic knowledge of working with the terminal.

Knowing these, let's get started!

Getting Your API Key

To use Proxycurl's Job API, you need an API key to make requests to the endpoints. Proxycurl provides you with ten free credits for trial, and each successful request made to the API costs one credit. You can top up your account from your dashboard to get additional credits, but we will use the free ten credits in this article.

In your browser, navigate to the API Key and Billing tab in your Proxycurl dashboard, then copy the "Bearer Token (API Key)":

Get API Key from the Proxycurl's dashboard

Getting Your Company's Search ID

You need a search id, a unique identifier that enables you to list jobs with any company on LinkedIn. We'll use this as a parameter to query the job listing endpoint.

To do that, you will use Proxycurl's Company Profile Endpoint to get your company's search id.

To verify if you have curl installed, open your PC's terminal and run the command below:

curl --version

If it's installed, you'll see something similar to this in your terminal:

If you see this, it means `curl` is installed.

Next, run the following command with your target company's LinkedIn Profile URL to get its search ID:

 curl \
    -X GET \
    -H "Authorization: Bearer <YOUR_API_KEY>" \
    'https://nubela.co/proxycurl/api/linkedin/company?resolve_numeric_id=true&categories=include&funding_data=include&extra=include&exit_data=include&acquisitions=include&url=https%3A%2F%2Fwww.linkedin.com%2Fcompany%2F<COMPANY_PROFILE_ID>%2F&use_cache=if-present'

Replace YOUR_API_KEY with your Proxycurl API Key and COMPANY_ID with your target company's LinkedIn profile vanity ID. In this article, you will use apple as your company's name.
A successful response will be similar to this:

{
    "linkedin_internal_id": "162479",
    "description": "We\u2019re a diverse collective of thinkers and doers, continually reimagining what\u2019s possible to help us all do what we love in new ways. And the same innovation that goes into our products also applies to our practices \u2014 strengthening our commitment to leave the world better than we found it. This is where your work can make a difference in people\u2019s lives. Including your own.Apple is an equal opportunity employer that is committed to inclusion and diversity. Visit apple.com/careers to learn more.",
    "website": "http://www.apple.com/careers",
    "industry": "Consumer Electronics",
    "company_size": [10001, null],
    "company_size_on_linkedin": 492591,
    "hq": {
        "country": "US",
        "city": "Cupertino",
        "postal_code": "95014",
        "line_1": "1 Apple Park Way",
        "is_hq": true,
        "state": "California"
    },
    "company_type": "PUBLIC_COMPANY",
    "founded_year": 1976,
    "specialities": [
        "Innovative Product Development",
        "World-Class Operations",
        "Retail",
        "Telephone Support"
    ],
    "locations": [
        {
            "country": "US",
            "city": "Cupertino",
            "postal_code": "95014",
            "line_1": "1 Apple Park Way",
            "is_hq": true,
            "state": "California"
        }
    ],
    "name": "Apple",
    "tagline": null,
    "universal_name_id": "apple",
    "profile_pic_url": "https://s3.us-west-000.backblazeb2.com/proxycurl/company/apple/profile?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=0004d7f56a0400b0000000001%2F20220909%2Fus-west-000%2Fs3%2Faws4_request&X-Amz-Date=20220909T092525Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=4ab9c41fe8ab11be307d0a028efe92873112072fcada61b43e77309bb2e81436",
    "background_cover_image_url": "https://s3.us-west-000.backblazeb2.com/proxycurl/company/apple/cover?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=0004d7f56a0400b0000000001%2F20220909%2Fus-west-000%2Fs3%2Faws4_request&X-Amz-Date=20220909T092525Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=da35e8270dd34d214803ccbafc5fe89e3e722ecda467347a434a1df4efac8b43",
    "search_id": "162479",
    {...},
    {...}
}

Your company's search id is the linkedin_internal_id gotten from your response: 162479. Next, we will use this search id to fetch jobs posted by our target company.

Summary

LinkedIn Jobs API is perfect if you need to automate push-oriented operations such as posting a new job. If you would like to pull data oriented around jobs postings by other companies, Proxycurl's Job API is the perfect candidate for the job if you're seeking for something that works out of the box and professionally managed.

Get started now! if you have any questions with regards to Proxycurl's Job API, send us an email at hello@nubela.co