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. |