Partager via


Company & Locations Lookup

Overview

When creating a job posting on LinkedIn, it is crucial to ensure that the location string and companyId are properly formatted. To facilitate this process for our partners, LinkedIn will be launching two optional typeahead search APIs. These APIs will enable partners to help their customers post job openings to specific locations and under their own company IDs.

Note

  • The implementation of the Company and Locations finder API is now optional.
  • We will be updating our Job-posting schema document to include the location urn.

Location Lookup API Overview

Use the /jobPostingGeoLocations API to typeahead search a location based on provided input. When utilizing this API, the partner will input a location string and an optional locale. The API will then generate a list of corresponding geo locations, complete with the geo location name (displayText) and LinkedIn geo URN (entity).

API Endpoint

Use the following endpoint to typeahead search a location:

GET https://api.linkedin.com/rest/jobPostingGeoLocations?q=search&location='<Location_Name>'

API Authorization

All requests below require access tokens obtained via the OAuth2.0 Client Credentials flow.

Important

  • We strongly recommend to use same access token for all concurrent and consecutive calls. An access token has a lifespan of 30 mins. Only on expiry of the existing token, new token should be generated.

Location finder schema

The API will return a list of matching geo locations including the geo location name (displayText) and LinkedIn geo URN (entity).

Request Schema

Field Description Type Required
location The location name with url-encoded formatting (e.g. ”santa%20cruz”) String Required
locale The locale refers to the language context of the provided location. If the locale is not provided or is not supported, the "en_US" locale will be utilized. Locale default=”en_US” Optional

Response Schema

Field Description Type Required
locationName The name of the standardized location. String Optional
geoUrn The geo URN of the location. URN Required

API Header

The header for making the request is Linkedin-Version: 202411.

Authorization: Bearer {token}
Linkedin-Version: 202411

Sample Location finder Request

https://api.linkedin.com/rest/jobPostingGeoLocations?q=search&location=California

Or

https://api.linkedin.com/rest/jobPostingGeoLocations?q=search&location=California&locale=en_US

Sample Location finder Response

{
    "elements": [
        {
            "geoUrn": "urn:li:geo:102095887",
            "locationName": "California, United States"
        },
        {
            "geoUrn": "urn:li:geo:103104382",
            "locationName": "Los Angeles County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:102448103",
            "locationName": "Los Angeles, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:105416315",
            "locationName": "Santa Clara County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:100737633",
            "locationName": "San Diego County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:105621717",
            "locationName": "Orange County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:100901743",
            "locationName": "San Francisco County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:102277331",
            "locationName": "San Francisco, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:102839053",
            "locationName": "Alameda County, California, United States"
        },
        {
            "geoUrn": "urn:li:geo:103918656",
            "locationName": "San Diego, California, United States"
        }
    ]
}

Note

  • Response Details.
  • The API will return a maximum of 10 locations
  • The generated list of locations will be sorted according to the best matching geolocations based on the search query.
  • The partner will then need to include the geoUrn as part of the /simpleJobPosting payload. For further information, please refer to the job-posting API schema.

CompanyId Lookup API Overview

Use the /jobPostingCompanies API to typeahead search a companyId based on provided input. When making use of this API, the partner will enter a company string. The API will then generate a list of matching LinkedIn company details, which will include the company vanity name (companyName) and LinkedIn company URN (organizationUrn).

API Endpoint

Use the following endpoint to search companies:

GET https://api.linkedin.com/rest/jobPostingCompanies?q=search&company='<Company_Name>'

API Authorization

All requests below require access tokens obtained via the OAuth2.0 Client Credentials flow.

Important

  • We strongly recommend to use same access token for all concurrent and consecutive calls. An access token has a lifespan of 30 mins. Only on expiry of the existing token, new token should be generated.

API Header

The header for making the request is Linkedin-Version: 202411.

Authorization: Bearer {token}
Linkedin-Version: 202411

Company finder schema

Request Schema

Field Description Type Required
company The company name with url-encoded formatting (e.g. ”LinkedIn%20Corporation”). String Required

Response Schema

Field Description Type Required
companyName The standardized name of the company. String Required
entityUrn The organization URN serves as a unique identifier for the company. URN Required

Sample Company finder Request

GET https://api.linkedin.com/rest/jobPostingCompanies?q=search&company=micro

Sample Company finder Response

{
    "elements": [
        {
            "companyName": "Microsoft",
            "entityUrn": "urn:li:organization:1035"
        },
	 {
            "companyName": "AMD",
            "entityUrn": "urn:li:organization:1497"
        },
	 {
            "companyName": "Micron Technology",
            "entityUrn": "urn:li:organization:3690"
        },
	 {
            "companyName": "Ingram Micro",
            "entityUrn": "urn:li:organization:2576"
        },
	 {
            "companyName": "Microchip Technology Inc.",
            "entityUrn": "urn:li:organization:6481"
        },
	 {
            "companyName": "MicroStrategy",
            "entityUrn": "urn:li:organization:3643"
        },
	 {
            "companyName": "micro1",
            "entityUrn": "urn:li:organization:81490090"
        },
	 {
            "companyName": "MicroVention-Terumo",
            "entityUrn": "urn:li:organization:93302"
        },
	 {
            "companyName": "Sun Microsystems",
            "entityUrn": "urn:li:organization:1062"
        },
	 {
            "companyName": "Trend Micro",
            "entityUrn": "urn:li:organization:4312"
        }
    ]
}

Note

  • Response Details.
  • The API will return a maximum of 10 companies
  • Response will be sorted according to the best matching company names based on the search query.

Error Codes

Given below is a list of possible error codes that can display while utilizing Company / Locations finder. One of the following responses is returned, that contains a JSON object with a status and a message about the error.

HTTP CODE RESPONSE STATUS ERROR MESSAGE DESCRIPTION RESOLUTION
404 404 RESOURCE_NOT_FOUND No virtual resource found Url request is not properly formatted. Make sure to add q=search in the url parameter
400 400 INVALID_VERSION API versions should have date format as YYYYMM Location & Company finder is a versioned API. Make sure to use proper version
401 401 [65600] INVALID_ACCESS_TOKEN Authorization token has expired, usually it has 30 minute life To retry the operation, please regenerate the authorization token and pass it in the API header.